|
70339
|
MausOS by @dahmaus | Stardance
|
dahmaus
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T19:29:07Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finally done with MausOS , the most swaggy WebOS you’ve ever seen! Swagged out with music , live wallpaper , games and more. Check it out :D", "repo": "https://github.com/DahMaus/MausOS", "demo": "https://dahmaus.github.io/MausOS"}]...
|
[{"post_id": 81029, "ts": "202 [{"post_id": 81029, "ts": "2026-10-19T16:49:01Z", "hours": 1.5219, "text": "MausOS release! :D apps swag windows even more swag"}, {"post_id": 80978, "ts": "2026-10-19T14:06:16Z", "hours": 1.1642, "text": "MausOS added live wallpaper topbar music :D"}, {"post_id": 80685, "ts": "2026-10-18T14:46:01Z", "hours": 0.2658, "text": "Part1 of doing my Own WebOS!"}]...
|
Title: MausOS by @dahmaus | Stardance
Devlogs:
Pa Title: MausOS by @dahmaus | Stardance
Devlogs:
Part1 of doing my Own WebOS!
MausOS added live wallpaper topbar music :D
MausOS release! :D apps swag windows even more swag
Ships:
Finally done with MausOS , the most swaggy WebOS you’ve ever seen! Swagged out with music , live wallpaper , games and more. Check it out :D...
|
1793001142.5459473
|
1793087542.5459473
|
|
70342
|
To do list by @Aisha_Shay | Stardance
|
Aisha_Shay
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T19:38:18Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a chrome extension for keeping track of tasks! I added a storage as well so this could even be used for long term projects. I found it fun it wasnt really that hard. I had a lot of fun doing the html and colours. This is one of my fist projects so i got to learn alot doing this. Long term tasks, short reminders and a way to easily keep track of things. I feel like this would be really helpful in general.", "repo": "https://github.com/flowerkeji-ux/ToDo-list-Extension", "demo": "https://flowerkeji-ux.github.io/ToDo-list-Extension/"}]...
|
[{"post_id": 81073, "ts": "202 [{"post_id": 81073, "ts": "2026-10-19T19:32:14Z", "hours": 1.4106, "text": "i Think this is my final vesion. I really enjoyed this"}, {"post_id": 80730, "ts": "2026-10-18T17:10:48Z", "hours": 0.2625, "text": "I made the icon. kept the font."}, {"post_id": 80708, "ts": "2026-10-18T16:14:02Z", "hours": 1.4539, "text": "To-Do list. cant think of a good name for it .working on the icons now. dont really like the font might change it"}]...
|
Title: To do list by @Aisha_Shay | Stardance
Devl Title: To do list by @Aisha_Shay | Stardance
Devlogs:
To-Do list. cant think of a good name for it .working on the icons now. dont really like the font might change it
I made the icon. kept the font.
i Think this is my final vesion. I really enjoyed this
Ships:
I made a chrome extension for keeping track of tasks! I added a storage as well so this could even be used for long term projects. I found it fun it wasnt really that hard. I had a lot of fun doing the html and colours. This is one of my fist projects so i got to learn alot doing this. Long term tasks, short reminders and a way to easily keep track of things. I feel like this would be really helpful in general....
|
1793001145.1370926
|
1793087545.1370926
|
|
70372
|
Tycoon game by @centcoder | Stardance
|
centcoder
|
1
|
13.0
|
55
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T19:54:57Z", "hours": 13.0, "multiplier": 4.2, "payout": 55, "blessing": "neutral", "text": "I made a tycoon game where you can upgrade your skills, your job and the goal is to get more money. You can acquire business/shops to get passive income and you can also invest in stock simulations! Enjoy!", "repo": "https://github.com/centcodergit/myfirstgame", "demo": "https://centcodergit.github.io/myfirstgame/"}]...
|
[{"post_id": 81297, "ts": "202 [{"post_id": 81297, "ts": "2026-10-20T18:22:36Z", "hours": 1.6514, "text": "I am DONE!!! -Finished the js Fixed any remaining bugs (Let’s go!) Publishing the game right now to! Go check it out if you want to!"}, {"post_id": 81273, "ts": "2026-10-20T16:02:24Z", "hours": 2.6847, "text": "I was mainly working on continuing the js but also fixed some bugs Bugs fixed: -Fixed the bug with the empty screen (blank screen) -Fixed some errors on the html and css (most were minor but there was a major one with the variables that took some time) Fixed bugs with the new file (the js) and connections with it with the html and css I will continue working on the js now and I think i will be done soon (can’t really show a result cause it is not something actual to see yet.) In the previous devlogs (which were a bit shorter) I was developing the html and css, there were some bugs there as mentioned but everything looks better (at least for now). I hope that the game will be out soon!"}, {"post_id": 80808, "ts": "2026-10-18T20:53:34Z", "hours": 3.4139, "text": "BROO I finally fixed some bugs on the css and progressing on the js. Game out soon i hope!"}, {"post_id": 80716, "ts": "2026-10-18T16:25:56Z", "hours": 5.4614, "text": "I finished the html (the bugs, at least for now) and currently working on the js and css"}]...
|
Title: Tycoon game by @centcoder | Stardance
Devl Title: Tycoon game by @centcoder | Stardance
Devlogs:
I finished the html (the bugs, at least for now) and currently working on the js and css
BROO I finally fixed some bugs on the css and progressing on the js. Game out soon i hope!
I was mainly working on continuing the js but also fixed some bugs Bugs fixed: -Fixed the bug with the empty screen (blank screen) -Fixed some errors on the html and css (most were minor but there was a major one with the variables that took some time) Fixed bugs with the new file (the js) and connections with it with the html and css I will continue working on the js now and I think i will be done soon (can’t really show a result cause it is not something actual to see yet.) In the previous devlogs (which were a bit shorter) I was developing the html and css, there were some bugs there as mentioned but everything looks better (at least for now). I hope that the game will be out soon!
I am DONE!!! -Finished the js Fixed any remaining bugs (Let’s go!) Publishing the game right now to! Go check it out if you want to!
Ships:
I made a tycoon game where you can upgrade your skills, your job and the goal is to get more money. You can acquire business/shops to get passive income and you can also invest in stock simulations! Enjoy!...
|
1793008353.530786
|
1793094753.530786
|
|
70373
|
My Game in Godot.. by @Siyam | Stardance
|
Siyam
|
1
|
4.54
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T07:28:39Z", "hours": 0.0, "multiplier": 1.05, "payout": 0, "blessing": "neutral", "text": "Welcome! This is a game, i have made this in godot. This is a ninja game, this ninja has to catch the stars, if you can catch the stars, ninja will win, otherwise he will died. That’s an awesome game, You should play it.", "repo": "https://github.com/Tanzil-Alam/My-Game-In-Godot-Engine", "demo": "https://siyam000111.itch.io/my-ninja-game"}]...
|
[{"post_id": 82548, "ts": "202 [{"post_id": 82548, "ts": "2026-10-25T06:11:42Z", "hours": 0.6169, "text": "Added my 4th game, pushed to github and published in itch.io"}, {"post_id": 82402, "ts": "2026-10-24T18:35:17Z", "hours": 1.9336, "text": "Made my 3rd game working. That’s working well."}, {"post_id": 82312, "ts": "2026-10-24T15:15:20Z", "hours": 0.79, "text": "Added settings, I made the settings button work."}, {"post_id": 82290, "ts": "2026-10-24T14:15:24Z", "hours": 0.4228, "text": "Updated the death and win scene."}, {"post_id": 82268, "ts": "2026-10-24T12:54:36Z", "hours": 0.4228, "text": "Gave some little updates, like increasing size, changing color, etc."}, {"post_id": 81571, "ts": "2026-10-21T18:29:37Z", "hours": 0.3522, "text": "I have added some small updates to the project. I’m not sure why the time wasn’t tracked properly earlier, but I’ve recorded the process this time using time-lapse. I truly hope for your understanding—the core game is fully complete, so there aren’t many remaining features to add. Thank you for your patience, and I apologize for any confusion with the time tracking."}, {"post_id": 80903, "ts": "2026-10-19T06:34:08Z", "hours": 0.2589, "text": "I have made a game in godot according the guide. it looks good, i played it. i have also published it in itch.io. everything is cool."}]...
|
Title: My Game in Godot.. by @Siyam | Stardance
D Title: My Game in Godot.. by @Siyam | Stardance
Devlogs:
I have made a game in godot according the guide. it looks good, i played it. i have also published it in itch.io. everything is cool.
I have added some small updates to the project. I’m not sure why the time wasn’t tracked properly earlier, but I’ve recorded the process this time using time-lapse. I truly hope for your understanding—the core game is fully complete, so there aren’t many remaining features to add. Thank you for your patience, and I apologize for any confusion with the time tracking.
Gave some little updates, like increasing size, changing color, etc.
Updated the death and win scene.
Added settings, I made the settings button work.
Made my 3rd game working. That’s working well.
Added my 4th game, pushed to github and published in itch.io
Ships:
Welcome! This is a game, i have made this in godot. This is a ninja game, this ninja has to catch the stars, if you can catch the stars, ninja will win, otherwise he will died. That’s an awesome game, You should play it....
|
1793008354.6901417
|
1793094754.6901417
|
|
70375
|
Technoblade Never Dies by @PahalDesai | Stardance
|
PahalDesai
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-22T12:57:46Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Technoblade Never Dies Hi everyone, This is a small tribute to technoblade, an american minecraft youtuber who passed away battling cancer. I used basic html and css to make this site. Features a paragraph on technoblade famous quotes and memorable momments those quotes and momments are clickable and viewable Thank you for taking a look at my project", "repo": "https://github.com/pahal-desai/technoblade", "demo": "https://pahal-desai.github.io/technoblade/"}]...
|
[{"post_id": 81762, "ts": "202 [{"post_id": 81762, "ts": "2026-10-22T12:39:48Z", "hours": 0.3142, "text": "Added a readme file."}, {"post_id": 81761, "ts": "2026-10-22T12:20:28Z", "hours": 0.7708, "text": "Finished the website by adding some images an fixing the layout of the pages where the quotes and funny moments are played!"}, {"post_id": 81609, "ts": "2026-10-21T19:05:56Z", "hours": 1.2747, "text": "Devlog 2 Added a few quotes said by him and made them playable!"}, {"post_id": 80979, "ts": "2026-10-19T14:18:06Z", "hours": 1.6333, "text": "Devlog 1 Hi. This is a small website to give tribute to Technoblade. Right now, I made some basic stuff like a paragraph about him, a heading masked with the Minecraft pig texture and a crown on top of it. I also did a little bit of styling of the paragraph."}]...
|
Title: Technoblade Never Dies by @PahalDesai | Sta Title: Technoblade Never Dies by @PahalDesai | Stardance
Devlogs:
Devlog 1 Hi. This is a small website to give tribute to Technoblade. Right now, I made some basic stuff like a paragraph about him, a heading masked with the Minecraft pig texture and a crown on top of it. I also did a little bit of styling of the paragraph.
Devlog 2 Added a few quotes said by him and made them playable!
Finished the website by adding some images an fixing the layout of the pages where the quotes and funny moments are played!
Added a readme file.
Ships:
Technoblade Never Dies Hi everyone, This is a small tribute to technoblade, an american minecraft youtuber who passed away battling cancer. I used basic html and css to make this site. Features a paragraph on technoblade famous quotes and memorable momments those quotes and momments are clickable and viewable Thank you for taking a look at my project...
|
1793008372.5576518
|
1793094772.5576518
|
|
70384
|
Converter by @brighina_tommaso | Stardance
|
brighina_tommaso
|
1
|
5.47
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T14:56:42Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an all in one local file converter. It took me a lot of time to include as many types of file as possible and now I think I reached a good level of conversion. I started this project before signing up for Stardance that’s why you only see 4 hours, but it actually tokk me many more. I hope you enjoy this project and that it can be useful in your daily life. Stay tuned for more updates in this app", "repo": "https://github.com/brighinatommaso-eng/Converter", "demo": "https://github.com/brighinatommaso-eng/Converter/releases/latest"}]...
|
[{"post_id": 82341, "ts": "202 [{"post_id": 82341, "ts": "2026-10-24T16:33:51Z", "hours": 1.4747, "text": "I want to also make it an online version, so a web app"}, {"post_id": 82285, "ts": "2026-10-24T13:51:27Z", "hours": 3.4872, "text": "Trying to improve the engine behind the text files conversions"}, {"post_id": 80760, "ts": "2026-10-18T18:27:07Z", "hours": 0.3053, "text": "My goal now to add more supported files format"}]...
|
Title: Converter by @brighina_tommaso | Stardance
Title: Converter by @brighina_tommaso | Stardance
Devlogs:
My goal now to add more supported files format
Trying to improve the engine behind the text files conversions
I want to also make it an online version, so a web app
Ships:
I made an all in one local file converter. It took me a lot of time to include as many types of file as possible and now I think I reached a good level of conversion. I started this project before signing up for Stardance that’s why you only see 4 hours, but it actually tokk me many more. I hope you enjoy this project and that it can be useful in your daily life. Stay tuned for more updates in this app...
|
1793008382.989888
|
1793094782.989888
|
|
70408
|
haunteds-site by @nic | Stardance
|
nic
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T21:55:23Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "haunted’s web: a crappy, low-quality 2000’s inspired webpage built with html/css, this website acts like a time capsule of a forgotten age in the digital era. a time when all websites looked like crap with a few random gifs thrown in. this is a website that’s meant to discourage people from staying on the internet. features: daily online check-in (because you should really consider how you feel when you’re browsing the web) my small blinkies collection spinning phone with a knife thrown on it a message telling people to go touch grass.", "repo": "https://github.com/sodahaunted/haunted-site", "demo": "https://sodahaunted.github.io/haunted-site/"}]...
|
[{"post_id": 80820, "ts": "202 [{"post_id": 80820, "ts": "2026-10-18T21:43:32Z", "hours": 1.6478, "text": "the dead internet theory is real made a www-inspired low-stakes website with stuff from the y2k era. resembles how i would imagine my ten-year-old self to make a website if i’d learned programming twenty years ago. some of the code is reused from my old neocities webpages, mostly for styling/css. sometimes you lose your passion for things but you keep moving forward regardless. this website is more like those crappy single-page websites you’d run into during the 90s, but no one was alive during that time to remember what it was actually like. also kind of inspired from old scam websites created by people who don’t know how to code. i programmed all of this in one sitting and forgot to commit most of the time. (if it wasn’t obvious, the site looks low-quality on purpose)"}]...
|
Title: haunteds-site by @nic | Stardance
Devlogs: Title: haunteds-site by @nic | Stardance
Devlogs:
the dead internet theory is real made a www-inspired low-stakes website with stuff from the y2k era. resembles how i would imagine my ten-year-old self to make a website if i’d learned programming twenty years ago. some of the code is reused from my old neocities webpages, mostly for styling/css. sometimes you lose your passion for things but you keep moving forward regardless. this website is more like those crappy single-page websites you’d run into during the 90s, but no one was alive during that time to remember what it was actually like. also kind of inspired from old scam websites created by people who don’t know how to code. i programmed all of this in one sitting and forgot to commit most of the time. (if it wasn’t obvious, the site looks low-quality on purpose)
Ships:
haunted’s web: a crappy, low-quality 2000’s inspired webpage built with html/css, this website acts like a time capsule of a forgotten age in the digital era. a time when all websites looked like crap with a few random gifs thrown in. this is a website that’s meant to discourage people from staying on the internet. features: daily online check-in (because you should really consider how you feel when you’re browsing the web) my small blinkies collection spinning phone with a knife thrown on it a message telling people to go touch grass....
|
1793008410.1508627
|
1793094810.1508627
|
|
70414
|
CosmoSpark by @MasterCoder | Stardance
|
MasterCoder
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T01:22:48Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a very safe space-themed web browser. The most challenging parts were adding the glassmorphism effects and connecting the backend.", "repo": "https://github.com/MasterCoder360/cosmospark", "demo": "https://cosmospark.org"}]...
|
[{"post_id": 82099, "ts": "202 [{"post_id": 82099, "ts": "2026-10-23T21:50:26Z", "hours": 1.3667, "text": "Let’s goooo, my website is complete, I used ScraperAPI for allowing the backend to scrape the results of DuckDuckGo and return REAL and WORKING RESULTS! I am extremely proud of myself for NOT using AI!!!!! Nope, I didn’t even touch it. So, what is this project? It is a space-themed safe web browser that doesn’t track you IP address for searching since it gets website from a backend that scrapes DuckDuckGo. If you really liked this project, please go to my GitHub source and star my project:)"}, {"post_id": 81369, "ts": "2026-10-21T00:40:08Z", "hours": 0.45, "text": "After some fixing and debugging, my site is live(but not complete) it now actually gets web search results from Wikipedia API and styles it in my preferred glassmorphism theme. Since I am using Render for the backend, it might take 50 secs due to inactivity. But that’s that. I still need to add the background and other features. The only problem is that the site all redirect to Wikipedia but I am actively trying to fix it.And please don’t copy this anyone, this is all my hard work. And guess what? I didn’t still use AI yet, it is attempting with all the bugs, but I’ll try my best."}, {"post_id": 81347, "ts": "2026-10-20T22:10:41Z", "hours": 0.8383, "text": "After some more coding, I added my favorite glassmorphism styling and a search bar, but there are a few bugs, I want this to go through my own backend but as you see in the video it is clearly NOT working. I will continue to try to fix this problem WITHOUT using AI since my goal is to not use AI. Instead I will look at similar problems in StackOverflow and other open-source web browsers"}, {"post_id": 81122, "ts": "2026-10-19T23:46:09Z", "hours": 0.6742, "text": "After 40 minutes of coding with the help of the guide, I created a site that fetches the image, explanation and title for today, but that’s just the beginning, it is now time to take over the galaxy, mwahahaha, just joking:) It is now time to upgrade the website into a complete new tab browser"}]...
|
Title: CosmoSpark by @MasterCoder | Stardance
Dev Title: CosmoSpark by @MasterCoder | Stardance
Devlogs:
After 40 minutes of coding with the help of the guide, I created a site that fetches the image, explanation and title for today, but that’s just the beginning, it is now time to take over the galaxy, mwahahaha, just joking:) It is now time to upgrade the website into a complete new tab browser
After some more coding, I added my favorite glassmorphism styling and a search bar, but there are a few bugs, I want this to go through my own backend but as you see in the video it is clearly NOT working. I will continue to try to fix this problem WITHOUT using AI since my goal is to not use AI. Instead I will look at similar problems in StackOverflow and other open-source web browsers
After some fixing and debugging, my site is live(but not complete) it now actually gets web search results from Wikipedia API and styles it in my preferred glassmorphism theme. Since I am using Render for the backend, it might take 50 secs due to inactivity. But that’s that. I still need to add the background and other features. The only problem is that the site all redirect to Wikipedia but I am actively trying to fix it.And please don’t copy this anyone, this is all my hard work. And guess what? I didn’t still use AI yet, it is attempting with all the bugs, but I’ll try my best.
Let’s goooo, my website is complete, I used ScraperAPI for allowing the backend to scrape the results of DuckDuckGo and return REAL and WORKING RESULTS! I am extremely proud of myself for NOT using AI!!!!! Nope, I didn’t even touch it. So, what is this project? It is a space-themed safe web browser that doesn’t track you IP address for searching since it gets website from a backend that scrapes DuckDuckGo. If you really liked this project, please go to my GitHub source and star my project:)
Ships:
I made a very safe space-themed web browser. The most challenging parts were adding the glassmorphism effects and connecting the backend....
|
1793008422.5209148
|
1793094822.5209148
|
|
70417
|
Pro website by @syedakhter | Stardance
|
syedakhter
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T01:12:51Z", "hours": 2.0, "multiplier": 1.0, "payout": 1, "blessing": "neutral", "text": "This is a website i made using js html and css and this website is going pro.", "repo": "https://github.com/8051987-eng/pro-website", "demo": "https://8051987-eng.github.io/pro-website/"}]...
|
[{"post_id": 80856, "ts": "202 [{"post_id": 80856, "ts": "2026-10-19T01:11:57Z", "hours": 2.0783, "text": "A pro website"}]...
|
Title: Pro website by @syedakhter | Stardance
Dev Title: Pro website by @syedakhter | Stardance
Devlogs:
A pro website
Ships:
This is a website i made using js html and css and this website is going pro....
|
1793094941.8067822
|
1793181341.8067822
|
|
70430
|
Static-Space by @Adam_Primus | Stardance
|
Adam_Primus
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T09:45:58Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "STATIC-SPACE It is a space themed Warioware style game that consists of three minigame, three lives and a lot of uniqueness. It is made using the GODOT engine. Features It consists of Three Minigames You Will Get Three Lives Creative Elements Try It Out By Clicking On ‘Try Project’ Below. For More Details Click On Source Code Below.", "repo": "https://github.com/Adam-Primus/Static-Space", "demo": "https://adam-primus.itch.io/static-space"}]...
|
[{"post_id": 82936, "ts": "202 [{"post_id": 82936, "ts": "2026-10-26T09:35:05Z", "hours": 2.9042, "text": "Devlog: 05, In this devlog, I first begin with creating two new scene that is for the loser and winner page. I created one of their background in the last session so now I made another background. Then I added the elements I wanted to add and customized or perhaps designed it according to my desire. After finishing the winner and loser scene and writing their code, I ran a test which showed up an error it took a while to figure out the problem as I do not know gd script very well. I turned out to be location of a file error which the code was unable to find but I fixed it. After That I ran a final test which was good. So I proceeded with the guide in the stardance. I exported the project, downloaded a preset of WEb, created a file known as “exports”, and then compressed it. Then It was time for publishing. Finally to Publish, I registered into itch.io and upload a new project, selected HTML option, other settings, and finally PUBLISHED THE GAME . At Last, I wrote the README file and Pushed all the change that I made to the GITHUB repository. That’s All."}, {"post_id": 82343, "ts": "2026-10-24T16:36:45Z", "hours": 1.8947, "text": "Devlog: 04, Today, I first begin by creating or perhaps I should say editing my 3rd minigame, it took a while to decide the new minigame but I selected this. I was first trying to make it functional by adding animation but it did not work so I did some research I figured out it must be edited, not animated. So, I wrote the appropriate program and IT WORKED!!! Then, I begin making a background for the death/loser scene. I used Paints 3D for this. I first downloaded some elements from the internet. Then I individually added them edit. I designed it like whatever came to my mind, there is nothing much to talk about it. Personally, I is a very different project that whatever I have created before. Perhaps, It it the first game that I created EVER . That’s ALl."}, {"post_id": 81561, "ts": "2026-10-21T18:02:26Z", "hours": 2.9492, "text": "Devlog: 03, In this session, I wanted to make a New MiniGame [3rd] . So, first I started with extracting some elements from Paints 3d . I basically downloaded some pixelated images from the internet and cropped the elements out of it i,e, A Spacecraft , Some Meteoroids , & few Satellites . Then I began creating the minigame. In the godot console , I created a new scene and progressed making the game. I also began writing the appropriate program to it so it could sync to the game smoothly. Although it is not finished yet, it is expected to be finished by the next devlog. That’s All."}, {"post_id": 81286, "ts": "2026-10-20T16:49:40Z", "hours": 0.6086, "text": "Devlog: 02, I was not able to work a lot in this devlog. I just be able to fix some bugs and errors of the game. I edited some program and fixed the signal problem of my 2nd minigame buttons. I was little challenging to figure it out but I solved it. That’s All."}, {"post_id": 81064, "ts": "2026-10-19T18:42:57Z", "hours": 6.14, "text": "Devlog: 01, This is the beginning, I downloaded GODOT Engine and started a new project named Static-Space . It is a WarioWare-Style, Space Themed game. I begin making the very Main page of my game. Using the help of the on board guide on Stardance I progressed with my project. I made amazing [do not judge] looking character, elements, & blocks. I the with the help of guide , programmed the Main page to be interactive. It was a easy program, I understood it in a moment. Image: 01. I then created a Timer Page [a waiting page between two minigames]. I added some special elements to maintain the uniqueness. Speaking on which, the triangular patches are actually lives of the player. Then I proceeded by adding the program. Of Course, it did not work, I started researching and customizing the program to fix it. When it seemed to work fine I proceeded. Image: 02. Then, I created MiniGame 1 & MiniGame 2 , I would not tell about it much because it is good to have suspense. You must play the game to find out. Of Course, I face a lot of difficulty to make them work as their default program did not work. Perhaps , it was not suppose to work at all so that we can learn and find it out ourselves. To those who made this guide, it worked out really well . The Image of MiniGame 1 & MiniGame 2 are not provided. Pages Created: Main Page Timer Page [a waiting page between two minigames] Mini Game 1 Mini Game 2 That’s All."}]...
|
Title: Static-Space by @Adam_Primus | Stardance
D Title: Static-Space by @Adam_Primus | Stardance
Devlogs:
Devlog: 01, This is the beginning, I downloaded GODOT Engine and started a new project named Static-Space . It is a WarioWare-Style, Space Themed game. I begin making the very Main page of my game. Using the help of the on board guide on Stardance I progressed with my project. I made amazing [do not judge] looking character, elements, & blocks. I the with the help of guide , programmed the Main page to be interactive. It was a easy program, I understood it in a moment. Image: 01. I then created a Timer Page [a waiting page between two minigames]. I added some special elements to maintain the uniqueness. Speaking on which, the triangular patches are actually lives of the player. Then I proceeded by adding the program. Of Course, it did not work, I started researching and customizing the program to fix it. When it seemed to work fine I proceeded. Image: 02. Then, I created MiniGame 1 & MiniGame 2 , I would not tell about it much because it is good to have suspense. You must play the game to find out. Of Course, I face a lot of difficulty to make them work as their default program did not work. Perhaps , it was not suppose to work at all so that we can learn and find it out ourselves. To those who made this guide, it worked out really well . The Image of MiniGame 1 & MiniGame 2 are not provided. Pages Created: Main Page Timer Page [a waiting page between two minigames] Mini Game 1 Mini Game 2 That’s All.
Devlog: 02, I was not able to work a lot in this devlog. I just be able to fix some bugs and errors of the game. I edited some program and fixed the signal problem of my 2nd minigame buttons. I was little challenging to figure it out but I solved it. That’s All.
Devlog: 03, In this session, I wanted to make a New MiniGame [3rd] . So, first I started with extracting some elements from Paints 3d . I basically downloaded some pixelated images from the internet and cropped the elements out of it i,e, A Spacecraft , Some Meteoroids , & few Satellites . Then I began creating the minigame. In the godot console , I created a new scene and progressed making the game. I also began writing the appropriate program to it so it could sync to the game smoothly. Although it is not finished yet, it is expected to be finished by the next devlog. That’s All.
Devlog: 04, Today, I first begin by creating or perhaps I should say editing my 3rd minigame, it took a while to decide the new minigame but I selected this. I was first trying to make it functional by adding animation but it did not work so I did some research I figured out it must be edited, not animated. So, I wrote the appropriate program and IT WORKED!!! Then, I begin making a background for the death/loser scene. I used Paints 3D for this. I first downloaded some elements from the internet. Then I individually added them edit. I designed it like whatever came to my mind, there is nothing much to talk about it. Personally, I is a very different project that whatever I have created before. Perhaps, It it the first game that I created EVER . That’s ALl.
Devlog: 05, In this devlog, I first begin with creating two new scene that is for the loser and winner page. I created one of their background in the last session so now I made another background. Then I added the elements I wanted to add and customized or perhaps designed it according to my desire. After finishing the winner and loser scene and writing their code, I ran a test which showed up an error it took a while to figure out the problem as I do not know gd script very well. I turned out to be location of a file error which the code was unable to find but I fixed it. After That I ran a final test which was good. So I proceeded with the guide in the stardance. I exported the project, downloaded a preset of WEb, created a file known as “exports”, and then compressed it. Then It was time for publishing. Finally to Publish, I registered into itch.io and upload a new project, selected HTML option, other settings, and finally PUBLISHED THE GAME . At Last, I wrote the README file and Pushed all the change that I made to the GITHUB repository. That’s All.
Ships:
STATIC-SPACE It is a space themed Warioware style game that consists of three minigame, three lives and a lot of uniqueness. It is made using the GODOT engine. Features It consists of Three Minigames You Will Get Three Lives Creative Elements Try It Out By Clicking On ‘Try Project’ Below. For More Details Click On Source Code Below....
|
1793008440.1924076
|
1793094840.1924076
|
|
70433
|
Root Studio by @slimshadyxroot1 | Stardance
|
slimshadyxroot1
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T04:43:00Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a browser based digital audio workstation(daw). you can produce music for free in this web app. it took lot of time to make this this daw is completely made using only html css and javascript.", "repo": "https://github.com/slimshadyxroot1-png/Root-Studio", "demo": "https://slimshadyxroot1-png.github.io/Root-Studio/"}]...
|
[{"post_id": 82530, "ts": "202 [{"post_id": 82530, "ts": "2026-10-25T04:34:40Z", "hours": 1.1367, "text": "Updates: export, sharing and save as Project panel: Save as (keeps saving to the same file), Export WAV, Export MP3, Export stems (zip), Export MIDI, Share Offline rendering of the playlist, with the effects and automation"}, {"post_id": 82320, "ts": "2026-10-24T15:32:02Z", "hours": 1.9664, "text": "Updates: audio tracks: record, load, cut and stretch Audio tracks panel: up to 8 tracks of clips on a timeline Record from the microphone, or load an audio file Move, trim, cut, stretch and delete clips with snap Latency fix for recordings Audio tracks get their own mixer strips, and clips are saved inside the song file"}, {"post_id": 82252, "ts": "2026-10-24T12:06:25Z", "hours": 1.0108, "text": "Updates: unison, fm, wavetable and insert effects Unison voices with spread Pitch envelope for zap and kick style sounds FM, pulse and wavetable oscillators Four more synth presets (Bell, Supersaw, Zap bass, Glass) Insert effect on every mixer strip: chorus, flanger, phaser and sidechain (kick ducking)"}, {"post_id": 82227, "ts": "2026-10-24T10:19:43Z", "hours": 3.1294, "text": "Updates: automation, midi learn and drum samples Automation lane per pattern (steps or smooth) for volume, pan, reverb, delay, master and filter Song automation lane in the playlist MIDI learn: map knobs and faders to any automation target Drum sounds panel: load your own sample into any drum, edit the velocity of every hit Drum kits (Retro, 80s, Acoustic) and euclidean rhythms Six more presets (Rock, Techno, Funk, Trap, Bossa nova, Reggae) store.js: samples are kept in IndexedDB and saved inside the song file"}, {"post_id": 81939, "ts": "2026-10-23T03:50:26Z", "hours": 2.3853, "text": "Updates: piano roll tools, recording and midi keyboard Select tool: move and resize notes, copy, paste, delete Quantize and a snap setting Transpose, fit to scale Chord progressions and arpeggiate Tap tempo and a metronome Rec: write notes into the roll from the keyboard while the song plays MIDI keyboard input with real velocity (midi.js)"}, {"post_id": 81737, "ts": "2026-10-22T09:41:02Z", "hours": 2.0222, "text": "Updates: more tracks, synth panel, velocity and undo Add and delete tonal tracks (up to 8), rename them Synthesizer panel: osc 2, resonant filter with envelope, amp ADSR, LFO Synth presets (Lead, Pad, Bass, Pluck) Note velocity: velocity lane under the roll and a default velocity slider Undo and Redo (buttons, Ctrl+Z, Ctrl+Y), Ctrl+S saves tools.js appears"}, {"post_id": 81155, "ts": "2026-10-20T04:10:45Z", "hours": 1.0444, "text": "Updates: patterns, playlist and time signatures Several patterns per song: New, Clone, Rename, Delete Pattern length of 1, 2 or 4 bars Playlist of 32 bars, click or drag to paint patterns Pattern mode loops one pattern, Song mode plays the playlist Loop range in song mode (click a bar number to set it) Time signatures: 2/4, 3/4, 4/4, 5/4, 6/8, 7/8, 12/8"}, {"post_id": 81145, "ts": "2026-10-20T02:23:41Z", "hours": 4.4225, "text": "Updates: new engine, mixer and master effects The single file is split into modules: state, audio, rack, roll, synth, mixer, arrange, app, ui New audio graph: every sound goes through a strip with volume, pan, reverb send and delay send Mixer panel with faders, level meters, mute and solo Master section: 3 band EQ, reverb with room size, drive, compressor FL Studio style layout, click a panel title to fold it The song is now a proper data model (tracks, patterns, drums). Songs saved by stages 1 to 3 still open"}, {"post_id": 80947, "ts": "2026-10-19T10:33:30Z", "hours": 1.2694, "text": "What is new Swing, master volume and a feedback delay Channel rack with a mute light and volume slider per drum, plus a Lead row Song name, Save (downloads a .json) and Open The song is kept in the browser, so a reload does not lose it Presets list on the left (Four on the floor, Hip hop, Empty)"}, {"post_id": 80912, "ts": "2026-10-19T07:24:01Z", "hours": 0.9942, "text": "piano roll and a simple synth What is new Piano roll with 60 rows (C2 to B6) and a piano key column Click or drag to add and remove notes, note length 1/16 to 1/2 Synth voice with a wave choice (saw, square, triangle, sine) Key and scale selector, notes outside the scale are dimmed Play the synth with the computer keyboard (Z to M), [ and ] change octave Space plays and pauses"}, {"post_id": 80896, "ts": "2026-10-19T06:03:09Z", "hours": 1.0925, "text": "Made drum machine for my browser based digital audio workstation (daw). Whats added: Play and Stop, BPM box Six synthesized drums: kick, snare, hi-hat, open hat, clap, tom 16 step grid, click or drag to paint steps Playhead that follows the sound Click a drum name to hear it"}]...
|
Title: Root Studio by @slimshadyxroot1 | Stardance Title: Root Studio by @slimshadyxroot1 | Stardance
Devlogs:
Made drum machine for my browser based digital audio workstation (daw). Whats added: Play and Stop, BPM box Six synthesized drums: kick, snare, hi-hat, open hat, clap, tom 16 step grid, click or drag to paint steps Playhead that follows the sound Click a drum name to hear it
piano roll and a simple synth What is new Piano roll with 60 rows (C2 to B6) and a piano key column Click or drag to add and remove notes, note length 1/16 to 1/2 Synth voice with a wave choice (saw, square, triangle, sine) Key and scale selector, notes outside the scale are dimmed Play the synth with the computer keyboard (Z to M), [ and ] change octave Space plays and pauses
What is new Swing, master volume and a feedback delay Channel rack with a mute light and volume slider per drum, plus a Lead row Song name, Save (downloads a .json) and Open The song is kept in the browser, so a reload does not lose it Presets list on the left (Four on the floor, Hip hop, Empty)
Updates: new engine, mixer and master effects The single file is split into modules: state, audio, rack, roll, synth, mixer, arrange, app, ui New audio graph: every sound goes through a strip with volume, pan, reverb send and delay send Mixer panel with faders, level meters, mute and solo Master section: 3 band EQ, reverb with room size, drive, compressor FL Studio style layout, click a panel title to fold it The song is now a proper data model (tracks, patterns, drums). Songs saved by stages 1 to 3 still open
Updates: patterns, playlist and time signatures Several patterns per song: New, Clone, Rename, Delete Pattern length of 1, 2 or 4 bars Playlist of 32 bars, click or drag to paint patterns Pattern mode loops one pattern, Song mode plays the playlist Loop range in song mode (click a bar number to set it) Time signatures: 2/4, 3/4, 4/4, 5/4, 6/8, 7/8, 12/8
Updates: more tracks, synth panel, velocity and undo Add and delete tonal tracks (up to 8), rename them Synthesizer panel: osc 2, resonant filter with envelope, amp ADSR, LFO Synth presets (Lead, Pad, Bass, Pluck) Note velocity: velocity lane under the roll and a default velocity slider Undo and Redo (buttons, Ctrl+Z, Ctrl+Y), Ctrl+S saves tools.js appears
Updates: piano roll tools, recording and midi keyboard Select tool: move and resize notes, copy, paste, delete Quantize and a snap setting Transpose, fit to scale Chord progressions and arpeggiate Tap tempo and a metronome Rec: write notes into the roll from the keyboard while the song plays MIDI keyboard input with real velocity (midi.js)
Updates: automation, midi learn and drum samples Automation lane per pattern (steps or smooth) for volume, pan, reverb, delay, master and filter Song automation lane in the playlist MIDI learn: map knobs and faders to any automation target Drum sounds panel: load your own sample into any drum, edit the velocity of every hit Drum kits (Retro, 80s, Acoustic) and euclidean rhythms Six more presets (Rock, Techno, Funk, Trap, Bossa nova, Reggae) store.js: samples are kept in IndexedDB and saved inside the song file
Updates: unison, fm, wavetable and insert effects Unison voices with spread Pitch envelope for zap and kick style sounds FM, pulse and wavetable oscillators Four more synth presets (Bell, Supersaw, Zap bass, Glass) Insert effect on every mixer strip: chorus, flanger, phaser and sidechain (kick ducking)
Updates: audio tracks: record, load, cut and stretch Audio tracks panel: up to 8 tracks of clips on a timeline Record from the microphone, or load an audio file Move, trim, cut, stretch and delete clips with snap Latency fix for recordings Audio tracks get their own mixer strips, and clips are saved inside the song file
Updates: export, sharing and save as Project panel: Save as (keeps saving to the same file), Export WAV, Export MP3, Export stems (zip), Export MIDI, Share Offline rendering of the playlist, with the effects and automation
Ships:
This is a browser based digital audio workstation(daw). you can produce music for free in this web app. it took lot of time to make this this daw is completely made using only html css and javascript....
|
1793008443.0974748
|
1793094843.0974748
|
|
70439
|
Twinx by @twinx | Stardance
|
twinx
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T03:31:36Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Twinx - my personal website with all the works and projects i have made so far , it doesn’t include much projects as i have spend 100+ hours in flow only and nothing did much to others.", "repo": "https://github.com/Twinx015/Twix", "demo": "https://twinx.pages.dev/"}]...
|
[{"post_id": 82520, "ts": "202 [{"post_id": 82520, "ts": "2026-10-25T03:19:28Z", "hours": 0.3033, "text": "Made some more changed in it and now making it ship and will publish it to cloudflare."}, {"post_id": 81170, "ts": "2026-10-20T05:41:04Z", "hours": 2.0764, "text": "#Devlog 1 Made the whole website with components from react bitz and insane animations and also some songs for you :)"}]...
|
Title: Twinx by @twinx | Stardance
Devlogs:
#Devl Title: Twinx by @twinx | Stardance
Devlogs:
#Devlog 1 Made the whole website with components from react bitz and insane animations and also some songs for you :)
Made some more changed in it and now making it ship and will publish it to cloudflare.
Ships:
Twinx - my personal website with all the works and projects i have made so far , it doesn’t include much projects as i have spend 100+ hours in flow only and nothing did much to others....
|
1793008452.1815262
|
1793094852.1815262
|
|
70445
|
Pint by @elizabeth71 | Stardance
|
elizabeth71
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T15:29:58Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a fully functional WebOS that runs in the browser! It features a top bar with a live clock, multiple draggable windows, a Notes app where you can type,and a Themes app to change the background color. Getting the JavaScript dragging logic to work smoothly on a mobile touchscreen without the page scrolling everywhere was tough, but I figured out how to use pointer events!. Theme Switcher because I built the logic for them entirely from scratch. Click the icons on the desktop to open the apps. Drag the windows around by the grey title bar, and close them using the red ‘X’ button. Try changing the theme to “Ocean Blue”!", "repo": "https://github.com/elizabethbhengra71-afk/Webos", "demo": "https://elizabethbhengra71-afk.github.io/Webos/"}]...
|
[{"post_id": 80992, "ts": "202 [{"post_id": 80992, "ts": "2026-10-19T15:14:57Z", "hours": 0.3708, "text": "Final devlog for WebOS 1! I built a fully working Calculator app with a grid of buttons and JavaScript math logic. My OS now has 4 draggable apps. It runs perfectly in the browser. Ready to ship!"}, {"post_id": 80982, "ts": "2026-10-19T14:40:17Z", "hours": 0.3058, "text": "Added my first apps! I created a Welcome window and a Notes app where I can type. I also added a Themes app that lets me change the background color of the whole OS to dark, light, or blue. This is my custom feature for the mission!"}, {"post_id": 80953, "ts": "2026-10-19T11:26:01Z", "hours": 0.2806, "text": "Today I built the foundation of my WebOS! I set up my HTML file, created a dark desktop background, and added a top bar with a live, working clock. I also wrote JavaScript to make my first window draggable and closeable. Super excited to keep building!"}]...
|
Title: Pint by @elizabeth71 | Stardance
Devlogs:
Title: Pint by @elizabeth71 | Stardance
Devlogs:
Today I built the foundation of my WebOS! I set up my HTML file, created a dark desktop background, and added a top bar with a live, working clock. I also wrote JavaScript to make my first window draggable and closeable. Super excited to keep building!
Added my first apps! I created a Welcome window and a Notes app where I can type. I also added a Themes app that lets me change the background color of the whole OS to dark, light, or blue. This is my custom feature for the mission!
Final devlog for WebOS 1! I built a fully working Calculator app with a grid of buttons and JavaScript math logic. My OS now has 4 draggable apps. It runs perfectly in the browser. Ready to ship!
Ships:
I built a fully functional WebOS that runs in the browser! It features a top bar with a live clock, multiple draggable windows, a Notes app where you can type,and a Themes app to change the background color. Getting the JavaScript dragging logic to work smoothly on a mobile touchscreen without the page scrolling everywhere was tough, but I figured out how to use pointer events!. Theme Switcher because I built the logic for them entirely from scratch. Click the icons on the desktop to open the apps. Drag the windows around by the grey title bar, and close them using the red ‘X’ button. Try changing the theme to “Ocean Blue”!...
|
1793008457.6771026
|
1793094857.6771026
|
|
70457
|
OneManOrchestra by @Altaaf | Stardance
|
Altaaf
|
1
|
3.93
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T17:29:34Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a hand gesture controlled synth, i an highkey into music and play a ukulele (coz i dont have a guitar), i saw exactly this on instagram once and never saw it again so i made it, turns out it was a very well documented project. I learnt a lot of things, like Opencv, this was my first time working with it and got me to learn a good load of stuff about it. IMPORTANT: Since this is a python script , i couldnt release it on github releases as it just wont support it, TO TEST IT PLEASE FOLLOW THE SETUP MENTIONED IN THE README, its very small process less than 5 minutes. Thank you", "repo": "https://github.com/MohdAltaaf/HandGestureMusic", "demo": "https://github.com/MohdAltaaf/HandGestureMusic/blob/main/main.py"}]...
|
[{"post_id": 81223, "ts": "202 [{"post_id": 81223, "ts": "2026-10-20T10:52:56Z", "hours": 0.9319, "text": "AND NOW ITS ON THE WEB!! https://mohdaltaaf.github.io/HandGestureMusic/ Wrote the HTML code for it to work on a browser, the whole process was just translating python to HTML so it was nothing new, but i must say one thing that i did not expect was that i thought the browser version would be less responsive. But to my surprise its so much better!! its very responsive and i would say that the hand tracking is better as well! The UI kinda sucks but ig the next update will be better UI."}, {"post_id": 81038, "ts": "2026-10-19T17:15:07Z", "hours": 3.3306, "text": "Hand Gesture Synth Play Music without touching any instrument!! Just make some hand signs and this program does the rest. Each handsign plays a note or a chord! How to Use: There are three different modes: Notes Chords InKey Going over them one by one: Notes Mode: Your right hands plays the 7 base notes while the left hand controls which octave will those notes be played in, so it is basically a piano wihtout the sharp and flat keys! Chords Mode: Your right hand determines the key and your left hand determines the scale of the chord to be played, Very fun to use to sing along the song of your liking, all chords are easy to play just need a teensy tiny bit of memorizing. Use W/S to increase/decrease the octave. InKey Mode: Your left hand determines the octave a note should be played in, while your right hand determines the note that should be played, but the difference from the first mode is that you can select a key to play in using j/k to cycle through them. Any handsign you produce a note that sounds coherent, nothing sounds off, so its good for beginners in music to play around with coz it almost always sounds pleasant. Handsigns: All signs for entries left to right wil go like: Sign Right hand (root) Left hand (chord type) Index C Major Index + middle D Minor Three fingers E 7 Four fingers F 5 Open hand G dim Thumb only A dim7 Thumb + index B aug Thumb + index + middle C# sus2 Thumb + three fingers D# sus4 Pinky only F# maj7 Thumb + pinky G# m7 Index + pinky A# 7sus4 Controls Key Action M or 1 / 2 / 3 Switch mode J / K Previous / next key (Key mode) T Major / minor (Key mode) W / S Octave up / down (Chords mode) Esc Quit Setup (Windows) Install Python 3.12 and tick “Add python.exe to PATH”. In a terminal inside the project folder: python -m venv venv venv\\Scripts\\activate pip install -r requirements.txt python main.py Sound comes from the Microsoft GS Wavetable Synth built into Windows. Credits Built with OpenCV, MediaPipe, and mido and lots of love lol. Made by Mohd Altaaf"}]...
|
Title: OneManOrchestra by @Altaaf | Stardance
Dev Title: OneManOrchestra by @Altaaf | Stardance
Devlogs:
Hand Gesture Synth Play Music without touching any instrument!! Just make some hand signs and this program does the rest. Each handsign plays a note or a chord! How to Use: There are three different modes: Notes Chords InKey Going over them one by one: Notes Mode: Your right hands plays the 7 base notes while the left hand controls which octave will those notes be played in, so it is basically a piano wihtout the sharp and flat keys! Chords Mode: Your right hand determines the key and your left hand determines the scale of the chord to be played, Very fun to use to sing along the song of your liking, all chords are easy to play just need a teensy tiny bit of memorizing. Use W/S to increase/decrease the octave. InKey Mode: Your left hand determines the octave a note should be played in, while your right hand determines the note that should be played, but the difference from the first mode is that you can select a key to play in using j/k to cycle through them. Any handsign you produce a note that sounds coherent, nothing sounds off, so its good for beginners in music to play around with coz it almost always sounds pleasant. Handsigns: All signs for entries left to right wil go like: Sign Right hand (root) Left hand (chord type) Index C Major Index + middle D Minor Three fingers E 7 Four fingers F 5 Open hand G dim Thumb only A dim7 Thumb + index B aug Thumb + index + middle C# sus2 Thumb + three fingers D# sus4 Pinky only F# maj7 Thumb + pinky G# m7 Index + pinky A# 7sus4 Controls Key Action M or 1 / 2 / 3 Switch mode J / K Previous / next key (Key mode) T Major / minor (Key mode) W / S Octave up / down (Chords mode) Esc Quit Setup (Windows) Install Python 3.12 and tick “Add python.exe to PATH”. In a terminal inside the project folder: python -m venv venv venv\Scripts\activate pip install -r requirements.txt python main.py Sound comes from the Microsoft GS Wavetable Synth built into Windows. Credits Built with OpenCV, MediaPipe, and mido and lots of love lol. Made by Mohd Altaaf
AND NOW ITS ON THE WEB!! https://mohdaltaaf.github.io/HandGestureMusic/ Wrote the HTML code for it to work on a browser, the whole process was just translating python to HTML so it was nothing new, but i must say one thing that i did not expect was that i thought the browser version would be less responsive. But to my surprise its so much better!! its very responsive and i would say that the hand tracking is better as well! The UI kinda sucks but ig the next update will be better UI.
Ships:
This is a hand gesture controlled synth, i an highkey into music and play a ukulele (coz i dont have a guitar), i saw exactly this on instagram once and never saw it again so i made it, turns out it was a very well documented project. I learnt a lot of things, like Opencv, this was my first time working with it and got me to learn a good load of stuff about it. IMPORTANT: Since this is a python script , i couldnt release it on github releases as it just wont support it, TO TEST IT PLEASE FOLLOW THE SETUP MENTIONED IN THE README, its very small process less than 5 minutes. Thank you...
|
1793008469.8120713
|
1793094869.8120713
|
|
70465
|
The Blog Bench by @jaisondavidm_cs25 | Stardance
|
jaisondavidm_cs25
|
1
|
64.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T10:09:15Z", "hours": 64.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a site name The Blog Bench here user can post their blogs and read other blogs and tag some user which get notified. and report the blog if it is not good and view post based on tag categories and can get the trending blogs . you can i write a blog in a good rich text editor the challenging part is the deployement part because it is a fullstack project . i new to use docker docker compose so i learned it and deployed after struggling and connecting the client,server,database everything felt difficult i have admin sperate pages so for admin credentials use admin(username) Admin007@(password)", "repo": "https://github.com/jaisondavid-m/blog-site", "demo": "https://json.hackclub.app"}]...
|
[{"post_id": 80942, "ts": "202 [{"post_id": 80942, "ts": "2026-10-19T10:03:19Z", "hours": 64.3667, "text": "i do this project for maconda but they now say to move to other events so i shipping here i already posted all develogs and commit the history properly you can refer all my develogs using this link https://macondo.hackclub.com/projects/6875"}]...
|
Title: The Blog Bench by @jaisondavidm_cs25 | Star Title: The Blog Bench by @jaisondavidm_cs25 | Stardance
Devlogs:
i do this project for maconda but they now say to move to other events so i shipping here i already posted all develogs and commit the history properly you can refer all my develogs using this link https://macondo.hackclub.com/projects/6875
Ships:
i made a site name The Blog Bench here user can post their blogs and read other blogs and tag some user which get notified. and report the blog if it is not good and view post based on tag categories and can get the trending blogs . you can i write a blog in a good rich text editor the challenging part is the deployement part because it is a fullstack project . i new to use docker docker compose so i learned it and deployed after struggling and connecting the client,server,database everything felt difficult i have admin sperate pages so for admin credentials use admin(username) Admin007@(password)...
|
1792857041.7982945
|
1793721041.7982945
|
|
70476
|
mathman by @furgenramen | Stardance
|
furgenramen
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T09:03:55Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own Slackbot that can do some basic functions-related functions (pun intended). I really enjoyed testing it and connecting it to Newton’s API. It was kind of challenging to make the bot function 24/7 at first, but once I understood it, it was very easy. Overall, this was a low-cortisol mission that I really enjoyed making. Hopefully, it will be more powerful in the future. (more calculus??!!)", "repo": "https://github.com/furgenramen04/mathman", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354?_gl=1*de0wgy*_gcl_au*NzYyNDExMTM3LjE3OTEwNjYwNzQuLS4tLjE3OTEwNjYwODQuMTIyMzg0MjUyNy4xNzkyODA3MTI2LjE3OTI4MTcwMjM."}]...
|
[{"post_id": 82198, "ts": "202 [{"post_id": 82198, "ts": "2026-10-24T08:07:20Z", "hours": 0.9594, "text": "Ready to ship! After a good hour or so, I’m done making my Slackbot! Mathman has various features (including a catfact feature), specialising in functions. Using Newton’s API, he can calculate derivatives, integrals, zeroes, as well as simplify and factorise functions."}]...
|
Title: mathman by @furgenramen | Stardance
Devlog Title: mathman by @furgenramen | Stardance
Devlogs:
Ready to ship! After a good hour or so, I’m done making my Slackbot! Mathman has various features (including a catfact feature), specialising in functions. Using Newton’s API, he can calculate derivatives, integrals, zeroes, as well as simplify and factorise functions.
Ships:
I made my own Slackbot that can do some basic functions-related functions (pun intended). I really enjoyed testing it and connecting it to Newton’s API. It was kind of challenging to make the bot function 24/7 at first, but once I understood it, it was very easy. Overall, this was a low-cortisol mission that I really enjoyed making. Hopefully, it will be more powerful in the future. (more calculus??!!)...
|
1793015269.6543941
|
1793101669.6543941
|
|
70479
|
HELPFUL PYTHON PROJECTS by @dhyanam2412 | Stardanc HELPFUL PYTHON PROJECTS by @dhyanam2412 | Stardance...
|
dhyanam2412
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T12:29:41Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made multiple helpful projects that may not seem like a lot untill you actually try them. I have poured my heart out into them, so have a good time. Checkout the DEMO on github pages!!", "repo": "https://github.com/jinnysudo/cv-projects/", "demo": "https://jinnysudo.github.io/cv-projects/"}]...
|
[{"post_id": 80962, "ts": "202 [{"post_id": 80962, "ts": "2026-10-19T12:20:38Z", "hours": 9.9158, "text": "This is a compilation of all my helpful advanced python projects that I have made over the course of this month. You can check the demo yourself. The source can be downloaded quite easily from github. Here are some screenshots. PS:- These aint all of them!!"}]...
|
Title: HELPFUL PYTHON PROJECTS by @dhyanam2412 | S Title: HELPFUL PYTHON PROJECTS by @dhyanam2412 | Stardance
Devlogs:
This is a compilation of all my helpful advanced python projects that I have made over the course of this month. You can check the demo yourself. The source can be downloaded quite easily from github. Here are some screenshots. PS:- These aint all of them!!
Ships:
I have made multiple helpful projects that may not seem like a lot untill you actually try them. I have poured my heart out into them, so have a good time. Checkout the DEMO on github pages!!...
|
1793015271.3882916
|
1793101671.3882916
|
|
70482
|
Issue Scout by @Sharma07 | Stardance
|
Sharma07
|
1
|
6.6
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T08:14:18Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Issue Scout: Connecting the first search experience I built Issue Scout to solve a problem I faced myself. When I wanted to start contributing to open source, I had no clue where to begin. I struggled to find a platform that could help me discover issues matching my interests. Finding issues is easy. Finding the right issues was the hard part. So I decided to build my own solution. Issue Scout lets you filter GitHub issues by programming language, keywords, labels, suggested skill level, creation date, and status. The goal is to spend less time searching and more time contributing. One challenging part was making the filters work together reliably and handling GitHub Search API behavior, including pagination and rate limits. I’ve added automated API tests and have been refining the search experience. I’m proud that a problem I personally experienced turned into something other developers can use, especially people looking for their first open-source contribution. 🚀 Give it a try and let me know what you think! 🎬 I also made a short cinematic fly over demo of the project, edited using Antigravity.", "repo": "https://github.com/sharmao07/issue-scout", "demo": "https://issue-scout-chi.vercel.app/"}]...
|
[{"post_id": 81800, "ts": "202 [{"post_id": 81800, "ts": "2026-10-22T16:04:23Z", "hours": 0.2517, "text": "Issue Scout quick update 🚀 I have been doing some housekeeping on Issue Scout and trying to improve its maintainability. Some changes include: Breaking the enormous search page up into smaller pieces by splitting it into search form, issue cards, header, and pagination components. Separating issue preview into sections related to repository health, repository availability, repository readiness, and contribution tracking. Creating custom hooks for saved issues and contribution tracking, which includes syncing of bookmarks between tabs. Moving repository readiness scoring into a dedicated module and refactoring common GitHub validation into one place. Fixing the test discovery issue for skill level tests and removing redundant API route. Adding unit tests for new logic and storage behavior. README has received an update too and now it highlights what Issue Scout does, how to experience live demo, features, local development instructions, architecture and credits. ✅ 83 tests passing ✅ ESLint: no errors or warnings ✅ TypeScript: no errors ✅ Production build succeeded However, during my testing of the site on browser, I run into an error of a local Google Fonts problem, which I am resolving before confirming that I have completed the browser tests. Additionally, I am addressing a git sync problem before the push. This is mostly because the process involved the tidying up of what had been done before adding a new functionality. The next step will be to complete the manual tests. 🔗 Live demo: https://issue-scout-chi.vercel.app/ 💻 GitHub: https://github.com/sharmao07/issue-scout"}, {"post_id": 81336, "ts": "2026-10-20T21:37:32Z", "hours": 2.3494, "text": "A small but exciting update on Issue Scout 🚀 Since my last devlog, I’ve been working on making it easier to find and share open source issues. Here’s what I added: 🔗 Shareable search links — You can now share a search with its filters, so someone else can open the same search without setting everything up again. 🎯 Direct issue links — Instead of searching for an issue manually, you can open it directly in Issue Scout. 👀 Issue preview API — Added an API endpoint to fetch issue details for those direct links and validate the response before displaying it. I also added tests for the new URL handling and ran the full checks. ✅ 30 tests passing ✅ No ESLint errors ✅ Production build successful The update is shipped and now waiting for review! 🤞 Still plenty to improve, but one step at a time. I’d love to hear what filters, search features, or quality of life improvements would make this more useful for people getting started with open source contributions. 🔗 Live: https://issue-scout-chi.vercel.app/ 💻 GitHub: https://github.com/sharmao07/issue-scout Back to building!"}, {"post_id": 81197, "ts": "2026-10-20T08:07:06Z", "hours": 1.2989, "text": "I wanted to contribute to open source, but I had no idea where to start. 🔍 When I first wanted to contribute to open source projects, I struggled to find a platform that could help me discover issues relevant to my interests. I knew I wanted to start contributing, but figuring out where to look, which issues to pick, and how to find projects that matched my skills was overwhelming. Finding GitHub issues isn’t the hard part. There are thousands of them. The real challenge is finding the ones that actually interest you. That’s why I built Issue Scout . 🚀 The idea is simple: instead of endlessly browsing repositories and scrolling through issues, you can filter opportunities based on what matters to you. With Issue Scout, you can narrow down issues by: 💻 Programming language 🏷️ Labels like good first issue , bug , and documentation 🎯 Suggested skill level 📅 Creation date 🔓 Issue status 🔎 Keywords and topics you’re interested in I’m also working on making the search experience more reliable, with automated tests for API behavior, combined filters, pagination, empty results, and GitHub rate limit handling. This project started with a problem I faced myself, and I hope it can make the first step into open source a little less confusing for someone else. 🚀 Try Issue Scout: https://issue-scout-chi.vercel.app/ 💻 Explore the code: https://github.com/sharmao07/issue-scout There’s still plenty to improve. I’d love to hear what filters, search features, or quality of life improvements would make this more useful for people getting started with open source contributions. 🎬 Video credits: The demo video was edited using Antigravity."}, {"post_id": 81088, "ts": "2026-10-19T20:24:48Z", "hours": 0.2797, "text": "Issue Scout is live! 🚀 The first version of Issue Scout is now complete and deployed! The core features are in place: Search public GitHub issues by keyword. Filter by programming language, labels, suggested skill level, creation date, and issue status. Browse paginated results and open issues directly on GitHub. Get started with quick filters for beginner-friendly issues, documentation, bug fixes, and Python. 🌐 Live site: https://issue-scout-chi.vercel.app/ 💻 GitHub repository: https://github.com/sharmao07/issue-scout I’m happy to have the main functionality working, but I’ll keep improving the UI and making the experience easier and smoother to use. I’d love some help and feedback! If you’d like to help improve the UI, suggest a feature, or contribute something new, leave a comment on this devlog or feel free to open an issue on GitHub. Ideas, suggestions, and contributions are welcome! Thanks for checking out Issue Scout!"}, {"post_id": 81080, "ts": "2026-10-19T19:55:00Z", "hours": 1.0517, "text": "Making Issue Scout easier to use I’ve been working on making Issue Scout more approachable for people looking for their first open source contribution. I added quick start presets for beginner friendly issues, documentation, bug fixes, and Python. Rather than starting with an empty set of filters, users can pick a starting point, adjust the filters, and search for issues that interest them. I’m also improving the README so new users and contributors can understand how the app works, how to run it locally, what the API supports, and what limitations to keep in mind. This includes explaining how skill levels are estimated and why they should be treated as suggestions rather than guarantees. Next: Run the lint and production build checks, test the search presets and pagination, and verify the updated version on the live deployment. Live app: https://issue-scout-chi.vercel.app/ Source code: https://github.com/sharmao07/issue-scout"}, {"post_id": 81052, "ts": "2026-10-19T17:47:12Z", "hours": 0.4617, "text": "Issue Scout: Improving Issue Discovery and Filtering Since my previous update, I’ve continued developing Issue Scout by connecting the search experience to GitHub’s public issue search API and expanding the available filters. It now supports searching for open source issues by keyword, programming language, issue labels, and suggested skill level. The skill level classifier also accounts for issues whose difficulty cannot be confidently inferred from their labels, rather than automatically assuming they are intermediate. I’m also adding two important filtering options to make issue discovery more useful: filtering by when an issue was created and filtering by its status. The creation date filter covers several time ranges, from the last 12 hours to older issues created between three months and one year ago. The status filter allows users to choose open issues, closed issues, or both. These changes are intended to help contributors discover relevant opportunities more efficiently and find issues that match their preferences. Issue Scout continues to use GitHub’s API for its initial release, with skill- evel suggestions treated as estimates rather than definitive difficulty assessments. I’m keeping the project focused on making the core search experience reliable before introducing AI features or deploying a public demo. Next steps: finish testing the new filters, improve the issue result cards and error handling, verify the complete search workflow, and prepare the project for its eventual deployment."}, {"post_id": 80975, "ts": "2026-10-19T13:40:07Z", "hours": 0.8578, "text": "Issue Scout: Connecting the first search experience Started development on Issue Scout, an open source application designed to assist developers in discovering issues on GitHub that fit their specific tastes and skill levels. I established the GitHub repository for the project, along with creating the initial Next.js, TypeScript and Tailwind CSS project. The initial interface allows users to search using keywords, filter using issue labels, and filter by an estimated skill level. The next step will be integrating the interface with the public issue search API provided by GitHub. This will involve displaying actual results, handling any errors and loading issues, and making each result link back to the original repository. For now, I am delaying implementation of AI and remaining purely API based for my initial release of the product. This will allow me to develop and test the base functionality and determine where I could use more intelligence from an AI system. Next steps include completing the integration with the API, optimizing the filter for results, deploying a demo version of the website, and continuing documentation."}]...
|
Title: Issue Scout by @Sharma07 | Stardance
Devlo Title: Issue Scout by @Sharma07 | Stardance
Devlogs:
Issue Scout: Connecting the first search experience Started development on Issue Scout, an open source application designed to assist developers in discovering issues on GitHub that fit their specific tastes and skill levels. I established the GitHub repository for the project, along with creating the initial Next.js, TypeScript and Tailwind CSS project. The initial interface allows users to search using keywords, filter using issue labels, and filter by an estimated skill level. The next step will be integrating the interface with the public issue search API provided by GitHub. This will involve displaying actual results, handling any errors and loading issues, and making each result link back to the original repository. For now, I am delaying implementation of AI and remaining purely API based for my initial release of the product. This will allow me to develop and test the base functionality and determine where I could use more intelligence from an AI system. Next steps include completing the integration with the API, optimizing the filter for results, deploying a demo version of the website, and continuing documentation.
Issue Scout: Improving Issue Discovery and Filtering Since my previous update, I’ve continued developing Issue Scout by connecting the search experience to GitHub’s public issue search API and expanding the available filters. It now supports searching for open source issues by keyword, programming language, issue labels, and suggested skill level. The skill level classifier also accounts for issues whose difficulty cannot be confidently inferred from their labels, rather than automatically assuming they are intermediate. I’m also adding two important filtering options to make issue discovery more useful: filtering by when an issue was created and filtering by its status. The creation date filter covers several time ranges, from the last 12 hours to older issues created between three months and one year ago. The status filter allows users to choose open issues, closed issues, or both. These changes are intended to help contributors discover relevant opportunities more efficiently and find issues that match their preferences. Issue Scout continues to use GitHub’s API for its initial release, with skill- evel suggestions treated as estimates rather than definitive difficulty assessments. I’m keeping the project focused on making the core search experience reliable before introducing AI features or deploying a public demo. Next steps: finish testing the new filters, improve the issue result cards and error handling, verify the complete search workflow, and prepare the project for its eventual deployment.
Making Issue Scout easier to use I’ve been working on making Issue Scout more approachable for people looking for their first open source contribution. I added quick start presets for beginner friendly issues, documentation, bug fixes, and Python. Rather than starting with an empty set of filters, users can pick a starting point, adjust the filters, and search for issues that interest them. I’m also improving the README so new users and contributors can understand how the app works, how to run it locally, what the API supports, and what limitations to keep in mind. This includes explaining how skill levels are estimated and why they should be treated as suggestions rather than guarantees. Next: Run the lint and production build checks, test the search presets and pagination, and verify the updated version on the live deployment. Live app: https://issue-scout-chi.vercel.app/ Source code: https://github.com/sharmao07/issue-scout
Issue Scout is live! 🚀 The first version of Issue Scout is now complete and deployed! The core features are in place: Search public GitHub issues by keyword. Filter by programming language, labels, suggested skill level, creation date, and issue status. Browse paginated results and open issues directly on GitHub. Get started with quick filters for beginner-friendly issues, documentation, bug fixes, and Python. 🌐 Live site: https://issue-scout-chi.vercel.app/ 💻 GitHub repository: https://github.com/sharmao07/issue-scout I’m happy to have the main functionality working, but I’ll keep improving the UI and making the experience easier and smoother to use. I’d love some help and feedback! If you’d like to help improve the UI, suggest a feature, or contribute something new, leave a comment on this devlog or feel free to open an issue on GitHub. Ideas, suggestions, and contributions are welcome! Thanks for checking out Issue Scout!
I wanted to contribute to open source, but I had no idea where to start. 🔍 When I first wanted to contribute to open source projects, I struggled to find a platform that could help me discover issues relevant to my interests. I knew I wanted to start contributing, but figuring out where to look, which issues to pick, and how to find projects that matched my skills was overwhelming. Finding GitHub issues isn’t the hard part. There are thousands of them. The real challenge is finding the ones that actually interest you. That’s why I built Issue Scout . 🚀 The idea is simple: instead of endlessly browsing repositories and scrolling through issues, you can filter opportunities based on what matters to you. With Issue Scout, you can narrow down issues by: 💻 Programming language 🏷️ Labels like good first issue , bug , and documentation 🎯 Suggested skill level 📅 Creation date 🔓 Issue status 🔎 Keywords and topics you’re interested in I’m also working on making the search experience more reliable, with automated tests for API behavior, combined filters, pagination, empty results, and GitHub rate limit handling. This project started with a problem I faced myself, and I hope it can make the first step into open source a little less confusing for someone else. 🚀 Try Issue Scout: https://issue-scout-chi.vercel.app/ 💻 Explore the code: https://github.com/sharmao07/issue-scout There’s still plenty to improve. I’d love to hear what filters, search features, or quality of life improvements would make this more useful for people getting started with open source contributions. 🎬 Video credits: The demo video was edited using Antigravity.
A small but exciting update on Issue Scout 🚀 Since my last devlog, I’ve been working on making it easier to find and share open source issues. Here’s what I added: 🔗 Shareable search links — You can now share a search with its filters, so someone else can open the same search without setting everything up again. 🎯 Direct issue links — Instead of searching for an issue manually, you can open it directly in Issue Scout. 👀 Issue preview API — Added an API endpoint to fetch issue details for those direct links and validate the response before displaying it. I also added tests for the new URL handling and ran the full checks. ✅ 30 tests passing ✅ No ESLint errors ✅ Production build successful The update is shipped and now waiting for review! 🤞 Still plenty to improve, but one step at a time. I’d love to hear what filters, search features, or quality of life improvements would make this more useful for people getting started with open source contributions. 🔗 Live: https://issue-scout-chi.vercel.app/ 💻 GitHub: https://github.com/sharmao07/issue-scout Back to building!
Issue Scout quick update 🚀 I have been doing some housekeeping on Issue Scout and trying to improve its maintainability. Some changes include: Breaking the enormous search page up into smaller pieces by splitting it into search form, issue cards, header, and pagination components. Separating issue preview into sections related to repository health, repository availability, repository readiness, and contribution tracking. Creating custom hooks for saved issues and contribution tracking, which includes syncing of bookmarks between tabs. Moving repository readiness scoring into a dedicated module and refactoring common GitHub validation into one place. Fixing the test discovery issue for skill level tests and removing redundant API route. Adding unit tests for new logic and storage behavior. README has received an update too and now it highlights what Issue Scout does, how to experience live demo, features, local development instructions, architecture and credits. ✅ 83 tests passing ✅ ESLint: no errors or warnings ✅ TypeScript: no errors ✅ Production build succeeded However, during my testing of the site on browser, I run into an error of a local Google Fonts problem, which I am resolving before confirming that I have completed the browser tests. Additionally, I am addressing a git sync problem before the push. This is mostly because the process involved the tidying up of what had been done before adding a new functionality. The next step will be to complete the manual tests. 🔗 Live demo: https://issue-scout-chi.vercel.app/ 💻 GitHub: https://github.com/sharmao07/issue-scout
Ships:
Issue Scout: Connecting the first search experience I built Issue Scout to solve a problem I faced myself. When I wanted to start contributing to open source, I had no clue where to begin. I struggled to find a platform that could help me discover issues matching my interests. Finding issues is easy. Finding the right issues was the hard part. So I decided to build my own solution. Issue Scout lets you filter GitHub issues by programming language, keywords, labels, suggested skill level, creation date, and status. The goal is to spend less time searching and more time contributing. One challenging part was making the filters work together reliably and handling GitHub Search API behavior, including pagination and rate limits. I’ve added automated API tests and have been refining the search experience. I’m proud that a problem I personally experienced turned into something other developers can use, especially people looking for their first open-source contribution. 🚀 Give it a try and let me know what you think! 🎬 I also made a short cinematic fly over demo of the project, edited using Antigravity....
|
1793015274.0240297
|
1793101674.0240297
|
|
70488
|
Billie by @Yousuff | Stardance
|
Yousuff
|
1
|
8.42
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T08:01:10Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Meet Billie, a little pixel-art cat who lives on your desktop! Built with Godot, Billie is a small desktop pet designed to bring a bit of life to your screen. She wanders around, changes direction when she reaches the screen edges, takes occasional breaks, and reacts when you interact with her. What Billie can do: Walk around your desktop automatically. Change direction when she reaches the edge of the screen. Play her turn_around animation during idle moments. Stop walking when you single-click her. Resume walking when you click her again. Meow when you double-click her. Do a little jump reaction when clicked. Billie is still a work in progress, and this is just the beginning. More cat-like behaviors, including sleeping, waking up, and additional interactions, are planned as development continues. She’s not here to do your work for you. She’s just here to keep you company while you do it.", "repo": "https://github.com/YousufProjs-exe/Billie/", "demo": "https://1M8ANANA.itch.io/billie"}]...
|
[{"post_id": 82028, "ts": "202 [{"post_id": 82028, "ts": "2026-10-23T14:42:08Z", "hours": 1.6614, "text": "Billie !! SHe now can be picked Up !!!!!!!!!!!!!! and ive smoothen all the animations too check got Billie and play with her on your Windows at https://1m8anana.itch.io/billie"}, {"post_id": 81782, "ts": "2026-10-22T13:44:27Z", "hours": 1.0003, "text": "Fixed Billies moments she getting stuck into the wall sleeping and waking up immediately to sleeps and wakes up only if the user interact with her ! smoothen waling animations !!!"}, {"post_id": 81752, "ts": "2026-10-22T11:21:01Z", "hours": 1.1156, "text": "Billie now listens you !! Single tab - Billie ‘meow’ Double tab - she ‘spins’ Triple tab - she sleeps"}, {"post_id": 81739, "ts": "2026-10-22T09:49:40Z", "hours": 1.6408, "text": "Billie now walks on floor ! fixed her broken walk animation and removed sleep to add again as - that too got broke :: but Billie is here !!!!"}, {"post_id": 81339, "ts": "2026-10-20T21:43:28Z", "hours": 0.6222, "text": "Billie - she spins ! she stops when you click one her she meow at you when you double tap her !"}, {"post_id": 81327, "ts": "2026-10-20T20:51:43Z", "hours": 0.5358, "text": "Billie now says Meow!!"}, {"post_id": 81309, "ts": "2026-10-20T19:28:06Z", "hours": 0.4783, "text": "Billie 😭 whts happening ! she got stuck!!!!"}, {"post_id": 81299, "ts": "2026-10-20T18:31:54Z", "hours": 1.1236, "text": "Billie can Move !!!!! but the animation is lil off ill fix it soon !"}, {"post_id": 81261, "ts": "2026-10-20T14:45:25Z", "hours": 0.3678, "text": "Billie is ready ! - finished the Godot setup and Billie design! - part 2 of the guide is done."}]...
|
Title: Billie by @Yousuff | Stardance
Devlogs:
Bi Title: Billie by @Yousuff | Stardance
Devlogs:
Billie is ready ! - finished the Godot setup and Billie design! - part 2 of the guide is done.
Billie can Move !!!!! but the animation is lil off ill fix it soon !
Billie 😭 whts happening ! she got stuck!!!!
Billie now says Meow!!
Billie - she spins ! she stops when you click one her she meow at you when you double tap her !
Billie now walks on floor ! fixed her broken walk animation and removed sleep to add again as - that too got broke :: but Billie is here !!!!
Billie now listens you !! Single tab - Billie ‘meow’ Double tab - she ‘spins’ Triple tab - she sleeps
Fixed Billies moments she getting stuck into the wall sleeping and waking up immediately to sleeps and wakes up only if the user interact with her ! smoothen waling animations !!!
Billie !! SHe now can be picked Up !!!!!!!!!!!!!! and ive smoothen all the animations too check got Billie and play with her on your Windows at https://1m8anana.itch.io/billie
Ships:
Meet Billie, a little pixel-art cat who lives on your desktop! Built with Godot, Billie is a small desktop pet designed to bring a bit of life to your screen. She wanders around, changes direction when she reaches the screen edges, takes occasional breaks, and reacts when you interact with her. What Billie can do: Walk around your desktop automatically. Change direction when she reaches the edge of the screen. Play her turn_around animation during idle moments. Stop walking when you single-click her. Resume walking when you click her again. Meow when you double-click her. Do a little jump reaction when clicked. Billie is still a work in progress, and this is just the beginning. More cat-like behaviors, including sleeping, waking up, and additional interactions, are planned as development continues. She’s not here to do your work for you. She’s just here to keep you company while you do it....
|
1793022453.1093376
|
1793108853.1093376
|
|
70512
|
MY PERSONAL SITE by @damu_7341 | Stardance
|
damu_7341
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T03:09:24Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I MADE MY OWN PERSONAL SITE OUT OF CURIOSITY,IDEAAND PLANNING. .THIS IS MADE WITH THE HELP OF CSS,HTML,GITHUB. .THIS IS MADE FOR HACK CLUB STAR DANCE. IN TIME LAPSE YOU CAN SEE A NAME HIGHLIGHTED IN INDEX.HTML IF YOU KEEP YOUR NAME THERE YOUR PERSOAL SITE WILL BE ON YOUR NAME. YOU CAN TRY IT WHEN YOU HAVE FREE TIME. GOOD LUCK..", "repo": "https://github.com/damu7341/damu7341.github.io", "demo": "https://damu7341.github.io"}]...
|
[{"post_id": 81382, "ts": "202 [{"post_id": 81382, "ts": "2026-10-21T02:41:55Z", "hours": 12.1147, "text": "I WORKED,TRIED TO BUILD MY OWN WEB SITE."}]...
|
Title: MY PERSONAL SITE by @damu_7341 | Stardance
Title: MY PERSONAL SITE by @damu_7341 | Stardance
Devlogs:
I WORKED,TRIED TO BUILD MY OWN WEB SITE.
Ships:
I MADE MY OWN PERSONAL SITE OUT OF CURIOSITY,IDEAAND PLANNING. .THIS IS MADE WITH THE HELP OF CSS,HTML,GITHUB. .THIS IS MADE FOR HACK CLUB STAR DANCE. IN TIME LAPSE YOU CAN SEE A NAME HIGHLIGHTED IN INDEX.HTML IF YOU KEEP YOUR NAME THERE YOUR PERSOAL SITE WILL BE ON YOUR NAME. YOU CAN TRY IT WHEN YOU HAVE FREE TIME. GOOD LUCK.....
|
1793026038.2535298
|
1793112438.2535298
|
|
70513
|
MarchingCubes (unity3d) by @Rohit_Biswas | Stardan MarchingCubes (unity3d) by @Rohit_Biswas | Stardance...
|
Rohit_Biswas
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T02:06:41Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finally, I made a cpu based simple marching cube algorithm especially for generating complex procedural terrain. during this project i faced so many mesh generation and cube config indexing problem even i almost gave up. However,i eventually got a really nice Stanford marching cube algorithm. After 30 hours of hard work i finally built it myself! I am really proud of my selft. Credits: Sebastian lague: https://www.youtube.com/watch?v=M3iI2l0ltbE Graphics Stanford Edu: https://graphics.stanford.edu/~mdfisher/MarchingCubes.html NVIDIA: https://developer.nvidia.com/gpugems/gpugems3/part-i-geometry/chapter-1-generating-complex-procedural-terrains-using-gpu b3agz: https://www.youtube.com/watch?v=dTdn3CC64sc&t=1368s Unity 2022.3", "repo": "https://github.com/BlooPlanet/MarchingCubes", "demo": "https://blooplanet.itch.io/marching-cube"}]...
|
[{"post_id": 81250, "ts": "202 [{"post_id": 81250, "ts": "2026-10-20T13:53:32Z", "hours": 0.6447, "text": "Day 3 Terrain generation with marching cube"}, {"post_id": 81213, "ts": "2026-10-20T10:12:58Z", "hours": 2.8022, "text": "Day 2 Marching cube mesh generation system"}, {"post_id": 80991, "ts": "2026-10-19T15:13:10Z", "hours": 14.9222, "text": "Day 1 I made march cube function that create mesh from the marching cube config index"}]...
|
Title: MarchingCubes (unity3d) by @Rohit_Biswas | Title: MarchingCubes (unity3d) by @Rohit_Biswas | Stardance
Devlogs:
Day 1 I made march cube function that create mesh from the marching cube config index
Day 2 Marching cube mesh generation system
Day 3 Terrain generation with marching cube
Ships:
Finally, I made a cpu based simple marching cube algorithm especially for generating complex procedural terrain. during this project i faced so many mesh generation and cube config indexing problem even i almost gave up. However,i eventually got a really nice Stanford marching cube algorithm. After 30 hours of hard work i finally built it myself! I am really proud of my selft. Credits: Sebastian lague: https://www.youtube.com/watch?v=M3iI2l0ltbE Graphics Stanford Edu: https://graphics.stanford.edu/~mdfisher/MarchingCubes.html NVIDIA: https://developer.nvidia.com/gpugems/gpugems3/part-i-geometry/chapter-1-generating-complex-procedural-terrains-using-gpu b3agz: https://www.youtube.com/watch?v=dTdn3CC64sc&t=1368s Unity 2022.3...
|
1793026039.1134455
|
1793112439.1134455
|
|
70535
|
FUGITIVE'S website by @FUGITIVE | Stardance
|
FUGITIVE
|
1
|
2.49
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T05:44:40Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "click if you want to see who am i- https://racer-x-blacklist.pages.dev/", "repo": "https://github.com/vidhantkiller15/my-site", "demo": "https://racer-x-blacklist.pages.dev/"}]...
|
[{"post_id": 82558, "ts": "202 [{"post_id": 82558, "ts": "2026-10-25T07:28:39Z", "hours": 0.4925, "text": "hold SHIFT and press X 5 times to see something… https://racer-x-blacklist.pages.dev"}, {"post_id": 81049, "ts": "2026-10-19T17:36:06Z", "hours": 2.2183, "text": "click if you want to see who am i- https://racer-x-blacklist.pages.dev/"}]...
|
Title: FUGITIVE'S website by @FUGITIVE | Stard Title: FUGITIVE'S website by @FUGITIVE | Stardance
Devlogs:
click if you want to see who am i- https://racer-x-blacklist.pages.dev/
hold SHIFT and press X 5 times to see something… https://racer-x-blacklist.pages.dev
Ships:
click if you want to see who am i- https://racer-x-blacklist.pages.dev/...
|
1793040490.4546344
|
1793126890.4546344
|
|
70649
|
Stardance Setup by @prathameshpvp | Stardance
|
prathameshpvp
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T16:15:04Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "PRATHAMESH.EXE — building my own little corner of the internet ✦ There’s something special about creating a place on the internet that feels entirely your own. PRATHAMESH.EXE started with a simple idea: what if my portfolio felt less like a résumé and more like stepping into a tiny digital world? Inspired by the early internet, Y2K aesthetics, and old-school terminal interfaces, I’ve been shaping it with dark backgrounds, neon pink and purple, pixel typography, and a boot sequence that makes opening a website feel a little like starting up a computer from another era. But I don’t want it to be nostalgia for the sake of nostalgia. I want it to grow with me — a home for my projects, experiments, ideas, and everything I’m still figuring out how to build. Along the way, I’m learning that good design is about more than making something look interesting. Every animation, font, and interaction should have a purpose. There’s still plenty to build, break, rethink, and improve. And honestly, that’s my favourite part. For now, the system is booting.", "repo": "https://github.com/prathameshparkhi/personal-website", "demo": "https://coeus-exoplanet-classifier.streamlit.app/"}]...
|
[{"post_id": 81277, "ts": "202 [{"post_id": 81277, "ts": "2026-10-20T16:11:28Z", "hours": 2.0761, "text": "I wanted to make my personal website feel less like a standard portfolio and more like a little digital world of its own. I went with a Y2K-inspired aesthetic, using a black background, neon pink and purple accents, Press Start 2P, and Space Mono to create that retro terminal feel. I also worked on the startup sequence, with messages like “INITIALISING SYSTEM…” and “LOADING STARFIELD…”, alongside a terminal-inspired layout for blog posts and development logs. One of the main things I’m trying to get right is balancing the visual effects with usability. I want the website to have personality without becoming cluttered or difficult to navigate. Next up: refining the responsive layout, polishing the interactions, and making the project sections feel more complete."}]...
|
Title: Stardance Setup by @prathameshpvp | Stardan Title: Stardance Setup by @prathameshpvp | Stardance
Devlogs:
I wanted to make my personal website feel less like a standard portfolio and more like a little digital world of its own. I went with a Y2K-inspired aesthetic, using a black background, neon pink and purple accents, Press Start 2P, and Space Mono to create that retro terminal feel. I also worked on the startup sequence, with messages like “INITIALISING SYSTEM…” and “LOADING STARFIELD…”, alongside a terminal-inspired layout for blog posts and development logs. One of the main things I’m trying to get right is balancing the visual effects with usability. I want the website to have personality without becoming cluttered or difficult to navigate. Next up: refining the responsive layout, polishing the interactions, and making the project sections feel more complete.
Ships:
PRATHAMESH.EXE — building my own little corner of the internet ✦ There’s something special about creating a place on the internet that feels entirely your own. PRATHAMESH.EXE started with a simple idea: what if my portfolio felt less like a résumé and more like stepping into a tiny digital world? Inspired by the early internet, Y2K aesthetics, and old-school terminal interfaces, I’ve been shaping it with dark backgrounds, neon pink and purple, pixel typography, and a boot sequence that makes opening a website feel a little like starting up a computer from another era. But I don’t want it to be nostalgia for the sake of nostalgia. I want it to grow with me — a home for my projects, experiments, ideas, and everything I’m still figuring out how to build. Along the way, I’m learning that good design is about more than making something look interesting. Every animation, font, and interaction should have a purpose. There’s still plenty to build, break, rethink, and improve. And honestly, that’s my favourite part. For now, the system is booting....
|
1793008333.6753273
|
1793094733.6753273
|
|
70655
|
handybits by @aryanscode | Stardance
|
aryanscode
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T16:41:39Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "yay shipped", "repo": "https://github.com/aryanscodingden/handybits", "demo": "https://handybits.vercel.app"}]...
|
[{"post_id": 81281, "ts": "202 [{"post_id": 81281, "ts": "2026-10-20T16:40:07Z", "hours": 4.2658, "text": "I was very sketchy about uploading random shit to websites, so I coded a toolkit where, locally, you can upload stuff, and it can be done all locally. For example: remove background, sign a PDF. everything that every other tool on the website on the internet needs. It uploads the files to a server and then to the dark web, so I didn’t want that. I just coded this over the weekend."}]...
|
Title: handybits by @aryanscode | Stardance
Devlo Title: handybits by @aryanscode | Stardance
Devlogs:
I was very sketchy about uploading random shit to websites, so I coded a toolkit where, locally, you can upload stuff, and it can be done all locally. For example: remove background, sign a PDF. everything that every other tool on the website on the internet needs. It uploads the files to a server and then to the dark web, so I didn’t want that. I just coded this over the weekend.
Ships:
yay shipped...
|
1793008334.779627
|
1793094734.779627
|
|
70759
|
Betterlectio by @JohannesNeighbourhood | Stardance
|
JohannesNeighbourhood
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T08:45:30Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I worked on a small part of a big project, that was based on a previous project of mine and @jonbng . A big part was understanding the codebase and the systems already setup.", "repo": "https://github.com/jonbng/betterlectio-android/", "demo": "https://betterlectio.dk/"}]...
|
[{"post_id": 81434, "ts": "202 [{"post_id": 81434, "ts": "2026-10-21T08:40:21Z", "hours": 2.5947, "text": "Worked on the admin dashboard, added several features including growth and a SoMe Insight!"}]...
|
Title: Betterlectio by @JohannesNeighbourhood | St Title: Betterlectio by @JohannesNeighbourhood | Stardance
Devlogs:
Worked on the admin dashboard, added several features including growth and a SoMe Insight!
Ships:
I worked on a small part of a big project, that was based on a previous project of mine and @jonbng . A big part was understanding the codebase and the systems already setup....
|
1793008357.6678386
|
1793094757.6678386
|
|
70823
|
fort.desktop by @ryni | Stardance
|
ryni
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T16:15:51Z", "hours": 32.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is fort.desktop! a tiny little client for fort.ind (my own game archive/sharkey instance) its made in universal windows platform and C# it has a couple features like browsing the fort.ind game archive, logging in with a fort.social account and browsing the instance and making posts! (that was tha hardest thing to get working) and live tiles. so like.. how do you use this since uwp apps are a core part of windows, all you need is ti extract the zip install the cert and click the .msix file and install from there (i also made a tiny script to speed up install if you dont wanna do that)", "repo": "https://github.com/fort-ind/uwp", "demo": "https://github.com/fort-ind/uwp/releases"}]...
|
[{"post_id": 81526, "ts": "202 [{"post_id": 81526, "ts": "2026-10-21T16:05:51Z", "hours": 32.2781, "text": "honestly been a while since i worked on this project.. but i bulit a lot (and learned how to not break a sharkey instance) these past few months ive been learning how to push content to a live tile :) i did also try out getting the windows share and ink apis to work.. a bunch of trial and error but now i can see i have inking support i got a lot more ideas to work on soon."}]...
|
Title: fort.desktop by @ryni | Stardance
Devlogs: Title: fort.desktop by @ryni | Stardance
Devlogs:
honestly been a while since i worked on this project.. but i bulit a lot (and learned how to not break a sharkey instance) these past few months ive been learning how to push content to a live tile :) i did also try out getting the windows share and ink apis to work.. a bunch of trial and error but now i can see i have inking support i got a lot more ideas to work on soon.
Ships:
this is fort.desktop! a tiny little client for fort.ind (my own game archive/sharkey instance) its made in universal windows platform and C# it has a couple features like browsing the fort.ind game archive, logging in with a fort.social account and browsing the instance and making posts! (that was tha hardest thing to get working) and live tiles. so like.. how do you use this since uwp apps are a core part of windows, all you need is ti extract the zip install the cert and click the .msix file and install from there (i also made a tiny script to speed up install if you dont wanna do that)...
|
1793018831.119275
|
1793105231.119275
|
|
70858
|
Personal website by @catlover125r | Stardance
|
catlover125r
|
1
|
29.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T20:32:05Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my personal site, built from scratch with plain HTML and CSS and hosted on Vercel. It covers my classes, projects, and what I do at Sequoia. I also featured the papers I made for data science projects (RunScore and RecovHR). A recent addition was a heatmap for my running. If you click “Cross Country & Track” it opens a heatmap of every run I’ve recorded on my COROS watch. Hidden pages: /momrecipe brings you to a collection of my mom’s 345 recipes that I have digitized for her. /reciptpolaroid was built for a party where you can take a photo on your phone and it will print it on a receipt printer for a makeshift polaroid. /CalcPlot3D is a self hosted copy of CalcPlot3D because I like it so much I don’t want to lose it.", "repo": "https://github.com/catlover125r/lukepopler.me", "demo": "https://lukepopler.me"}]...
|
[{"post_id": 81630, "ts": "202 [{"post_id": 81630, "ts": "2026-10-21T20:29:29Z", "hours": 29.4625, "text": "My personal site, built from scratch with plain HTML and CSS and hosted on Vercel. It covers my classes, projects, and what I do at Sequoia. I also featured the papers I made for data science projects (RunScore and RecovHR). A recent addition was a heatmap for my running. If you click “Cross Country & Track” it opens a heatmap of every run I’ve recorded on my COROS watch. Hidden pages: /momrecipe brings you to a collection of my mom’s 345 recipes that I have digitized for her. /reciptpolaroid was built for a party where you can take a photo on your phone and it will print it on a receipt printer for a makeshift polaroid. /CalcPlot3D is a self hosted copy of CalcPlot3D because I like it so much I don’t want to lose it."}]...
|
Title: Personal website by @catlover125r | Stardan Title: Personal website by @catlover125r | Stardance
Devlogs:
My personal site, built from scratch with plain HTML and CSS and hosted on Vercel. It covers my classes, projects, and what I do at Sequoia. I also featured the papers I made for data science projects (RunScore and RecovHR). A recent addition was a heatmap for my running. If you click “Cross Country & Track” it opens a heatmap of every run I’ve recorded on my COROS watch. Hidden pages: /momrecipe brings you to a collection of my mom’s 345 recipes that I have digitized for her. /reciptpolaroid was built for a party where you can take a photo on your phone and it will print it on a receipt printer for a makeshift polaroid. /CalcPlot3D is a self hosted copy of CalcPlot3D because I like it so much I don’t want to lose it.
Ships:
This is my personal site, built from scratch with plain HTML and CSS and hosted on Vercel. It covers my classes, projects, and what I do at Sequoia. I also featured the papers I made for data science projects (RunScore and RecovHR). A recent addition was a heatmap for my running. If you click “Cross Country & Track” it opens a heatmap of every run I’ve recorded on my COROS watch. Hidden pages: /momrecipe brings you to a collection of my mom’s 345 recipes that I have digitized for her. /reciptpolaroid was built for a party where you can take a photo on your phone and it will print it on a receipt printer for a makeshift polaroid. /CalcPlot3D is a self hosted copy of CalcPlot3D because I like it so much I don’t want to lose it....
|
1793047914.0766442
|
1793134314.0766442
|
|
70952
|
Bobby by @Rohan | Stardance
|
Rohan
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-22T17:54:17Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a basic slack bot for the slack bot mission, It is hosted on the hackclub nest!!! It has 3 commands: /bobby-ping : Checks if the bot is running and it’s latency /bobby-fact-of-the-day : Gives a random fact that refreshes daily!!! /bobby-catpics : Gives a random cat pic yayaya I used a bit of AI, mainly for debugging and some functions in JS was a bit of a learning curve since I barely use it and last time I used it was months ago however it went pretty smoothly overall : DDD", "repo": "https://github.com/Rohan317685/Bobby", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 81835, "ts": "202 [{"post_id": 81835, "ts": "2026-10-22T17:51:17Z", "hours": 0.7519, "text": "I just finished the codebase, I have to host it on nest and it should be ready to ship. I have also made the Readme and used a couple API’s to fetch a random cat pic and a random fact that refreshes everyday I found them through https://free-apis.github.io/ and I don’t code much in JS so this was a bit of a learning experience for me lol"}]...
|
Title: Bobby by @Rohan | Stardance
Devlogs:
I jus Title: Bobby by @Rohan | Stardance
Devlogs:
I just finished the codebase, I have to host it on nest and it should be ready to ship. I have also made the Readme and used a couple API’s to fetch a random cat pic and a random fact that refreshes everyday I found them through https://free-apis.github.io/ and I don’t code much in JS so this was a bit of a learning experience for me lol
Ships:
I made a basic slack bot for the slack bot mission, It is hosted on the hackclub nest!!! It has 3 commands: /bobby-ping : Checks if the bot is running and it’s latency /bobby-fact-of-the-day : Gives a random fact that refreshes daily!!! /bobby-catpics : Gives a random cat pic yayaya I used a bit of AI, mainly for debugging and some functions in JS was a bit of a learning curve since I barely use it and last time I used it was months ago however it went pretty smoothly overall : DDD...
|
1793048119.3719487
|
1793134519.3719487
|
|
71174
|
unipards_fms by @ElvisTang | Stardance
|
ElvisTang
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T12:22:57Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I modified come of the visuals shown to the audience.", "repo": "https://github.com/ElvisTang0823/unipards-2027fms", "demo": "https://github.com/ElvisTang0823/unipards-2027fms/blob/main/README.md"}]...
|
[{"post_id": 82257, "ts": "202 [{"post_id": 82257, "ts": "2026-10-24T12:18:02Z", "hours": 21.5606, "text": "I modified some of the visuals shown to the audience."}]...
|
Title: unipards_fms by @ElvisTang | Stardance
Dev Title: unipards_fms by @ElvisTang | Stardance
Devlogs:
I modified some of the visuals shown to the audience.
Ships:
I modified come of the visuals shown to the audience....
|
1792993983.7654564
|
1793080383.7654564
|
|
71302
|
Astravex by @AnnaBritTea | Stardance
|
AnnaBritTea
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T11:37:06Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Astravex is an interactive 3D satellite orbit simulator developed in C++17, using SDL3 for rendering and Dear ImGui for its graphical interface.", "repo": "https://github.com/Ana9917/Astravex", "demo": "https://github.com/Ana9917/Astravex/releases/tag/v1.0.0"}]...
|
[{"post_id": 82598, "ts": "202 [{"post_id": 82598, "ts": "2026-10-25T11:34:18Z", "hours": 13.5939, "text": "Trying to package this thing correctly"}]...
|
Title: Astravex by @AnnaBritTea | Stardance
Devlo Title: Astravex by @AnnaBritTea | Stardance
Devlogs:
Trying to package this thing correctly
Ships:
Astravex is an interactive 3D satellite orbit simulator developed in C++17, using SDL3 for rendering and Dear ImGui for its graphical interface....
|
1793015276.9465356
|
1793101676.9465356
|
|
71331
|
CALM by @syedakhter | Stardance
|
syedakhter
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T15:32:48Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This website is going to calm you down and also needs your information.", "repo": "https://github.com/8051987-eng/CALM", "demo": "https://8051987-eng.github.io/CALM/"}]...
|
[{"post_id": 82671, "ts": "202 [{"post_id": 82671, "ts": "2026-10-25T15:31:49Z", "hours": 2.1792, "text": "I made a calming website"}]...
|
Title: CALM by @syedakhter | Stardance
Devlogs:
I Title: CALM by @syedakhter | Stardance
Devlogs:
I made a calming website
Ships:
This website is going to calm you down and also needs your information....
|
1793033258.2114613
|
1793119658.2114613
|
|
71419
|
Nexus by @elias | Stardance
|
elias
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T03:45:09Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Wanted a way to actually find things on I2P, so I built the crawler, the index and the search UI for it, plus a dashboard for the i2pd router behind it. For months it only ran in Docker on a Linux host, which meant I could never show it to anyone. Tonight I got the whole thing running natively on my Mac, which is why there is finally a demo. The index in the video is the sample corpus rather than a full crawl, because a real crawl of I2P takes hours.", "repo": "https://github.com/tundra-node/nexus", "demo": "https://files.catbox.moe/urwmig.mp4"}]...
|
[{"post_id": 82869, "ts": "202 [{"post_id": 82869, "ts": "2026-10-26T03:38:08Z", "hours": 9.3975, "text": "I2P has thousands of sites and no good way to find them. Addresses are 52-character base32 strings. There is no DNS. The few search engines that exist crawl on their own schedule and hand you a title and a link. When a site goes dark, whatever it had is gone. Nexus is my attempt at the discovery part. It is one repo with two apps that share a single i2pd router. Abyssal The public side. A crawler fetches eepsites, stores what it finds, and builds a full text index on top. The index is SQLite FTS5 with porter stemming, so searching tunnels also matches pages that say tunnel . Results can be narrowed by language and by site type (directory, docs, forum, stats, service). There is a browse view too, for when you do not have a query and just want to see what exists. A graph view is built from links the crawler actually found, which is how you run into sites that no directory lists. Every capture also gets written to disk, so there is an archive of old versions. If a site disappears you can still open what it looked like the last time it was crawled. The crawler has controls because crawling I2P politely matters. Up to 20 workers sharing one proxy connection, a delay between requests per worker, a page limit, a depth limit, and pause, resume or rerun on a job. A scheduler re-crawls sites on an interval so the index does not rot. Prism The private side, a dashboard for the router you are running. Peers, tunnel counts, bandwidth, tunnel build success rate and uptime, plus a tunnel list so you can see the state of each one. There is a browser tab that proxies .i2p pages through your own router and rewrites links so clicking around stays inside the proxy, and an address book manager for hosts.txt subscriptions. That whole side sits behind an api key header, because it controls your router. How it is put together Every service is FastAPI. The index and the archive metadata live in SQLite. Both frontends are React with Vite and Tailwind. One nginx container is the entry point, and Docker Compose brings up i2pd, the crawler, both frontends and the proxy. Where it is at 23 commits, all from June 2026. The Docker stack runs on a Linux host, which was the only supported way to run it, because i2pd needs host networking to publish its LeaseSet. I have been working on running it natively since then, since a project you cannot run on your own machine is annoying to improve. Abyssal now starts outside Docker against a local SQLite file and a Homebrew i2pd, and both frontends build and talk to it. That gets its own devlog. I still want a read-only public mirror of the index, per-site crawl delays so the crawler is easier on small hosts, and some way to handle old captures being reused for bad stuff."}]...
|
Title: Nexus by @elias | Stardance
Devlogs:
I2P h Title: Nexus by @elias | Stardance
Devlogs:
I2P has thousands of sites and no good way to find them. Addresses are 52-character base32 strings. There is no DNS. The few search engines that exist crawl on their own schedule and hand you a title and a link. When a site goes dark, whatever it had is gone. Nexus is my attempt at the discovery part. It is one repo with two apps that share a single i2pd router. Abyssal The public side. A crawler fetches eepsites, stores what it finds, and builds a full text index on top. The index is SQLite FTS5 with porter stemming, so searching tunnels also matches pages that say tunnel . Results can be narrowed by language and by site type (directory, docs, forum, stats, service). There is a browse view too, for when you do not have a query and just want to see what exists. A graph view is built from links the crawler actually found, which is how you run into sites that no directory lists. Every capture also gets written to disk, so there is an archive of old versions. If a site disappears you can still open what it looked like the last time it was crawled. The crawler has controls because crawling I2P politely matters. Up to 20 workers sharing one proxy connection, a delay between requests per worker, a page limit, a depth limit, and pause, resume or rerun on a job. A scheduler re-crawls sites on an interval so the index does not rot. Prism The private side, a dashboard for the router you are running. Peers, tunnel counts, bandwidth, tunnel build success rate and uptime, plus a tunnel list so you can see the state of each one. There is a browser tab that proxies .i2p pages through your own router and rewrites links so clicking around stays inside the proxy, and an address book manager for hosts.txt subscriptions. That whole side sits behind an api key header, because it controls your router. How it is put together Every service is FastAPI. The index and the archive metadata live in SQLite. Both frontends are React with Vite and Tailwind. One nginx container is the entry point, and Docker Compose brings up i2pd, the crawler, both frontends and the proxy. Where it is at 23 commits, all from June 2026. The Docker stack runs on a Linux host, which was the only supported way to run it, because i2pd needs host networking to publish its LeaseSet. I have been working on running it natively since then, since a project you cannot run on your own machine is annoying to improve. Abyssal now starts outside Docker against a local SQLite file and a Homebrew i2pd, and both frontends build and talk to it. That gets its own devlog. I still want a read-only public mirror of the index, per-site crawl delays so the crawler is easier on small hosts, and some way to handle old captures being reused for bad stuff.
Ships:
Wanted a way to actually find things on I2P, so I built the crawler, the index and the search UI for it, plus a dashboard for the i2pd router behind it. For months it only ran in Docker on a Linux host, which meant I could never show it to anyone. Tonight I got the whole thing running natively on my Mac, which is why there is finally a demo. The index in the video is the sample corpus rather than a full crawl, because a real crawl of I2P takes hours....
|
1793112490.3435047
|
1793198890.3435047
|
|
71584
|
Devlog Timer by @aarivpatel | Stardance
|
aarivpatel
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-27T12:11:59Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Shipping Devlog Timer v1.0 for the Frictionless mission! Keyboard-first Pomodoro focus timer and Stardance devlog drafting workbench that logs timestamped milestone notes as you code and exports ready-to-post Markdown devlogs.", "repo": "https://github.com/draarivpatel-ui/devlog-timer", "demo": "https://aariv.me/devlog-timer/"}]...
|
[{"post_id": 83223, "ts": "202 [{"post_id": 83223, "ts": "2026-10-27T12:10:44Z", "hours": 8.4536, "text": "Built and deployed Devlog Timer for the Frictionless mission! Over 8h 27m of coding sessions tracked across Claude Code and OpenCode, I put together a keyboard-first Pomodoro focus timer and Stardance devlog drafting workbench that logs timestamped milestone notes during each coding sprint, tracks focus streaks in localStorage, and compiles session notes into ready-to-post Markdown devlogs with one click. Live demo and MIT repo are linked on the project."}]...
|
Title: Devlog Timer by @aarivpatel | Stardance
De Title: Devlog Timer by @aarivpatel | Stardance
Devlogs:
Built and deployed Devlog Timer for the Frictionless mission! Over 8h 27m of coding sessions tracked across Claude Code and OpenCode, I put together a keyboard-first Pomodoro focus timer and Stardance devlog drafting workbench that logs timestamped milestone notes during each coding sprint, tracks focus streaks in localStorage, and compiles session notes into ready-to-post Markdown devlogs with one click. Live demo and MIT repo are linked on the project.
Ships:
Shipping Devlog Timer v1.0 for the Frictionless mission! Keyboard-first Pomodoro focus timer and Stardance devlog drafting workbench that logs timestamped milestone notes as you code and exports ready-to-post Markdown devlogs....
|
1793105238.9870286
|
1793191638.9870286
|
|
71613
|
S.A.S.S.I by @Bobert3D | Stardance
|
Bobert3D
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-27T15:46:36Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a sassi code checker and helps you out!", "repo": "https://github.com/Bobert3D/S.A.S.S.I", "demo": "https://github.com/Bobert3D/S.A.S.S.I/releases/tag/V2_Release"}]...
|
[{"post_id": 83263, "ts": "202 [{"post_id": 83263, "ts": "2026-10-27T15:45:53Z", "hours": 8.1764, "text": "So basically I had to like get my life together and continue the main code and the docs TOOOK SOOO long sadly and I thought Abt using ai but no it may look weird but that’s my style and I wanted it to be detailed but I got rejected from PortPUter sadly bc my hackatime was 2 different projects and I hope y’all like it!!"}]...
|
Title: S.A.S.S.I by @Bobert3D | Stardance
Devlogs Title: S.A.S.S.I by @Bobert3D | Stardance
Devlogs:
So basically I had to like get my life together and continue the main code and the docs TOOOK SOOO long sadly and I thought Abt using ai but no it may look weird but that’s my style and I wanted it to be detailed but I got rejected from PortPUter sadly bc my hackatime was 2 different projects and I hope y’all like it!!
Ships:
This is a sassi code checker and helps you out!...
|
1793116034.1167643
|
1793202434.1167643
|
|
121
|
Image to Equation converter by @cziwu2010 | Starda Image to Equation converter by @cziwu2010 | Stardance...
|
cziwu2010
|
2
|
36.0
|
581
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T05:37:27Z", "hours": 27.0, "multiplier": 18.45, "payout": 445, "blessing": "neutral", "text": "A program that converts an image into a graph. Improved: Reduced equation output amount by almost half, allowing more detailed graphs without crashing desmos New architecture debug option What’s next: color", "repo": "https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2", "demo": "https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2/releases/tag/v1.1"}, {"ship_num": 2, "ts": "2026-06-04T17:39:26Z", "hours": 9.0, "multiplier": 15.16, "payout": 136, "blessing": "neutral", "text": "My first major project: a raster image to equation converter. It converts the upload image into a set of equations that when plotted shows the edges of the image. There’s still limitations from the programme but I continue on iterating and improving on it.", "repo": "https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2", "demo": "https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2/releases/tag/v1.1"}]...
|
[{"post_id": 77483, "ts": "202 [{"post_id": 77483, "ts": "2026-10-07T05:30:07Z", "hours": 3.6806, "text": "v1.1 is complete: https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2/releases/tag/v1.1"}, {"post_id": 75474, "ts": "2026-09-30T06:00:02Z", "hours": 11.6989, "text": "ok so i just relogged into stardance and i forgot to devlog it so now i have 11hours and 34minutes unlogged. So basically i tested multiple methods to reduce the equation count and also trying to get rid of the potrace double line and I finally did it. The previous version using potrace outputed 1398 equations while the new one outputed only 649. Almost halfed the previous amount. And now it’s just a single line compared to the double lines that potrace outputed. I’m planning to put this on browser so it’s easily accessable. (first image: previous ver, second image: new reduced ver third image: potrace double line output fourth image: reduced ver) to see the code: skanny.py https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2"}, {"post_id": 57379, "ts": "2026-08-29T14:42:40Z", "hours": 10.7344, "text": "update: Improved the converter to output wayyyyyy fewer equations while maintaining graph quality and improved performance"}, {"post_id": 4138, "ts": "2026-06-07T10:34:49Z", "hours": 0.4356, "text": "turned this into an executable"}, {"post_id": 2255, "ts": "2026-06-04T17:23:28Z", "hours": 1.5056, "text": "okay"}, {"post_id": 1314, "ts": "2026-06-03T07:17:24Z", "hours": 3.1794, "text": "Will prob release this week. Almost done"}, {"post_id": 238, "ts": "2026-06-01T11:18:07Z", "hours": 4.5825, "text": "in progress"}]...
|
Title: Image to Equation converter by @cziwu2010 | Title: Image to Equation converter by @cziwu2010 | Stardance
Devlogs:
in progress
Will prob release this week. Almost done
okay
turned this into an executable
update: Improved the converter to output wayyyyyy fewer equations while maintaining graph quality and improved performance
ok so i just relogged into stardance and i forgot to devlog it so now i have 11hours and 34minutes unlogged. So basically i tested multiple methods to reduce the equation count and also trying to get rid of the potrace double line and I finally did it. The previous version using potrace outputed 1398 equations while the new one outputed only 649. Almost halfed the previous amount. And now it’s just a single line compared to the double lines that potrace outputed. I’m planning to put this on browser so it’s easily accessable. (first image: previous ver, second image: new reduced ver third image: potrace double line output fourth image: reduced ver) to see the code: skanny.py https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2
v1.1 is complete: https://github.com/cziwu12/Raster-Image-to-Graph-Converter-2/releases/tag/v1.1
Ships:
My first major project: a raster image to equation converter. It converts the upload image into a set of equations that when plotted shows the edges of the image. There’s still limitations from the programme but I continue on iterating and improving on it.
A program that converts an image into a graph. Improved: Reduced equation output amount by almost half, allowing more detailed graphs without crashing desmos New architecture debug option What’s next: color...
|
1793116548.3289042
|
1793202948.3289042
|
|
181
|
Trulles Minion by @trulle123 | Stardance
|
trulle123
|
2
|
4.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T03:16:30Z", "hours": 2.0, "multiplier": 4.61, "payout": 5, "blessing": "neutral", "text": "I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It has a simple comand to check my local weather using an API, it also has a welcome message for people joining my channel, a command to get the join link to my priv channel. And last but not least if you ping it responds with some random garbage (as a kinda mock ai this intentionally really stupid)", "repo": "https://github.com/Trulle1234/Trulles-Minion-Slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0945H3P2GN"}, {"ship_num": 2, "ts": "2026-06-20T21:35:28Z", "hours": 2.0, "multiplier": 2.15, "payout": 4, "blessing": "neutral", "text": "I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It also has a simple comand to check my local weather using an API.", "repo": "https://github.com/Trulle1234/Trulles-Minion-Slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0945H3P2GN"}]...
|
[{"post_id": 14316, "ts": "202 [{"post_id": 14316, "ts": "2026-06-23T12:26:36Z", "hours": 0.7997, "text": "Added integration with HC AI to rearrange the words in a more logical order / change the grammar of words This to introduce some logic while still keep the randomness It uses ai.hackclub.com with Gemini 2.5 Flash Lite Preview 09-2025 as its really fast. Unfortunetly HC AI is currently down so I’ll have to wait with subbmitting untill its up again"}, {"post_id": 13077, "ts": "2026-06-21T12:06:42Z", "hours": 0.9778, "text": "Added a random reply when bot is pinged and a command to get the workflow to join my priv channel The random reply checks for the app_mention event and then uses a random word API to give random words (1-5). The /enter-trulles-basement commad just sends an “Only vissable to you” message with the link to the workflow."}, {"post_id": 13032, "ts": "2026-06-21T09:48:50Z", "hours": 0.405, "text": "Added a welcome messege for people joining #trulleathon This replaces an old winterflows workflow I was using. It uses the event member_joined_channel and then checks is the channel is the target one. Finaly it sends a messge using app.client.chat.postMessage() ( event.user is used to know who joined)."}, {"post_id": 12753, "ts": "2026-06-20T21:05:47Z", "hours": 0.5233, "text": "Hosted the bot on Nest and added a daily and weekly update prompt. My nest application got aproved so now the bot is there. I have long been using a Slackbot reminder for this so i thought now that im making a bot is an amazing opportunity to replace that. The reminders are sent on a regular schedule to my channel using a cron job."}, {"post_id": 11806, "ts": "2026-06-19T06:48:33Z", "hours": 1.3019, "text": "Added the help and ping commands from the tutorial + a command to check my local weather. /trulles-minion-ping checks latency. /trulles-minion-help shows all comands and what they do. /trulles-weather shows my local temperature. It uses the SMHI weather API from apiverket.se ."}]...
|
Title: Trulles Minion by @trulle123 | Stardance
D Title: Trulles Minion by @trulle123 | Stardance
Devlogs:
Added the help and ping commands from the tutorial + a command to check my local weather. /trulles-minion-ping checks latency. /trulles-minion-help shows all comands and what they do. /trulles-weather shows my local temperature. It uses the SMHI weather API from apiverket.se .
Hosted the bot on Nest and added a daily and weekly update prompt. My nest application got aproved so now the bot is there. I have long been using a Slackbot reminder for this so i thought now that im making a bot is an amazing opportunity to replace that. The reminders are sent on a regular schedule to my channel using a cron job.
Added a welcome messege for people joining #trulleathon This replaces an old winterflows workflow I was using. It uses the event member_joined_channel and then checks is the channel is the target one. Finaly it sends a messge using app.client.chat.postMessage() ( event.user is used to know who joined).
Added a random reply when bot is pinged and a command to get the workflow to join my priv channel The random reply checks for the app_mention event and then uses a random word API to give random words (1-5). The /enter-trulles-basement commad just sends an “Only vissable to you” message with the link to the workflow.
Added integration with HC AI to rearrange the words in a more logical order / change the grammar of words This to introduce some logic while still keep the randomness It uses ai.hackclub.com with Gemini 2.5 Flash Lite Preview 09-2025 as its really fast. Unfortunetly HC AI is currently down so I’ll have to wait with subbmitting untill its up again
Ships:
I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It also has a simple comand to check my local weather using an API.
I made a simple slack bot that sends my daily updates (to replace slackbot reminders). It has a simple comand to check my local weather using an API, it also has a welcome message for people joining my channel, a command to get the join link to my priv channel. And last but not least if you ping it responds with some random garbage (as a kinda mock ai this intentionally really stupid)...
|
1792994087.7846866
|
1793080487.7846866
|
|
280
|
Ks' Corner by @Ks | Stardance
|
Ks
|
2
|
37.14
|
325
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T22:34:46Z", "hours": 15.0, "multiplier": 12.18, "payout": 177, "blessing": "neutral", "text": "This website is still a work in progress, but am shipping right now for Playground [I don’t know how to add it to the mission though] (Note: Find Lavender though Games -> Lavender’s Home -> Lavender) I hated doing the phone version, couldn’t get patting for the phone in any single way, but it works well on PC, (hover the mouse and move it a bit) In this update you also have the main Math page, still working on the smaller pages, might have to bring up Manim or something soon for them, and added a calculator!", "repo": "https://github.com/Ks-Marbs/ks-corner", "demo": "https://ks-marbs.github.io/ks-corner/"}, {"ship_num": 2, "ts": "2026-06-29T19:55:54Z", "hours": 20.0, "multiplier": 7.33, "payout": 148, "blessing": "neutral", "text": "My first website attempt Honestly too lazy to learn HTML so made it in Godot ’o-o Any and all feedback is appreciated", "repo": "https://github.com/Ks-Marbs/ks-corner", "demo": "https://ks-marbs.github.io/ks-corner/"}]...
|
[{"post_id": 81479, "ts": "202 [{"post_id": 81479, "ts": "2026-10-21T12:45:22Z", "hours": 2.1442, "text": "Added small pages for all three of my [old] series Tweaked Lavender a bit too"}, {"post_id": 79180, "ts": "2026-10-12T22:28:17Z", "hours": 2.5675, "text": "Finished adding Lavender, And her game page! Will ship for now so it qualifyies for Playground but ill still finish the other pages 🪻"}, {"post_id": 77385, "ts": "2026-10-06T19:00:40Z", "hours": 2.8272, "text": "Added the Lavender’s home page, and just added… Lavender?"}, {"post_id": 76020, "ts": "2026-10-02T02:34:12Z", "hours": 2.265, "text": "Made pages for room sokoban and Unn Rhyhtm game, as well as bugfixed the calculator on phone, as it was coming too small for the screen"}, {"post_id": 73376, "ts": "2026-09-25T01:17:36Z", "hours": 2.6642, "text": "Oh hey, we actually did a calculator… [sort of, its just a fancy keyboard and parcing in godot but i’m too lazy to make a full calculator] No idea what to do next except writing… ‘– It’s so boooooorinng"}, {"post_id": 70148, "ts": "2026-09-18T15:41:53Z", "hours": 2.2397, "text": "Added the Math page! Planning on adding a calculator “page” later, and maybe adding more articles written by myself when i have time ;-;"}, {"post_id": 65673, "ts": "2026-09-10T23:44:19Z", "hours": 2.0031, "text": "Updated godot from 4.5 to 4.7 It broke the image sizing so i fixed it ( ’–)"}, {"post_id": 18596, "ts": "2026-06-29T19:41:44Z", "hours": 4.6339, "text": "Finished the website (mostly) I think its nice enough to ship :] Should update with photos and irl prizes when i’m more comfortable sharing my irl name but except that, it works Added a very nice BG and pictures and audios"}, {"post_id": 13493, "ts": "2026-06-22T02:49:40Z", "hours": 4.1911, "text": "Week 15 to 21 worked mostly on getting the site phone ready. also began developing some features/Easter eggs. I’m develoging through phone and it does not have the enter key to type \\n"}, {"post_id": 9607, "ts": "2026-06-16T00:23:39Z", "hours": 5.5392, "text": "Week: 8->14/6 I’m not home so I hope this goes in time for the weekly stickers T-T This week I worked mostly on phone adaptation, also looked how to make each of the pages actual pages, and made the start screen text! Also discovered that images can go directly on text so will use that to my advantage :]"}, {"post_id": 4360, "ts": "2026-06-07T17:32:43Z", "hours": 0.7628, "text": "Images are now working! plans for the future is making the site diferent for phone i.e. vertical"}, {"post_id": 3881, "ts": "2026-06-06T23:37:48Z", "hours": 0.6258, "text": "Am I wrong for doing exactly 30 minutes everyday just so I can get all da stickers? But yeah, somehow typing all this and making it work for more than 1 mini page took 35 minutes"}, {"post_id": 3220, "ts": "2026-06-06T01:33:03Z", "hours": 3.0619, "text": "So in these last few days: Updated the site to make it scalable Made it so text exists Figuring out how to add images that move with the text (Hackatime changed the name of the project so I didn’t devlog since I didn’t see it did, please don’t remove my stickers)"}, {"post_id": 1014, "ts": "2026-06-02T20:06:21Z", "hours": 0.8453, "text": "Began building the website in Godot, and am creating the github repo (before i forget) Figured out how to make the mouse do the thingy where it turns into a “you can click here” thingy (unable to screenshot that but most of y’all know it) Began searching for how to turn scenes into pages in Godot -> HTML"}, {"post_id": 496, "ts": "2026-06-01T23:38:07Z", "hours": 0.5667, "text": "Heyyyy🟡 idk why but i can only type the title? Anyway, began doing a sketch at canva for reference"}]...
|
Title: Ks' Corner by @Ks | Stardance
Devlogs: Title: Ks' Corner by @Ks | Stardance
Devlogs:
Heyyyy🟡 idk why but i can only type the title? Anyway, began doing a sketch at canva for reference
Began building the website in Godot, and am creating the github repo (before i forget) Figured out how to make the mouse do the thingy where it turns into a “you can click here” thingy (unable to screenshot that but most of y’all know it) Began searching for how to turn scenes into pages in Godot -> HTML
So in these last few days: Updated the site to make it scalable Made it so text exists Figuring out how to add images that move with the text (Hackatime changed the name of the project so I didn’t devlog since I didn’t see it did, please don’t remove my stickers)
Am I wrong for doing exactly 30 minutes everyday just so I can get all da stickers? But yeah, somehow typing all this and making it work for more than 1 mini page took 35 minutes
Images are now working! plans for the future is making the site diferent for phone i.e. vertical
Week: 8->14/6 I’m not home so I hope this goes in time for the weekly stickers T-T This week I worked mostly on phone adaptation, also looked how to make each of the pages actual pages, and made the start screen text! Also discovered that images can go directly on text so will use that to my advantage :]
Week 15 to 21 worked mostly on getting the site phone ready. also began developing some features/Easter eggs. I’m develoging through phone and it does not have the enter key to type \n
Finished the website (mostly) I think its nice enough to ship :] Should update with photos and irl prizes when i’m more comfortable sharing my irl name but except that, it works Added a very nice BG and pictures and audios
Updated godot from 4.5 to 4.7 It broke the image sizing so i fixed it ( ’–)
Added the Math page! Planning on adding a calculator “page” later, and maybe adding more articles written by myself when i have time ;-;
Oh hey, we actually did a calculator… [sort of, its just a fancy keyboard and parcing in godot but i’m too lazy to make a full calculator] No idea what to do next except writing… ‘– It’s so boooooorinng
Made pages for room sokoban and Unn Rhyhtm game, as well as bugfixed the calculator on phone, as it was coming too small for the screen
Added the Lavender’s home page, and just added… Lavender?
Finished adding Lavender, And her game page! Will ship for now so it qualifyies for Playground but ill still finish the other pages 🪻
Added small pages for all three of my [old] series Tweaked Lavender a bit too
Ships:
My first website attempt Honestly too lazy to learn HTML so made it in Godot ’o-o Any and all feedback is appreciated
This website is still a work in progress, but am shipping right now for Playground [I don’t know how to add it to the mission though] (Note: Find Lavender though Games -> Lavender’s Home -> Lavender) I hated doing the phone version, couldn’t get patting for the phone in any single way, but it works well on PC, (hover the mouse and move it a bit) In this update you also have the main Math page, still working on the smaller pages, might have to bring up Manim or something soon for them, and added a calculator!...
|
1793116098.3750026
|
1793202498.3750026
|
|
286
|
My Website by @stefdp | Stardance
|
stefdp
|
2
|
7.75
|
28
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-29T10:49:14Z", "hours": 3.0, "multiplier": 5.13, "payout": 16, "blessing": "neutral", "text": "I updated the webring code so that now: The webring is on the bottom right (moved neko credits from bottom right to bottom center), a bit more above the bottom so that on small screens like phones it doesn’t overlap with the credits It’s now vertical Added a new webring ( https://horser.ing , only for friends) and so i added a select to choose the ring and also a ?webring query that auto selects given ring (currently as values there’s hackclub for hc ring and horsering for the horsering) it’s wasn’t really challenging, only thing that took me a bit was find out which class added a horizontal padding to the select cuz none of my tailwind classes added it, then i found out it was DaisyUI’s btn class", "repo": "https://git.stefdp.com/Stef/personal-site", "demo": "https://stefdp.com"}, {"ship_num": 2, "ts": "2026-06-06T12:53:05Z", "hours": 1.0, "multiplier": 8.07, "payout": 12, "blessing": "neutral", "text": "I added a switch for plain text & code in the about me section and switched from nix webring to hackclub webring nothnig was really challenging, only issue i had was that the webring iframe for some reason looked good on my laptop but when i pushed to prod it got some weird white bg, couldn’t figure out how to fix it so i just ended up making my own buttons (and also added a random page button which official webring doesn’t have! :D)", "repo": "https://git.stefdp.com/Stef/personal-site", "demo": "https://stefdp.com"}]...
|
[{"post_id": 71777, "ts": "202 [{"post_id": 71777, "ts": "2026-09-21T15:03:47Z", "hours": 2.6286, "text": "Updated the main embed to add social links and page specific text/images too and also fix buttons’ urls"}, {"post_id": 70204, "ts": "2026-09-18T18:12:30Z", "hours": 1.1197, "text": "Added the new discord embed with components v2"}, {"post_id": 36934, "ts": "2026-07-29T10:42:29Z", "hours": 0.4753, "text": "Made the horizontal padding of the select smaller I legit couldn’t find what that padding was caused by cuz i didn’t have any p* classes and after like 20 mins i found out that it was the DaisyUI’s btn class that added padding-inline 🥀 so i fixed it with px-2 (which in tailwind stands for 0.5rem or 8px"}, {"post_id": 36485, "ts": "2026-07-28T16:54:50Z", "hours": 2.4244, "text": "Added the Horsering in the rings (friend only ring) Moved the neko credits in the middle Moved the webring on the right and made it vertical"}, {"post_id": 3493, "ts": "2026-06-06T13:36:40Z", "hours": 0.2644, "text": "Updated the README.md (I had forgot to update it before shipping 😭)"}, {"post_id": 3467, "ts": "2026-06-06T12:47:26Z", "hours": 1.4947, "text": "Added a “Switch to Code/Plain Text” in the about me so people who don’t know Typescript can just read it as plain text Moved from Nix Webring to Hack Club Webring since i don’t use NixOS anymore"}]...
|
Title: My Website by @stefdp | Stardance
Devlogs: Title: My Website by @stefdp | Stardance
Devlogs:
Added a “Switch to Code/Plain Text” in the about me so people who don’t know Typescript can just read it as plain text Moved from Nix Webring to Hack Club Webring since i don’t use NixOS anymore
Updated the README.md (I had forgot to update it before shipping 😭)
Added the Horsering in the rings (friend only ring) Moved the neko credits in the middle Moved the webring on the right and made it vertical
Made the horizontal padding of the select smaller I legit couldn’t find what that padding was caused by cuz i didn’t have any p* classes and after like 20 mins i found out that it was the DaisyUI’s btn class that added padding-inline 🥀 so i fixed it with px-2 (which in tailwind stands for 0.5rem or 8px
Added the new discord embed with components v2
Updated the main embed to add social links and page specific text/images too and also fix buttons’ urls
Ships:
I added a switch for plain text & code in the about me section and switched from nix webring to hackclub webring nothnig was really challenging, only issue i had was that the webring iframe for some reason looked good on my laptop but when i pushed to prod it got some weird white bg, couldn’t figure out how to fix it so i just ended up making my own buttons (and also added a random page button which official webring doesn’t have! :D)
I updated the webring code so that now: The webring is on the bottom right (moved neko credits from bottom right to bottom center), a bit more above the bottom so that on small screens like phones it doesn’t overlap with the credits It’s now vertical Added a new webring ( https://horser.ing , only for friends) and so i added a select to choose the ring and also a ?webring query that auto selects given ring (currently as values there’s hackclub for hc ring and horsering for the horsering) it’s wasn’t really challenging, only thing that took me a bit was find out which class added a horizontal padding to the select cuz none of my tailwind classes added it, then i found out it was DaisyUI’s btn class...
|
1792994097.8270423
|
1793080497.8270423
|
|
291
|
YouTweaks by @kanavv | Stardance
|
kanavv
|
2
|
36.0
|
646
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T15:48:19Z", "hours": 8.0, "multiplier": 14.56, "payout": 113, "blessing": "neutral", "text": "YouTweaks is a quality of life extension made to improve your experience on youtube. I decided to build this project because I was super frustrated with how youtube has become. With this extension I made the youtube experience less annoying and also added some features so you are more mindful while choosing what to watch. For this Ship I added the color themes feature fixed a LOT of bugs and I also created a custom playback speed feature which im super proud of and finally I incorporated feedback from the first ship (fixing the readme). This project has been super fun and this is going to be my last ship for stardance but I will probably keep working on this! Also im super happy my extension got approved to be on the firefox store so if you like it you can add it here: https://addons.mozilla.org/en-US/firefox/addon/youtweaks/", "repo": "https://github.com/KanAvR/YouTweaks", "demo": "https://github.com/KanAvR/YouTweaks/releases"}, {"ship_num": 2, "ts": "2026-09-19T14:15:30Z", "hours": 28.0, "multiplier": 18.99, "payout": 533, "blessing": "neutral", "text": "YouTweaks is a quality of life extension made to improve your experience on youtube. I decided to build this project because I was super frustrated with how youtube has become. With this extension I made the youtube experience less annoying and also added some features so you are more mindful while choosing what to watch. Overall this has been a really fun project to work on. I never thought I would have fun coding in javascript.", "repo": "https://github.com/KanAvR/YouTweaks", "demo": "https://github.com/KanAvR/YouTweaks/releases"}]...
|
[{"post_id": 75193, "ts": "202 [{"post_id": 75193, "ts": "2026-09-29T13:29:09Z", "hours": 1.3944, "text": "Bug Fixes I fixed another bug with the stop hover effects feature that used to show the effect if you hovered over the title of the video. Blur Slider I added a blur slider so people can adjust the amount of thumbnail blur. Feedback I incorporated the better readme feedback from the first ship where many people said I should explain why each feature is added. Sry for the camera photo I just reinstalled linux."}, {"post_id": 72184, "ts": "2026-09-22T12:40:55Z", "hours": 2.1672, "text": "Custom themes fixes I fixed some parts of the website that were not changing colors. I should have thought of this earlier but its going to be such a pain to keep the themes feature up to date with youtubes ui hence I am going to mark it as an experimental feature until I figure out how to change the themes in a better way. Playback speed controls without premium I am super happy with how this feature turned out it looks exactly like youtubes ui."}, {"post_id": 71663, "ts": "2026-09-21T08:21:31Z", "hours": 4.2158, "text": "Whole lotta bugs I thought I was done with everything but I found so many bugs. The shorts blocker was broken, the blocking youtube games dint work, and there was a bug where the video you were watching just stopped playing when you went into full screen. Shorts and game blocker So first the shorts bug would just delete the whole fyp if it found a short. This was was quite an easy fix since I just had to change what got deleted. Next the youtube games blocker was searching for text with “youtube games” which I changed to work the same way as the shorts blocker and then it started working properly. Full screen bug I fixed the full screen bug by only stopping the effects on objects we know are video tiles and nothing else. Themes Finally I also started working on a themes feature which looks so cool!! but its such a pain to work on. Theres so many tiny things I need to sit and edit so it looks right."}, {"post_id": 70604, "ts": "2026-09-19T13:15:26Z", "hours": 0.7297, "text": "Made the final commit before shipping Soo now the hide shorts feature works without bugs and I also finished adding the hide merch store feature. Now I just need to figure out how to publish my extension to the firefox and chrome store. Oh I also made a readme."}, {"post_id": 52261, "ts": "2026-08-22T11:20:45Z", "hours": 1.0539, "text": "View count and Publish date I moved the view count and publish dates to be next to the like button instead of the stupid tiny text it was before. To do this I made a new file called videometa.js it uses two functions one to extract the abbreviated views/ publish date and another one to extract the full views/ publish date which shows up when you hover over the information. Additionally I also fixed some Issues with the stop autoplay on hover and stop effects on hover functions, which I merged into one function earlier."}, {"post_id": 47509, "ts": "2026-08-15T13:57:57Z", "hours": 1.5306, "text": "Finished the time tracking feature!!! I haven’t gotten any time to update the project since my summer break ended. But I finally got some time to work on the project because of the time constraints I used AI to write code for this feature :( Im not proud of it but at least the feature works with no dumb bugs (for now at least) Daily limit So I added a daily limit and a bed time cut off so people dont waste the whole day on YouTube. I also added a snooze feature that appears when the YouTube limit has been reached since I often need YouTube for school work and it would become an issue if there was no way to bypass the limit. Time counter badge The concept time counter I made in a previous devlog works now and changes colors based on how much of the daily limit you have used. Stats And finally I also added a stats feature for fun since I love looking at my stats on leech block and wanted something similar for this project."}, {"post_id": 33955, "ts": "2026-07-24T09:42:36Z", "hours": 2.2917, "text": "Everything is such a mess right now I’m working on so many features at once its getting to much too handle. And I dint even make separate branches or make commits per feature so its getting so messy . I’m working on Refactoring all the code to change the deleting elements code to use css instead of JS so it has better performance hopefully . A time tracking feature. Moving the view count and date of upload up to the like button. This feature has had so many random unexpected issues its pmo. hiding the annoying red little bar below videos on the homescreen. some good progress: I merged the stopAutoPlayOnHover and stopHoverEffects into one function and I also fixed all the bugs with the function such as it not working on pages other then the homepage. Next time I should work on things in order AND AT LEAST MAKE BRANCHES ALSO MY COMMITS RN ARE HUGE I SHOULD MAKE THEM SMALLER; ONE FOR EACH FEATURE."}, {"post_id": 32345, "ts": "2026-07-21T13:35:52Z", "hours": 2.7347, "text": "Fixed Blur Again Instead of sitting and excluding things from the thumbnail blur I changed the code to only blur thumbnails. This is so stupid idk how I came up with that nonsense earlier. Stopped auto play when you hover over videos This feature works along with the other hover feature to make you a little more mindful while choosing a video to watch. Time tracking Im working on a whole new set of features to actually add something new for once since this project has just been removing stuff till now. The feature will track your time on youtube and allow you to set limits so you don’t waste your whole day on youtube. The feature will look something like the image. The current image is just a mock up ."}, {"post_id": 24678, "ts": "2026-07-08T12:58:53Z", "hours": 2.5467, "text": "Bugs The hide notification toggle worked visually but if you clicked in that spot the panel still opened so for now I came up with a temporary fix of using a new function to stop the button form working. Also the thumbnail blur still has issues 😭 . For some reason it blurs emojis now. I will fix that later. New Feature I added a feature so when you hover on video you don’t get that distracting ambient color around the thumbnail. This helps because the glow acts like a tiny visual reward before you’ve actually decided anything; it makes a thumbnail feel “chosen” the moment you hover over it. Without that glow, your judgement has to do the work the color was doing for them; so you can be a little more mindful about what you click on. Popup ui Added a background, added the logo, aligned all the elements, and tested out a few fonts before finally choosing Geist . I used this Article to understand css."}, {"post_id": 24303, "ts": "2026-07-07T19:46:42Z", "hours": 2.9003, "text": "First time features actually work as intended!! The blur had a lot of bugs as mentioned in the first devlog I slowly managed to fix all of them in different ways and now its complete. The hardest issue was if you scrolled too fast then you would still get a glimpse of the thumbnail. I fixed this by creating a <style> element which applies the blur before the thumbnails load. So now there’s no need of a mutation or scroll observer either. Logo I created the logo for this project using free form on my ipad then I used claude to make different versions of it for all the resolutions (16,32,48,128) and for the project banner. New Features I added two new features to hide the create button and the notifications button because who ever clicks those. At first I made to separate functions for this but that was really stupid so then I made a generic function that just removes any element. Also I used el.style.display = hidden instead of el.remove since the element can instantly be unhidden if the user wants without needing a refresh."}, {"post_id": 22143, "ts": "2026-07-04T13:28:00Z", "hours": 4.3089, "text": "Major Progress Okay so a lot happened since the last devlog. I paused my progress on the auto play feature and instead moved on to some small changes. I also made a lot of random commits for testing small things which was kinda tedious to revert later (Image shows the graph after all the random stuff was removed). Hide Shorts This feature was pretty simple to implement as I just used querySelectorAll to select the elements with the youtube shorts buttons then I just checked for the text “shorts” so the function doesn’t accidentally delete something else. Finally I used element.remove() to delete the buttons. Also added a mutation observer so the button stays deleted. Hiding unnecessary buttons I basically just did the same thing as above to hide other buttons that clutter up the screen like the create button and the voice search button. Branches This is the first time I learnt how to properly use branches in git. I made two separate branches for the two features I worked on so the variable names are not an issue for now."}, {"post_id": 16405, "ts": "2026-06-26T18:04:27Z", "hours": 2.8767, "text": "Improving file structure First off I fixed the mess of files that were just dropped into the project folder; this would become an issue in the future as I kept on creating new files. Creating the popup I stared off by creating popup.html popup.css and popup.js files after which I went back to the manifest.json to link the popup files but here I realized that the whole JSON file was broken because all the items were inside \"action\" this had not caused any issues so far but it could have led to many problems in the future. After fixing the JSON file I linked the popup files and added storage and scripting permissions to the extension which will be needed later. Next I read a blog post of how to write HTML. Then I created a toggle switch for which I borrowed copied the css from w3schools . Now for the toggle switch to work I had to make a few changes to youtweaks.js . Now it checks the browser storage to see if thumbnail blur is toggled on/off and also continuous checks to see if the toggle switch has been changed which accordingly turns on/off the blur. Other changes I started working on the next feature to stop the auto play of videos when you hover over them as the only purpose of this is to get you hooked onto a video before you even click on it. Which often results in wasted time. While working on that feature I also managed to fix the blur so now it works everywhere on youtube but as a side effect it also blurs youtubers profile pictures which ill fix later."}, {"post_id": 12135, "ts": "2026-06-19T20:37:08Z", "hours": 3.2972, "text": "Fixing the three issues: I first implemented a mutation observer which reapplies the blur every time something on the page changes, this solved issues 1 and 3 but did so in a very sloppy way as a “mutation” was only detected when you hover the mouse on a thumbnail. To fix the problems in a more optimal way I tried a lot of things: I started learning about intersection observers, scroll observers, and started a 3 hour crash course on js to understand what in the world I was doing. I spent a lot of time tinkering and then my problem was solved with a simple search on Mozilla’s developer docs . I used a scroll event listener which fixed the scrolling issue but the other issues still remain. At this point I was so tired I started setting up the gui for the extension which involved making some changes to the manifest.json file."}, {"post_id": 3002, "ts": "2026-06-05T22:40:05Z", "hours": 3.8056, "text": "So the aim of this project is to improve youtube’s usage experience through small tweaks. This is my first time doing anything related to websites I know nothing 😭 So I started off the project by creating a manifest.json file which contains all the data required to run the extension. For this the Mozilla docs were a huge help. Next, I started by creating the first feature of blurring thumbnails. I somehow managed to inspect element the youtube website and select the correct element id to select the thumbnails ig. But this came with three issues: The blur stops working after a refresh The blur only works on the home page The blur stops working after scrolling a lot To fix these Issues I first searched for the issue on w3schools but I dint understand anything I found; so after a bit more digging I came across someone facing a similar issue on stack overflow and after a very long while of trying to understand his code I managed to modify it to work for my extension. This fixed the third issue but not the other 2."}]...
|
Title: YouTweaks by @kanavv | Stardance
Devlogs:
Title: YouTweaks by @kanavv | Stardance
Devlogs:
So the aim of this project is to improve youtube’s usage experience through small tweaks. This is my first time doing anything related to websites I know nothing 😭 So I started off the project by creating a manifest.json file which contains all the data required to run the extension. For this the Mozilla docs were a huge help. Next, I started by creating the first feature of blurring thumbnails. I somehow managed to inspect element the youtube website and select the correct element id to select the thumbnails ig. But this came with three issues: The blur stops working after a refresh The blur only works on the home page The blur stops working after scrolling a lot To fix these Issues I first searched for the issue on w3schools but I dint understand anything I found; so after a bit more digging I came across someone facing a similar issue on stack overflow and after a very long while of trying to understand his code I managed to modify it to work for my extension. This fixed the third issue but not the other 2.
Fixing the three issues: I first implemented a mutation observer which reapplies the blur every time something on the page changes, this solved issues 1 and 3 but did so in a very sloppy way as a “mutation” was only detected when you hover the mouse on a thumbnail. To fix the problems in a more optimal way I tried a lot of things: I started learning about intersection observers, scroll observers, and started a 3 hour crash course on js to understand what in the world I was doing. I spent a lot of time tinkering and then my problem was solved with a simple search on Mozilla’s developer docs . I used a scroll event listener which fixed the scrolling issue but the other issues still remain. At this point I was so tired I started setting up the gui for the extension which involved making some changes to the manifest.json file.
Improving file structure First off I fixed the mess of files that were just dropped into the project folder; this would become an issue in the future as I kept on creating new files. Creating the popup I stared off by creating popup.html popup.css and popup.js files after which I went back to the manifest.json to link the popup files but here I realized that the whole JSON file was broken because all the items were inside "action" this had not caused any issues so far but it could have led to many problems in the future. After fixing the JSON file I linked the popup files and added storage and scripting permissions to the extension which will be needed later. Next I read a blog post of how to write HTML. Then I created a toggle switch for which I borrowed copied the css from w3schools . Now for the toggle switch to work I had to make a few changes to youtweaks.js . Now it checks the browser storage to see if thumbnail blur is toggled on/off and also continuous checks to see if the toggle switch has been changed which accordingly turns on/off the blur. Other changes I started working on the next feature to stop the auto play of videos when you hover over them as the only purpose of this is to get you hooked onto a video before you even click on it. Which often results in wasted time. While working on that feature I also managed to fix the blur so now it works everywhere on youtube but as a side effect it also blurs youtubers profile pictures which ill fix later.
Major Progress Okay so a lot happened since the last devlog. I paused my progress on the auto play feature and instead moved on to some small changes. I also made a lot of random commits for testing small things which was kinda tedious to revert later (Image shows the graph after all the random stuff was removed). Hide Shorts This feature was pretty simple to implement as I just used querySelectorAll to select the elements with the youtube shorts buttons then I just checked for the text “shorts” so the function doesn’t accidentally delete something else. Finally I used element.remove() to delete the buttons. Also added a mutation observer so the button stays deleted. Hiding unnecessary buttons I basically just did the same thing as above to hide other buttons that clutter up the screen like the create button and the voice search button. Branches This is the first time I learnt how to properly use branches in git. I made two separate branches for the two features I worked on so the variable names are not an issue for now.
First time features actually work as intended!! The blur had a lot of bugs as mentioned in the first devlog I slowly managed to fix all of them in different ways and now its complete. The hardest issue was if you scrolled too fast then you would still get a glimpse of the thumbnail. I fixed this by creating a <style> element which applies the blur before the thumbnails load. So now there’s no need of a mutation or scroll observer either. Logo I created the logo for this project using free form on my ipad then I used claude to make different versions of it for all the resolutions (16,32,48,128) and for the project banner. New Features I added two new features to hide the create button and the notifications button because who ever clicks those. At first I made to separate functions for this but that was really stupid so then I made a generic function that just removes any element. Also I used el.style.display = hidden instead of el.remove since the element can instantly be unhidden if the user wants without needing a refresh.
Bugs The hide notification toggle worked visually but if you clicked in that spot the panel still opened so for now I came up with a temporary fix of using a new function to stop the button form working. Also the thumbnail blur still has issues 😭 . For some reason it blurs emojis now. I will fix that later. New Feature I added a feature so when you hover on video you don’t get that distracting ambient color around the thumbnail. This helps because the glow acts like a tiny visual reward before you’ve actually decided anything; it makes a thumbnail feel “chosen” the moment you hover over it. Without that glow, your judgement has to do the work the color was doing for them; so you can be a little more mindful about what you click on. Popup ui Added a background, added the logo, aligned all the elements, and tested out a few fonts before finally choosing Geist . I used this Article to understand css.
Fixed Blur Again Instead of sitting and excluding things from the thumbnail blur I changed the code to only blur thumbnails. This is so stupid idk how I came up with that nonsense earlier. Stopped auto play when you hover over videos This feature works along with the other hover feature to make you a little more mindful while choosing a video to watch. Time tracking Im working on a whole new set of features to actually add something new for once since this project has just been removing stuff till now. The feature will track your time on youtube and allow you to set limits so you don’t waste your whole day on youtube. The feature will look something like the image. The current image is just a mock up .
Everything is such a mess right now I’m working on so many features at once its getting to much too handle. And I dint even make separate branches or make commits per feature so its getting so messy . I’m working on Refactoring all the code to change the deleting elements code to use css instead of JS so it has better performance hopefully . A time tracking feature. Moving the view count and date of upload up to the like button. This feature has had so many random unexpected issues its pmo. hiding the annoying red little bar below videos on the homescreen. some good progress: I merged the stopAutoPlayOnHover and stopHoverEffects into one function and I also fixed all the bugs with the function such as it not working on pages other then the homepage. Next time I should work on things in order AND AT LEAST MAKE BRANCHES ALSO MY COMMITS RN ARE HUGE I SHOULD MAKE THEM SMALLER; ONE FOR EACH FEATURE.
Finished the time tracking feature!!! I haven’t gotten any time to update the project since my summer break ended. But I finally got some time to work on the project because of the time constraints I used AI to write code for this feature :( Im not proud of it but at least the feature works with no dumb bugs (for now at least) Daily limit So I added a daily limit and a bed time cut off so people dont waste the whole day on YouTube. I also added a snooze feature that appears when the YouTube limit has been reached since I often need YouTube for school work and it would become an issue if there was no way to bypass the limit. Time counter badge The concept time counter I made in a previous devlog works now and changes colors based on how much of the daily limit you have used. Stats And finally I also added a stats feature for fun since I love looking at my stats on leech block and wanted something similar for this project.
View count and Publish date I moved the view count and publish dates to be next to the like button instead of the stupid tiny text it was before. To do this I made a new file called videometa.js it uses two functions one to extract the abbreviated views/ publish date and another one to extract the full views/ publish date which shows up when you hover over the information. Additionally I also fixed some Issues with the stop autoplay on hover and stop effects on hover functions, which I merged into one function earlier.
Made the final commit before shipping Soo now the hide shorts feature works without bugs and I also finished adding the hide merch store feature. Now I just need to figure out how to publish my extension to the firefox and chrome store. Oh I also made a readme.
Whole lotta bugs I thought I was done with everything but I found so many bugs. The shorts blocker was broken, the blocking youtube games dint work, and there was a bug where the video you were watching just stopped playing when you went into full screen. Shorts and game blocker So first the shorts bug would just delete the whole fyp if it found a short. This was was quite an easy fix since I just had to change what got deleted. Next the youtube games blocker was searching for text with “youtube games” which I changed to work the same way as the shorts blocker and then it started working properly. Full screen bug I fixed the full screen bug by only stopping the effects on objects we know are video tiles and nothing else. Themes Finally I also started working on a themes feature which looks so cool!! but its such a pain to work on. Theres so many tiny things I need to sit and edit so it looks right.
Custom themes fixes I fixed some parts of the website that were not changing colors. I should have thought of this earlier but its going to be such a pain to keep the themes feature up to date with youtubes ui hence I am going to mark it as an experimental feature until I figure out how to change the themes in a better way. Playback speed controls without premium I am super happy with how this feature turned out it looks exactly like youtubes ui.
Bug Fixes I fixed another bug with the stop hover effects feature that used to show the effect if you hovered over the title of the video. Blur Slider I added a blur slider so people can adjust the amount of thumbnail blur. Feedback I incorporated the better readme feedback from the first ship where many people said I should explain why each feature is added. Sry for the camera photo I just reinstalled linux.
Ships:
YouTweaks is a quality of life extension made to improve your experience on youtube. I decided to build this project because I was super frustrated with how youtube has become. With this extension I made the youtube experience less annoying and also added some features so you are more mindful while choosing what to watch. Overall this has been a really fun project to work on. I never thought I would have fun coding in javascript.
YouTweaks is a quality of life extension made to improve your experience on youtube. I decided to build this project because I was super frustrated with how youtube has become. With this extension I made the youtube experience less annoying and also added some features so you are more mindful while choosing what to watch. For this Ship I added the color themes feature fixed a LOT of bugs and I also created a custom playback speed feature which im super proud of and finally I incorporated feedback from the first ship (fixing the readme). This project has been super fun and this is going to be my last ship for stardance but I will probably keep working on this! Also im super happy my extension got approved to be on the firefox store so if you like it you can add it here: https://addons.mozilla.org/en-US/firefox/addon/youtweaks/...
|
1793004543.0756087
|
1793090943.0756087
|
|
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.....
|
1793109135.4039845
|
1793195535.4039845
|
|
395
|
ZhiXue Lite by @Makerlife | Stardance
|
Makerlife
|
2
|
25.0
|
79
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T12:56:28Z", "hours": 15.0, "multiplier": 1.97, "payout": 20, "blessing": "neutral", "text": "The Final Ship! [IMPORTANT]Since WAF is enabled on the backend, you may not be able to view the home page statistics properly. It is NOT a bug!!! You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account.", "repo": "https://github.com/amakerlife/ZhiXue-Lite-backend", "demo": "https://zxl.makerlife.top"}, {"ship_num": 2, "ts": "2026-07-05T14:04:31Z", "hours": 10.0, "multiplier": 5.7, "payout": 59, "blessing": "neutral", "text": "First release! In this update, I’ve strengthened backend authentication, added S3 support, and made some frontend optimizations. You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account. Since WAF is enabled on the backend, you may not be able to view the home page statistics properly.", "repo": "https://github.com/amakerlife/ZhiXue-Lite-backend", "demo": "https://zxl.makerlife.top"}]...
|
[{"post_id": 82615, "ts": "202 [{"post_id": 82615, "ts": "2026-10-25T12:53:46Z", "hours": 14.9442, "text": "This update adds S3 management APIs for viewing storage usage, listing cached answer sheets and score sheets, and deleting stored files. Exam results now have an all-scores API with pagination, filtering, search, and sorting. Score sheet export uses the VIEW_EXAM_DATA permission, with SCHOOL users limited to their own school. Administrators can now publish exams locally for individual schools before ZhiXue officially releases them. Students can access their own results when their scores are already stored. Score retrieval also handles missing totals and rankings while marking is still in progress. Answer sheets now show subquestion scores, step scores, and teacher scoring records more clearly, with improved indentation and positioning. The backend now requires Python 3.11 and uses psycopg 3. Dependencies were upgraded, and a database migration was added for per-school exam publication status."}, {"post_id": 22095, "ts": "2026-07-04T11:15:53Z", "hours": 6.275, "text": "Recently, on the backend, I added support for customizing the “from-address” for the SMTP service, rather than using the SMTP username directly as the sender’s email address as before. Additionally, to make the project more robust, I added support for S3 storage on the backend to store the generated answer sheets and score sheets, replacing the original local file system cache. Administrators can freely choose between the two options via environment variables. On the frontend, I first synchronized the changes related to the backend’s S3 storage support, then updated the loading animation to feature a logo that gradually changes in size as the central element, accompanied by a circular animation, replacing the previous simple Lucide React icon. Next, I will implement management features for S3 storage and synchronize the changes across both the front end and backend."}, {"post_id": 6877, "ts": "2026-06-11T15:13:25Z", "hours": 2.1092, "text": "This update fixes how the backend handles school_id in multi-school exam scenarios. Previously, some score and answersheet APIs accepted school_id from the client and used it during score lookup or teacher account selection. In multi-school exams, that could allow a SCHOOL-level user to query data outside their own school if the request parameters were crafted manually. The score and answer sheet APIs now resolve the effective student and school context on the server first. SELF users are always limited to their own bound student account, and any client-provided student_id, student_name, or school_id is ignored. SCHOOL users are always limited to their own school, even if another school_id is provided. GLOBAL users can still use school_id as an optional filter. Student name based lookup no longer requires school_id. The backend searches within the current user’s accessible scope. If multiple students match the same name, the error message now includes both school and class information for disambiguation. Score sheet export was also tightened. SCHOOL users always export their own school’s data, and any provided school_id is ignored. GLOBAL users can still export all schools or a specific school. Since this is just a backend fix related to permissions, I can only provide screenshots of the code I modified."}, {"post_id": 5554, "ts": "2026-06-09T11:44:43Z", "hours": 1.9978, "text": "In this update, I added a feature to the front end that remembers the user’s selection in this dropdown menu. In addition, I added a button to the exam details page so that users with the appropriate permissions can view more data about the exam directly in the “Data View” tab without having to copy and paste the exam_id. I fixed two race conditions caused by data desynchronization on the back end and manually cleaned up two rows of corrupted data from the prod database."}]...
|
Title: ZhiXue Lite by @Makerlife | Stardance
Devl Title: ZhiXue Lite by @Makerlife | Stardance
Devlogs:
In this update, I added a feature to the front end that remembers the user’s selection in this dropdown menu. In addition, I added a button to the exam details page so that users with the appropriate permissions can view more data about the exam directly in the “Data View” tab without having to copy and paste the exam_id. I fixed two race conditions caused by data desynchronization on the back end and manually cleaned up two rows of corrupted data from the prod database.
This update fixes how the backend handles school_id in multi-school exam scenarios. Previously, some score and answersheet APIs accepted school_id from the client and used it during score lookup or teacher account selection. In multi-school exams, that could allow a SCHOOL-level user to query data outside their own school if the request parameters were crafted manually. The score and answer sheet APIs now resolve the effective student and school context on the server first. SELF users are always limited to their own bound student account, and any client-provided student_id, student_name, or school_id is ignored. SCHOOL users are always limited to their own school, even if another school_id is provided. GLOBAL users can still use school_id as an optional filter. Student name based lookup no longer requires school_id. The backend searches within the current user’s accessible scope. If multiple students match the same name, the error message now includes both school and class information for disambiguation. Score sheet export was also tightened. SCHOOL users always export their own school’s data, and any provided school_id is ignored. GLOBAL users can still export all schools or a specific school. Since this is just a backend fix related to permissions, I can only provide screenshots of the code I modified.
Recently, on the backend, I added support for customizing the “from-address” for the SMTP service, rather than using the SMTP username directly as the sender’s email address as before. Additionally, to make the project more robust, I added support for S3 storage on the backend to store the generated answer sheets and score sheets, replacing the original local file system cache. Administrators can freely choose between the two options via environment variables. On the frontend, I first synchronized the changes related to the backend’s S3 storage support, then updated the loading animation to feature a logo that gradually changes in size as the central element, accompanied by a circular animation, replacing the previous simple Lucide React icon. Next, I will implement management features for S3 storage and synchronize the changes across both the front end and backend.
This update adds S3 management APIs for viewing storage usage, listing cached answer sheets and score sheets, and deleting stored files. Exam results now have an all-scores API with pagination, filtering, search, and sorting. Score sheet export uses the VIEW_EXAM_DATA permission, with SCHOOL users limited to their own school. Administrators can now publish exams locally for individual schools before ZhiXue officially releases them. Students can access their own results when their scores are already stored. Score retrieval also handles missing totals and rankings while marking is still in progress. Answer sheets now show subquestion scores, step scores, and teacher scoring records more clearly, with improved indentation and positioning. The backend now requires Python 3.11 and uses psycopg 3. Dependencies were upgraded, and a database migration was added for per-school exam publication status.
Ships:
First release! In this update, I’ve strengthened backend authentication, added S3 support, and made some frontend optimizations. You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account. Since WAF is enabled on the backend, you may not be able to view the home page statistics properly.
The Final Ship! [IMPORTANT]Since WAF is enabled on the backend, you may not be able to view the home page statistics properly. It is NOT a bug!!! You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account....
|
1793127165.3301542
|
1793213565.3301542
|
|
409
|
Personal Website (brian.re) by @brian | Stardance
|
brian
|
2
|
44.0
|
714
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T01:04:35Z", "hours": 15.0, "multiplier": 13.22, "payout": 197, "blessing": "neutral", "text": "I made great progress on my personal website by completely transforming the page design, featuring a nicer color scheme, warmer font, improved blog post typography, and many other little changes! I also introduced a new projects page (with a preview on the homepage), and made some big organizational changes in the codebase to follow DRY. I’m really proud of the new design, as I think it better represents me and is much more welcoming. I also learned that a couple simple color and font changes can have a HUGE impact on the design of your website and its friendliness. I learned a lot from the feedback on my previous ships and I’m excited to present this version of my site!", "repo": "https://github.com/brianwalczak/website", "demo": "https://brian.re"}, {"ship_num": 2, "ts": "2026-06-23T19:05:26Z", "hours": 29.0, "multiplier": 18.97, "payout": 517, "blessing": "neutral", "text": "I made massive improvements to my website status system by building a custom web client that allows me to map statuses based on the app I’m using! I also added a printer system to my website which allows users to print out a message of their choice right on my desk. For me, the most challenging part was definitely the web design (I suck at front-end work…), but I’m really proud of how the client ended up turning out :D", "repo": "https://github.com/brianwalczak/website", "demo": "https://brian.re"}]...
|
[{"post_id": 21210, "ts": "202 [{"post_id": 21210, "ts": "2026-07-03T00:56:42Z", "hours": 1.3636, "text": "I spent a while testing out all the functionality on my website (including on mobile devices) and made a variety of minor page fixes! I also improved the old 404 page to use my new page design."}, {"post_id": 20518, "ts": "2026-07-02T04:09:53Z", "hours": 0.5917, "text": "I created a project card component and added a featured projects section on the home screen! I also moved all database query functions into dedicated projects.ts and blog.ts modules so they can be reused across the codebase."}, {"post_id": 20313, "ts": "2026-07-01T21:39:33Z", "hours": 2.49, "text": "I noticed that as I’ve been adding more pages, the navbar on mobile is becoming more and more crammed, so I created a simple hamburger navigation menu for smaller screens! Besides that, I added 5-minute caching for projects and blog posts (since database reads are a lil’ slow) using Next.js’ unstable_cache function, and cleaned up the rest of the SVGs across the codebase to their own icon file in components/icons . Almost ready to ship :D just gonna add a “featured projects” section on the homepage!"}, {"post_id": 18172, "ts": "2026-06-29T06:31:28Z", "hours": 3.3758, "text": "I finished adding a projects page and created a Payload collection so I don’t need to hard code them! I also added Payload email functionality for password resets, cleaned up the environment variable setup, and upgraded all dependencies. Payload has lacked official support for Next.js v16 for quite some time now, but it’s finally here!!"}, {"post_id": 17868, "ts": "2026-06-28T20:08:41Z", "hours": 1.1678, "text": "Made some big organizational changes! I moved all of the icons in Skills.tsx and constants.tsx (contact links, footer links, etc.) into designated tsx files for reusability. I also DRY’d out the skills data by assigning it in constants.tsx and mapping over it! Besides that, I just made a couple bug fixes and ran prettier. Making the projects page next!"}, {"post_id": 17317, "ts": "2026-06-28T01:17:23Z", "hours": 0.9367, "text": "I added a nice fade animation when switching between skill tabs! I also added a favicon by pointing the source to my GitHub profile picture URL, and fixed a few more bugs."}, {"post_id": 17101, "ts": "2026-06-27T19:25:02Z", "hours": 0.5861, "text": "I finished updating both the music player and the printer modal to use our new color scheme!"}, {"post_id": 16050, "ts": "2026-06-26T02:28:32Z", "hours": 1.9175, "text": "I ditched @tailwindcss/typography and completely transformed the styling of blog posts! Spent the past 2 hours designing custom CSS to pair with Payload’s RichText output. Super happy with the results. Codeblocks look amazing now! Next step will be fixing the music player and printer modal to have them use our new color scheme."}, {"post_id": 16009, "ts": "2026-06-26T00:05:39Z", "hours": 2.5, "text": "I’ve been thinking about the website for a while, and figured there’s just so much wrong with it. The color scheme is incredibly generic and boring, and it seems more like a product landing page than a personal website. So after a little over 2 hours of experimenting with different hues, and creating custom Tailwind classes to use across the website, I made some big changes! The website looks much more cozy now and features a nice navy blue design with a new font. I also scrapped the old grid background since it’s pretty generic. I’m incredibly happy about the new font and I think it makes the website much more inviting (I found it here )! Next step will be fixing blog posts since they’re really messy with Tailwind Typography."}, {"post_id": 11051, "ts": "2026-06-18T02:37:29Z", "hours": 4.9867, "text": "I added a printer section on my website and a modal to enter in the message! I also added filtering to block any inappropriate content using obscenity , rate limiting with Redis to limit each IP address to 1 successful request per 24 hours, and implemented VPN/Proxy checks with proxycheck.io. Generally I’m strictly against VPN blocking, but unfortunately in my case I think it’s the only effective way to prevent abuse (I want to be able to sleep at night ). Besides those changes, I also installed and ran prettier in the repo, and added basic Vercel analytics to see how many page visits I’m getting!"}, {"post_id": 7850, "ts": "2026-06-13T02:50:48Z", "hours": 3.6847, "text": "Finished implementing a printer module in the client to facilitate message printing! It uses Redis to store the messages as well, and the client polls every 30 seconds to pop the values and print them out. I also made some major Redis command optimizations by using Lua execution for the printer module and a Hash structure for the status. I was able to drastically minimize the amount of commands necessary to sync the status and fetch new printer messages, which is definitely a huge plus considering there’s a monthly command limit on the free plan. Time to build a messages input box on the website!"}, {"post_id": 7249, "ts": "2026-06-12T02:51:26Z", "hours": 4.0889, "text": "I’ve finally finished with the Settings page! I also made a few more bug fixes, removed the custom fonts (they look worse), made some security improvements for the Electron app (removed sandbox and nodeIntegration ), and refactored the onboarding/settings validation and flow. Added a noice fade-in animation on the loading screen too! I decided against a Devices page since it’s honestly unnecessary. If I really need to see the list of devices, I can just read the Redis status key. My next idea was adding some cool label printer functionality! I have a shipping label printer and hundreds of unused sticky labels, so I thought it would be cool if I added a message box on my website that would print out these messages right on my desk!"}, {"post_id": 6546, "ts": "2026-06-11T00:06:58Z", "hours": 0.7439, "text": "I finished updating the website to properly parse the status data, and now it displays properly, yay! The website backend fetches the status key from the Redis database, goes through each record, and sets the status of the device with the lowest priority number (a lower number means higher priority)."}, {"post_id": 5986, "ts": "2026-06-10T01:21:01Z", "hours": 2.6508, "text": "I’ve finished adding the Mappings page! I can now add a new application by its name and customize the status displayed when the app window is in focus. Next step will be implementing the new status JSON structure into the website itself… so we can actually start using it!"}, {"post_id": 4701, "ts": "2026-06-08T03:56:41Z", "hours": 2.1, "text": "I’ve made huge changes to the overall project folder structure so the codebase stays organized! I also added windowless functionality (to keep running in the background), open at login (incl. for Linux), and renamed some functions as well for better clarity :D"}, {"post_id": 3930, "ts": "2026-06-07T01:40:40Z", "hours": 2.8572, "text": "The Status page is finally complete! I finished building the UI and added the main process logic as well to handle manual overrides, invisible mode, and serve live updates to the renderer process every 30 seconds! I also added the get-windows library to find the currently active window and check if there’s a corresponding mapping (which I’ll be adding next in the Mappings page!). Installed and ran eslint + prettier as well :)"}, {"post_id": 2943, "ts": "2026-06-05T21:03:25Z", "hours": 2.2994, "text": "Currently working on the Status page of the UI, which will feature an overview of the live status, as well as the option to enter a manual override or appear invisible. I’ll still need to work on the logic in the main process that checks for open applications to update my status properly."}, {"post_id": 2570, "ts": "2026-06-05T04:23:23Z", "hours": 2.6528, "text": "Finally finished adding an onboarding flow where I configure my settings like device ID, priority, and Redis API credentials! When starting up the client now, it checks if the settings are valid, and if they aren’t, the onboarding flow is opened. Before saving the new configuration, the main process attempts to establish a connection with the Redis API first to ensure the credentials are valid. Next step will be building the actual dashboard."}, {"post_id": 2354, "ts": "2026-06-04T20:04:49Z", "hours": 1.6517, "text": "Forgot to devlog! So far I’ve built the core of the Electron app, and added a super simple interface just for testing to make sure Redis is working (it is!). Next steps will be creating an onboarding flow where I can input the Redis credentials and customize my settings upon installation!"}, {"post_id": 1810, "ts": "2026-06-04T01:03:49Z", "hours": 0.9306, "text": "First devlog! I decided that I’ll build a lightweight client to report my status instead of relying on Hackatime and Slack presence to guess (which is what my website has been doing before :/). So far I’ve migrated the /api/status endpoint to read a Redis database, which will be updated by the client to transmit my status! I’ll be writing the client in Electron next! Had to create a new repository for it, which you can find here: https://github.com/brianwalczak/cabin-client"}]...
|
Title: Personal Website (brian.re) by @brian | Sta Title: Personal Website (brian.re) by @brian | Stardance
Devlogs:
First devlog! I decided that I’ll build a lightweight client to report my status instead of relying on Hackatime and Slack presence to guess (which is what my website has been doing before :/). So far I’ve migrated the /api/status endpoint to read a Redis database, which will be updated by the client to transmit my status! I’ll be writing the client in Electron next! Had to create a new repository for it, which you can find here: https://github.com/brianwalczak/cabin-client
Forgot to devlog! So far I’ve built the core of the Electron app, and added a super simple interface just for testing to make sure Redis is working (it is!). Next steps will be creating an onboarding flow where I can input the Redis credentials and customize my settings upon installation!
Finally finished adding an onboarding flow where I configure my settings like device ID, priority, and Redis API credentials! When starting up the client now, it checks if the settings are valid, and if they aren’t, the onboarding flow is opened. Before saving the new configuration, the main process attempts to establish a connection with the Redis API first to ensure the credentials are valid. Next step will be building the actual dashboard.
Currently working on the Status page of the UI, which will feature an overview of the live status, as well as the option to enter a manual override or appear invisible. I’ll still need to work on the logic in the main process that checks for open applications to update my status properly.
The Status page is finally complete! I finished building the UI and added the main process logic as well to handle manual overrides, invisible mode, and serve live updates to the renderer process every 30 seconds! I also added the get-windows library to find the currently active window and check if there’s a corresponding mapping (which I’ll be adding next in the Mappings page!). Installed and ran eslint + prettier as well :)
I’ve made huge changes to the overall project folder structure so the codebase stays organized! I also added windowless functionality (to keep running in the background), open at login (incl. for Linux), and renamed some functions as well for better clarity :D
I’ve finished adding the Mappings page! I can now add a new application by its name and customize the status displayed when the app window is in focus. Next step will be implementing the new status JSON structure into the website itself… so we can actually start using it!
I finished updating the website to properly parse the status data, and now it displays properly, yay! The website backend fetches the status key from the Redis database, goes through each record, and sets the status of the device with the lowest priority number (a lower number means higher priority).
I’ve finally finished with the Settings page! I also made a few more bug fixes, removed the custom fonts (they look worse), made some security improvements for the Electron app (removed sandbox and nodeIntegration ), and refactored the onboarding/settings validation and flow. Added a noice fade-in animation on the loading screen too! I decided against a Devices page since it’s honestly unnecessary. If I really need to see the list of devices, I can just read the Redis status key. My next idea was adding some cool label printer functionality! I have a shipping label printer and hundreds of unused sticky labels, so I thought it would be cool if I added a message box on my website that would print out these messages right on my desk!
Finished implementing a printer module in the client to facilitate message printing! It uses Redis to store the messages as well, and the client polls every 30 seconds to pop the values and print them out. I also made some major Redis command optimizations by using Lua execution for the printer module and a Hash structure for the status. I was able to drastically minimize the amount of commands necessary to sync the status and fetch new printer messages, which is definitely a huge plus considering there’s a monthly command limit on the free plan. Time to build a messages input box on the website!
I added a printer section on my website and a modal to enter in the message! I also added filtering to block any inappropriate content using obscenity , rate limiting with Redis to limit each IP address to 1 successful request per 24 hours, and implemented VPN/Proxy checks with proxycheck.io. Generally I’m strictly against VPN blocking, but unfortunately in my case I think it’s the only effective way to prevent abuse (I want to be able to sleep at night ). Besides those changes, I also installed and ran prettier in the repo, and added basic Vercel analytics to see how many page visits I’m getting!
I’ve been thinking about the website for a while, and figured there’s just so much wrong with it. The color scheme is incredibly generic and boring, and it seems more like a product landing page than a personal website. So after a little over 2 hours of experimenting with different hues, and creating custom Tailwind classes to use across the website, I made some big changes! The website looks much more cozy now and features a nice navy blue design with a new font. I also scrapped the old grid background since it’s pretty generic. I’m incredibly happy about the new font and I think it makes the website much more inviting (I found it here )! Next step will be fixing blog posts since they’re really messy with Tailwind Typography.
I ditched @tailwindcss/typography and completely transformed the styling of blog posts! Spent the past 2 hours designing custom CSS to pair with Payload’s RichText output. Super happy with the results. Codeblocks look amazing now! Next step will be fixing the music player and printer modal to have them use our new color scheme.
I finished updating both the music player and the printer modal to use our new color scheme!
I added a nice fade animation when switching between skill tabs! I also added a favicon by pointing the source to my GitHub profile picture URL, and fixed a few more bugs.
Made some big organizational changes! I moved all of the icons in Skills.tsx and constants.tsx (contact links, footer links, etc.) into designated tsx files for reusability. I also DRY’d out the skills data by assigning it in constants.tsx and mapping over it! Besides that, I just made a couple bug fixes and ran prettier. Making the projects page next!
I finished adding a projects page and created a Payload collection so I don’t need to hard code them! I also added Payload email functionality for password resets, cleaned up the environment variable setup, and upgraded all dependencies. Payload has lacked official support for Next.js v16 for quite some time now, but it’s finally here!!
I noticed that as I’ve been adding more pages, the navbar on mobile is becoming more and more crammed, so I created a simple hamburger navigation menu for smaller screens! Besides that, I added 5-minute caching for projects and blog posts (since database reads are a lil’ slow) using Next.js’ unstable_cache function, and cleaned up the rest of the SVGs across the codebase to their own icon file in components/icons . Almost ready to ship :D just gonna add a “featured projects” section on the homepage!
I created a project card component and added a featured projects section on the home screen! I also moved all database query functions into dedicated projects.ts and blog.ts modules so they can be reused across the codebase.
I spent a while testing out all the functionality on my website (including on mobile devices) and made a variety of minor page fixes! I also improved the old 404 page to use my new page design.
Ships:
I made massive improvements to my website status system by building a custom web client that allows me to map statuses based on the app I’m using! I also added a printer system to my website which allows users to print out a message of their choice right on my desk. For me, the most challenging part was definitely the web design (I suck at front-end work…), but I’m really proud of how the client ended up turning out :D
I made great progress on my personal website by completely transforming the page design, featuring a nicer color scheme, warmer font, improved blog post typography, and many other little changes! I also introduced a new projects page (with a preview on the homepage), and made some big organizational changes in the codebase to follow DRY. I’m really proud of the new design, as I think it better represents me and is much more welcoming. I also learned that a couple simple color and font changes can have a HUGE impact on the design of your website and its friendliness. I learned a lot from the feedback on my previous ships and I’m excited to present this version of my site!...
|
1792997455.2600768
|
1793083855.2600768
|
|
490
|
Slots Tycoon 2 by @arpanshah102 | Stardance
|
arpanshah102
|
2
|
31.0
|
412
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T21:55:37Z", "hours": 29.0, "multiplier": 15.94, "payout": 378, "blessing": "neutral", "text": "I made a slot machine game but with a bit more too it. It has a normal slot machine, yes, but it also has a crypto clicker and planet trading section further in the game. Currently, the planet trading isn’t fully finished but the basic functionality is. I won’t be working on this game any longer though. Since creating this, I learned react and now this code looks and is terrible to operate on. This is the last update sadly. To test everything out, you can type in “enableDevTools()” into the console and get access to the dev pannel.", "repo": "https://github.com/Arpan-Shah-102/slots-tycoon-2", "demo": "https://arpan-shah-102.github.io/slots-tycoon-2/"}, {"ship_num": 2, "ts": "2026-05-31T17:26:36Z", "hours": 2.0, "multiplier": 14.53, "payout": 34, "blessing": "neutral", "text": "I made a revamp of one of my oldest projects. It has an improved UI, upgrades, shop, themes, achievements, etc. To have an easier time testing my project, use this code in the console: “enableDevTools()”", "repo": "https://github.com/Arpan-Shah-102/slots-tycoon-2", "demo": "https://arpan-shah-102.github.io/slots-tycoon-2/"}]...
|
[{"post_id": 49191, "ts": "202 [{"post_id": 49191, "ts": "2026-08-17T20:40:39Z", "hours": 2.7411, "text": "I am half way done with working on planet modifications. I have sadly lost almost all motivation to work on this though because the code has began spaghettifying and I don’t think I can get back to that after I have tasted React."}, {"post_id": 39167, "ts": "2026-08-01T22:25:10Z", "hours": 5.8369, "text": "I have finished working on the basic trading aspect of the world section. I will now work on the modifications section."}, {"post_id": 28699, "ts": "2026-07-15T03:28:32Z", "hours": 3.4939, "text": "I have started working on The World update"}, {"post_id": 11721, "ts": "2026-06-19T02:49:40Z", "hours": 15.4992, "text": "I finished working on the crypto update."}, {"post_id": 7562, "ts": "2026-06-12T17:20:59Z", "hours": 1.6553, "text": "I started working on my crypto update."}, {"post_id": 85, "ts": "2026-05-31T17:18:28Z", "hours": 2.3158, "text": "I was working on finishing the admin panel, achievement system, and fixing minor bugs like problems with the sound system."}]...
|
Title: Slots Tycoon 2 by @arpanshah102 | Stardance Title: Slots Tycoon 2 by @arpanshah102 | Stardance
Devlogs:
I was working on finishing the admin panel, achievement system, and fixing minor bugs like problems with the sound system.
I started working on my crypto update.
I finished working on the crypto update.
I have started working on The World update
I have finished working on the basic trading aspect of the world section. I will now work on the modifications section.
I am half way done with working on planet modifications. I have sadly lost almost all motivation to work on this though because the code has began spaghettifying and I don’t think I can get back to that after I have tasted React.
Ships:
I made a revamp of one of my oldest projects. It has an improved UI, upgrades, shop, themes, achievements, etc. To have an easier time testing my project, use this code in the console: “enableDevTools()”
I made a slot machine game but with a bit more too it. It has a normal slot machine, yes, but it also has a crypto clicker and planet trading section further in the game. Currently, the planet trading isn’t fully finished but the basic functionality is. I won’t be working on this game any longer though. Since creating this, I learned react and now this code looks and is terrible to operate on. This is the last update sadly. To test everything out, you can type in “enableDevTools()” into the console and get access to the dev pannel....
|
1793090853.5986545
|
1793177253.5986545
|
|
498
|
Stageless by @MrChicken | Stardance
|
MrChicken
|
2
|
30.0
|
287
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T03:02:14Z", "hours": 22.0, "multiplier": 10.94, "payout": 243, "blessing": "neutral", "text": "Worked on adding the tower rush and tweaking the looks of ui to be more polished", "repo": "https://github.com/Goldfish-Boi/Stageless", "demo": "https://www.roblox.com/games/108617994947204/Stageless"}, {"ship_num": 2, "ts": "2026-06-30T02:04:28Z", "hours": 8.0, "multiplier": 5.45, "payout": 44, "blessing": "neutral", "text": "Your only goal is ascend I’ve updated my roblox game Stageless, it is a high difficulty roblox obby inspired by Eternal’s Towers of Hell! The changes I’ve made are supposed to make the game run smoother and be easier for newer users to understand. The biggest challenge I’ve been having is trying to apply more optimized code around the much older and less optimized system. Eventually I might decide to recode the game to be fully optimized, but that is not a task for now. Game is incredibly hard and also 16+ due to Roblox’s restrictions, enjoy!", "repo": "https://github.com/Goldfish-Boi/Stageless", "demo": "https://www.roblox.com/games/108617994947204/Stageless"}]...
|
[{"post_id": 67050, "ts": "202 [{"post_id": 67050, "ts": "2026-09-13T02:59:53Z", "hours": 3.9425, "text": "Updated lobby decor and tweaked the ui of certain rarity effects"}, {"post_id": 38490, "ts": "2026-07-31T22:01:23Z", "hours": 9.0497, "text": "Spent all this time trying to add Tower Rushes to the game, where you get to do almost every tower in the area back to back as the ultimate challenge. I’ve noticed a lot of my older cold was simply not built to handle multiple obbies done in series so I had to additionally go back and refactor and refine all of the main server functions so that it could function correctly. There were also numerous bugs relating to values being carried across towers, so I made secondary values that reset every time you beat one tower and go the next."}, {"post_id": 25414, "ts": "2026-07-09T17:52:32Z", "hours": 9.2458, "text": "Completely overhauled how this game manages the player’s data. The new system is designed to read the player’s previous data before writing in the player’s new data using UpdateAsync(). Additionally any changes that occur during gameplay are recorded separately. When either the client or server needs access to the data, the old data and all the changes and “Stitched” together so that you get the most recent data the player has. Since data is not exactly something I can screenshot or record, I made this flowchart that shows the components of the data system."}, {"post_id": 18859, "ts": "2026-06-30T01:53:51Z", "hours": 5.7378, "text": "Update 1.0.4.4 Additions: Chat can now be kept open while resetting. Resetting only disables when typing now. Fixes / Changes: Unanchored seat Unintended behaviour with practice mode and resetting has been patched Unintended behaviour with resetting patched Minor ToISM patches CoLM should have most of its music now I thank those who have found bugs which has made it easier to make the game easier for newer players to understand"}, {"post_id": 7095, "ts": "2026-06-11T21:29:05Z", "hours": 2.4494, "text": "Made a trailer for this game! I’ve also updated the game to handle newer more unexperienced players more easily (mostly trough added more signage around the lobby) Additionally added a new tower alongside reworking some older UIs"}]...
|
Title: Stageless by @MrChicken | Stardance
Devlog Title: Stageless by @MrChicken | Stardance
Devlogs:
Made a trailer for this game! I’ve also updated the game to handle newer more unexperienced players more easily (mostly trough added more signage around the lobby) Additionally added a new tower alongside reworking some older UIs
Update 1.0.4.4 Additions: Chat can now be kept open while resetting. Resetting only disables when typing now. Fixes / Changes: Unanchored seat Unintended behaviour with practice mode and resetting has been patched Unintended behaviour with resetting patched Minor ToISM patches CoLM should have most of its music now I thank those who have found bugs which has made it easier to make the game easier for newer players to understand
Completely overhauled how this game manages the player’s data. The new system is designed to read the player’s previous data before writing in the player’s new data using UpdateAsync(). Additionally any changes that occur during gameplay are recorded separately. When either the client or server needs access to the data, the old data and all the changes and “Stitched” together so that you get the most recent data the player has. Since data is not exactly something I can screenshot or record, I made this flowchart that shows the components of the data system.
Spent all this time trying to add Tower Rushes to the game, where you get to do almost every tower in the area back to back as the ultimate challenge. I’ve noticed a lot of my older cold was simply not built to handle multiple obbies done in series so I had to additionally go back and refactor and refine all of the main server functions so that it could function correctly. There were also numerous bugs relating to values being carried across towers, so I made secondary values that reset every time you beat one tower and go the next.
Updated lobby decor and tweaked the ui of certain rarity effects
Ships:
Your only goal is ascend I’ve updated my roblox game Stageless, it is a high difficulty roblox obby inspired by Eternal’s Towers of Hell! The changes I’ve made are supposed to make the game run smoother and be easier for newer users to understand. The biggest challenge I’ve been having is trying to apply more optimized code around the much older and less optimized system. Eventually I might decide to recode the game to be fully optimized, but that is not a task for now. Game is incredibly hard and also 16+ due to Roblox’s restrictions, enjoy!
Worked on adding the tower rush and tweaking the looks of ui to be more polished...
|
1793109046.7770154
|
1793195446.7770154
|
|
524
|
Car Game by @Mihai | Stardance
|
Mihai
|
2
|
78.0
|
1589
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T19:17:46Z", "hours": 27.0, "multiplier": 19.23, "payout": 622, "blessing": "neutral", "text": "So, this is the new version of car gaim!!! There is a new map, much more optimized, together with settings and a linux build to improve accessibility. There are 3 races together with a free drive mode on the main map. Change log: -New map -3 new races -Settings -New UI/Hud -Racing line -Driver models and reactions -Driving Surfaces -New sounds (shifting, high speed, crash etc.) -Speed effects -Improved car model and textures -Small AI improvements -Loading Screen -New Crash system: three crashes or a big crash and you’re out of the race -Optimization -Partial controller support -Small destructable objects on the map The biggest challenge was finding time to still work on the game and also bring significant improvement. The time restrain allowed me to focus on the necessary and I really feel the game is in a better place now. Technically this update is much smaller than the first release (it’s obvious) but interconnecting all the systems in one product was a real hassle, especially with the UI, as Unity UI is a bit janky. Notes for testers: I found a region with very bad fps spikes, for which I haven’t found the cause for. Thankfully its only a small part of both races, and a small part on the map overall. There is partial controller support, menus haven’t been tested properly, but driving works. There is a Linux build, but it wasn’t tested, any notes about that are welcome. Download available on itch.io", "repo": "https://github.com/Telea-Mihai/Car-gaim", "demo": "https://github.com/Telea-Mihai/Car-gaim/releases/tag/V0.0.2"}, {"ship_num": 2, "ts": "2026-09-10T19:52:13Z", "hours": 51.0, "multiplier": 15.73, "payout": 967, "blessing": "neutral", "text": "This is a small NFS inspired car game demo. It’s a project to test my technical abilities in Unity. It features custom made vehicle physics based on Unity’s built in wheel colliders and a custom easy to use solution for racing ai. Besides that, it is (in some small predetermined angles) a fairly good looking game, with a little bit of style. The game uses Unity’s HDRP render pipeline for its graphics, together with some screen space reflections and reflective materials, the game gets to look fairly good, especialy in the low light enviorment it’s set in. The car physics are in a sim-cade style. The car can still do crazy steering at high speeds, and its very easy to rotate it, but understeer and oversteer can still occur, besides that, the car is not limited in any way when it comes to external forces that can imbalance it, hit a curb at a high speed and the car can go flying. The biggest challenge was the racing AI. First of all it was hard to make a car know how much to steer to go from point A to point B. After that, it was fairly simple right? Just sample some point from the road spline and follow them. But curves exist, and for that you need to calculate the right speed to go trough it so that it wont crash. Then, the car was driving very inefficiently, following the middle of the road, so what followed was a long quest of making a racing path generator, in which I succeeded (with the help of AI). Then came obstacle avoidance, making the car not seem just like a train following a predefined track. If necessary the car will go off track to avoid obstacles and it’s aware of cars around it and will try to keep the distance. There is also a system that predicts collisions with other cars (for example if a car in front is cutting in front of it, it can predict that will happen and brake). This is all theory but it still works in game, sometimes. Another hard part was building a city. I had no prior experience in making games that aren’t made out of just basic cubes and shapes, so it was difficult to find assets and other stuff to populate the city. Then also came the point of how much detail should I even add and many other factors that in the end made me make the hard decision of making just one race in order to not break the illussion of a semi believable city. I’m very proud of how it came out, alltough I have so many ideas about how I can make it grander and better, but i currently don’t have the time to do so. I hope to come back in the future and actually make a cool metal-rock and boost infused racing game like NFS Most Wanted, but it has to wait. For those who want to play test the game. Currently there is only a windows version for the game, and it can also be pretty demanding in terms of GPU (Basically, I think it needs a dedicated GPU, I have a rtx 3050 4gb laptop GPU and it runs fine). There is a simpler driving demo scene which is just white terrain with some roads, that maybe will fair better with lower end hardware.", "repo": "https://github.com/Telea-Mihai/Car-gaim", "demo": "https://github.com/Telea-Mihai/Car-gaim/releases/tag/V0.0.2"}]...
|
[{"post_id": 79112, "ts": "202 [{"post_id": 79112, "ts": "2026-10-12T18:32:02Z", "hours": 5.6664, "text": "This has been a big push to finish the new version of the game. Together with a linux build the new version brings a new map, new UI, racing line, settings menu, AI-improvements, optimization, driver models, 3 new races, a loading screen, and a start race “screen”. Specific for this devlog, the settings menu, with three graphical presets, a loading screen and a start race screen. Two new races. Small map additions (some houses and parked cars, and physical objects incld cones and barriers that you can hit). Bug fixes across the board. A big challenge for this was the data transition between scenes and settings saving. And I used player prefs to save settings, and some simple static objects to transfer info between scenes. Overall what I have here is a nice base to start building a campaign."}, {"post_id": 78111, "ts": "2026-10-09T16:17:50Z", "hours": 1.0669, "text": "I made a line that shows you where to go, so you don’t need to guess anymore. It uses the baked racing path the AI uses, and passes the points to a line renderer. It also scales with speed, higher speed => line extends further, in order to help you see upcoming corners easier."}, {"post_id": 77336, "ts": "2026-10-06T16:21:09Z", "hours": 3.9394, "text": "So, there have been a few changes. There are now drivers, the cars are no longer driven by ghosts. There are procedural animations for steering using IK (it’s really not that complicated. They also look ahead and where they drive (INCREDIBLE!!!!). Besides that they also react to crashes, eating the steering wheel, cus there ain’t no airbag (poor lads). I’ve reworked the crash system, not visually but technically. You are now allowed to have 3 small crashes, they still trigger the slow motion, but they don’t end your race. Crash many more times than that, your race ends. This way you are still penalised for bad driving. There is still a one hit “lethal impact”, but that basically means going top speed into a tree to trigger. Another small addition are some more sounds, to make the driving feel even better: -Gear shifter sounds -Handbrake pull/release sounds Just a small bit of polish. Besides that there were small bug fixes, nothing notable."}, {"post_id": 76466, "ts": "2026-10-03T16:42:33Z", "hours": 2.4925, "text": "I’ve been working on a new surface system! Now I can add surfaces with different sounds and effects when sliding. I also added “rolling sounds” that play when just driving over at adequate speed. I’ve added a dirt surface, for obvious reasons. It also has something called rolling resistance. You will observe the fact that when driving over dirt with one side of the car still on the road, the car will steer towards the dirt, because of the higher resistance, and also will have as a consequence a lower top speed, also acting as a penalty for driving offroad. Besides that I also added ambient sounds, like a wind and leaves thing so that you can tell when standing still that you are in a forest :))) Last thing is I made the crashing better, no longer will any impact “crash” you but the sounds are also better, with separate sounds for high and low impact speeds. Basically a lot of polish for the game, the driving feels better, I feel like, because of it, and it also incentivises you to stay on the road, alltough the trees already kinda did that."}, {"post_id": 76168, "ts": "2026-10-02T15:41:06Z", "hours": 2.1219, "text": "I’ve been working on the HUD for the game. Really simple, but it was missing. It features a lap counter, lap timer, best lap, lap delta, position. The speed/rpm/gear cluster is the same as before."}, {"post_id": 74116, "ts": "2026-09-26T18:26:41Z", "hours": 2.6064, "text": "Speed. Speed is very important when it comes to racing, right? Well yes, but in a video game, where you sit down on a chair, static, in a room, the sensation of speed is even more important. That’s why these few hours i’ve been working on making the game feel fast . Changes have been made to the way the camera moves behind the car and in how it tracks it. Besides that, there has been a little sound work. At high speeds sounds become muffled and a wind noise can be heard. There is also the post processing i’ve been talking about in the other devlogs. Besides that, i’ve started reworking the UI, and the first element was the gauge cluster. I’ve decided to have the text physically live in the world, it reacts to the car, lagging behind or moving from side to side slightly. It also gets blurred at high speeds, because from a certain point it doesn’t matter if you’re going 150 or 200 kph, since that road barrier is still approaching you at a lethal speed, so you should probably just brake. I LOVE the way the driving turned out, and I sometimes sit for too long just driving around, so I can’t wait to get this game back to you guyz. Peace."}, {"post_id": 72697, "ts": "2026-09-23T15:05:15Z", "hours": 2.4817, "text": "The map is doneeeeeeee!!!! It’s as varied as I could make it, but you can see the different regions, and I like that. Besides that I’ve made the first race layout, and the AI just works (wowowowwow!!!!). Another cool thing I’ve added is wind, as a sound, when you go really really fast. On high speed, as I said in a previous devlog, a tunnel vision effect forms. Now, the sounds will deafen as if the ears are getting plugged, the only thing you hear clearly being the sound of the wind passing by your car. It has a really cool implementation, using a curve and some inverse lerp to sample, this way the effect is not linear and at low speed no big changes happen. Anyway, down here i’ll add some screenshots with the map, love to hear your feedback!"}, {"post_id": 70530, "ts": "2026-09-19T10:10:04Z", "hours": 2.7044, "text": "I’ve been working on the dry-ish mountain region. I’ve also added grass to the map, as you can see. For the moment I have some lighting issues in the mountain region because of the rock models, and some settings, so the dry grass there is black, but other than that it looks great and it really helps fill the map with life. Other than map work, I took some time to work on the speed feeling. In the second and third photo is how the game looks at a speed of >120km/h. The edges get deformed, pulled back, and a vignette help sell the tunnel vision illusion. Besides that, its screen shake and FOV work. Between the third and last picture you can clearly see the difference between the two states."}, {"post_id": 69662, "ts": "2026-09-17T15:00:25Z", "hours": 1.1333, "text": "I’ve put in another hour on the map. I’ve decided to split the map in multiple regions for visual variety. There is the dense forest in the first photo, followed by a low vegetation, high altitude mountain region (began working, second and third photo). Planned is also a plains-like region, a lake and i’ll see if I can fit a small town somewhere. The roads are curved and never go straight for too long, and compared to the city map, some of the chicanes here make sense. I am still thinking about how I could still have the night city here in the next demo. Maybe i’ll restore the map itself, or i’m thinking of just adding a docks area for free driving."}, {"post_id": 69151, "ts": "2026-09-16T14:16:13Z", "hours": 1.1, "text": "I’ve been messing around with assets, lighting and visual effects. I kinda like this a bit more than the city night. So for the next demo, this will be the theme. I’ve also deleted the city scene, since it was just bad in terms of performance and other stuff. Basically, my hope is that, using a forest, will help me conceal a lot more, and repetition of trees and other assets wont be as visible as in a city, thus i’ll be able to finish it faster without losing visual fidelity. Also all the assets have LOD’s for optimization!"}, {"post_id": 68725, "ts": "2026-09-15T17:01:11Z", "hours": 1.6053, "text": "So, after all the positive feedback I couldn’t just leave the project to rot. Soo, in my free time I will try to work some more on this game. So I made a little list with what to add: I will be leaving the night city behind, it’s hard to optimize. Instead I will be making a forest/mountain scene, which I think will be cool to race in. I also decided to experiment some more with the visual effects available to me, so I added flares to light sources, for now a bit excessive, but oh well. I also upped the collision particles, more smoke, sparks and debris => looks better cuz it hides the bad crash physics (maybe ???) After I am done with the forest scene, and I will make a couple races, what will follow is another ship, and then I will work on traffic followed (if finished) by another ship."}, {"post_id": 65510, "ts": "2026-09-10T18:18:48Z", "hours": 3.2097, "text": "BUILD READY!!! This is the last devlog before the ship. Alltough the game isnt in the state I would like it to be, school started and i’m in my terminal grade, so it’s a tough year ahead, so I have to shelve this project. The race is playable, its difficult in a way but its also fun. I also added a second level which is just an open map with a field and hills for you to test the driving physics and also as a lower graphical alternative to the city race. In the final hours of development I added all the basic necessary menus and fixed some bugs that I catched while testing. See you in the ship!"}, {"post_id": 64889, "ts": "2026-09-09T16:28:26Z", "hours": 3.6897, "text": "I’ve reworked a few sections of the track and tweaked the racing AI. They can now almost always finish the race unless the player does some tomfoolery. Besides that I fixed a ugly visual bug where the terrain would poke trough the road when the camera was closed to the ground. Next, I remade the speedometer, RPM indicator and Gear indicator as you can see in the screenshots. The final thing that I added is a detection of “large” crashes, alltough is inconsistent, I dont currently have ideas how to fix it right now. For now when it detects a crash it enables slowmotion for a fraction of a second just for some oomph. All that remains for me to do is UI: -Race start countdown -Race finish info -Pause Menu -Main menu And a Game Over screen for when you crash. After these additions I will ship the game, as school started and I will have to shelve it, and I dont want to miss out on the sweet stardust it can offer!"}, {"post_id": 63721, "ts": "2026-09-07T17:33:37Z", "hours": 2.8544, "text": "Soo, I made the car more believable. It has working brake lights (WOOW), and new engine sounds that make it sound more powerful, but also added something extra spice, like exhaust backfire, that is programically made, with a multitude of firecracker sounds that I then processed. Besides that I also added a turbo blow off sound. They use the simulated rpm to decide their pitch and intensity, while also considering the throttle difference and position. Last thing (visible in the last seconds of the last video), I improved the crash physics with detachable parts and deformable chassis."}, {"post_id": 62131, "ts": "2026-09-05T11:51:23Z", "hours": 2.7356, "text": "The map is done! I added some bariers with a simple shader, but I might change them soon, as I dont like the way they look. I also added a new car for the race. I’ve also done some optimzing, enabled mesh batching, and after i’m 100% done with the map I will also bake the lighting for even better performance. I’ve decided to leave out traffic for now, as its’ pretty difficult to implement and I don’t have the time, since school is starting. As a small to do list for the ship: -Main menu with settings -Start sequence -Race Timer -Ending Cutscene -Model credit list -Sounds -Maybe some music"}, {"post_id": 55154, "ts": "2026-08-26T17:03:03Z", "hours": 3.3333, "text": "I have been working on the map ever since the last devlog. There isn’t much to say as there is to show. The scene has gotten laggy with lag spikes that seem random, so I will have to investigate and see how to optimize the game."}, {"post_id": 53725, "ts": "2026-08-24T12:09:21Z", "hours": 3.5356, "text": "Alright, i’ve been busy collecting assets and making materials and collections in order to start work on the map, which I did, I started with the dock area, since I dont yet have many house models, and well, I think it’s looking pretty cool, ngl. Next up I’ll go around the track in order to detail the section most. I am using the darkness and distance as a tool to be lazy, but also optimize. No point in detailing a part the player wont see. Also in my toolset is the fact the player will be moving fast and concentrating on the road, so it won’t be necessary for me to detail every inch of the map, instead focusing on intersections and areas the player will be slow enough to notice such details."}, {"post_id": 52464, "ts": "2026-08-22T16:17:32Z", "hours": 2.1669, "text": "The really fun part has begun! Im stylizing the game. Yeah, I decided to skip traffic for now and instead get busy making my environment. First I started by making a cool night sky and lighting, i turned on some settings, and I am pretty afraid that this game wont run decent at all when Im done, but ill do optimizing later, im sure it will be fine. Im still in search of models, as modelling everything by myself is out of the scope of this little project. But it’s gonna be pretty cool looking, i believe."}, {"post_id": 51776, "ts": "2026-08-21T16:47:51Z", "hours": 1.4, "text": "Ok, i’ve worked around a bit, and decided that for the first ship I want to release ONE very good feeling race. So I wont complicate myself with tuning and other systems, it will be one car, one race. So the atmosphere will be very important. I already have the layout of the race done, it’s supposed to go trough the docks > coast > downtown > highway and then the race ends. Also I believe making this small but very polished game will lend me more experience than something that will be overly complex, as many of my game projects end up. I will start with the terrain an polishing the track to make it more interesting in terms of driving and then i’ll get started on the terrain and dock area"}, {"post_id": 51639, "ts": "2026-08-21T12:50:14Z", "hours": 5.0786, "text": "The racing AI is done. I also made a small race manager which takes the cars, aligns them in a grid and then starts a countdown. It also keeps trak of the position and lap-times, but there is no UI for that yet. I also started working on the Map for the demo, i’m still debating how big the demo will be, but probably it’ll be a few races. After I have a small map layout, i’ll get started on the traffic AI, and move on from there. Im still trying to get the hang of this road tool I am using, and also getting the road dimensions right, but we’ll see."}, {"post_id": 49190, "ts": "2026-08-17T20:37:34Z", "hours": 3.1403, "text": "I’m very happy with the racing AI, while it’s not perfect and cannot avoid everything, like a wall in the middle of the road, I dont think that will be the case like ever. It can avoid other cars, either static or not and it uses a basic prediction to determine if it’s on a collision course with another car and act accordingly. Also, for the path, as you could see from the beggining of the video, the path was already backed based on the road. The car then only decides when to brake and steer based on that path. Next up i’ll make a demo race with multiple racers and position marking and stuff and then get started on the map."}, {"post_id": 47417, "ts": "2026-08-15T10:44:33Z", "hours": 5.6383, "text": "Alrighty, I decided to actually use my brain and came to the conclusion to instead bake the racing paths, instead of just having them create one at runtime. I made a small unity tool, I just place the checkpoints, click bake and a racing spline gets generated. If you look real close, you can see that the line follows an outside-inside-outside path for steering. Now that I have this, I will work on the racer Ai itself. First I will make it follow the track with optimal speed and then teach it to avoid obstacles, other cars and then even overtake."}, {"post_id": 45697, "ts": "2026-08-12T11:00:48Z", "hours": 3.2739, "text": "Okk, I feel like i’m getting close. As you can see, the car now tries to build a racing line, this is all in real time. While its still not perfect, I feel like I am getting close. There are still some bugs related to the pathing on the road that I will have to fix, but overall its very good. The system works by identifying an apex. The geometrical apex is considered in this case the point which has the biggest angle difference compared to its neighbours. Now, after it identifies the apex, it grabs all points leading to the apex, and shifts them to the outside, before starting to shift them to the inside towards the apex, all using a sine wave based lerp in order to get a nice arc. While this system is good, I feel like the driver script that is responsible with making the car follow the points is kind of goofed, so i’ll look into that."}, {"post_id": 45184, "ts": "2026-08-11T14:37:35Z", "hours": 6.5986, "text": "Racing ai, thats all I’ve been doing. It works fine-ish, i feel like Im close but it still overshoots, but I have some ideas on how to fix it."}, {"post_id": 3583, "ts": "2026-06-06T16:13:53Z", "hours": 4.5958, "text": "I have been working on making racing ai for the game. As a small intro, i have worked on this project before, and what I got is a working car controller, and dialed in physics to something I like how it feels. The ai represented a difficult problem. If I want this to be open world, and for there to be police chases, I needed the NPC car to be able to go offroad, so basically, of a set path. There would be the option to make a hand tailored map and even for the offroad sections to be counted as roads, but that would be hard for one developer to do and test, so I opted for this. When the car is not on a road network, it fallbacks to the built in navmesh system in unity. It then uses it to calculate a path as a list of point and then drives between them. On the road, we just need to sample points from the spline of the road and then drive between them. The hard part was this driving part :D While it might seem simple, just point the car to the next point, and then have it move forwards, there is much more nuance to this. First, the NPC car should behave just like the player car, it should have the same turn angle, and thus I must now convert a simple direction into a steering angle. Another difficult part is when racing. I can’t just have it accelerate always, the car must brake when a sharp corner is coming up, and for really tight one, maybe even drift. So how do you do that? Well, i dont know yet, this past 4 hours I have been working on the same script and same section trying to figure that out. I really hope that next devlog I can come with a solution, but i cant promise anything. My plan is to calculate the curve of the upcoming curve, and then somehow spit out a good speed for that, but there are a lot of factors to account for, like the grip of the car and actual speed, distance to corner etc."}]...
|
Title: Car Game by @Mihai | Stardance
Devlogs:
I Title: Car Game by @Mihai | Stardance
Devlogs:
I have been working on making racing ai for the game. As a small intro, i have worked on this project before, and what I got is a working car controller, and dialed in physics to something I like how it feels. The ai represented a difficult problem. If I want this to be open world, and for there to be police chases, I needed the NPC car to be able to go offroad, so basically, of a set path. There would be the option to make a hand tailored map and even for the offroad sections to be counted as roads, but that would be hard for one developer to do and test, so I opted for this. When the car is not on a road network, it fallbacks to the built in navmesh system in unity. It then uses it to calculate a path as a list of point and then drives between them. On the road, we just need to sample points from the spline of the road and then drive between them. The hard part was this driving part :D While it might seem simple, just point the car to the next point, and then have it move forwards, there is much more nuance to this. First, the NPC car should behave just like the player car, it should have the same turn angle, and thus I must now convert a simple direction into a steering angle. Another difficult part is when racing. I can’t just have it accelerate always, the car must brake when a sharp corner is coming up, and for really tight one, maybe even drift. So how do you do that? Well, i dont know yet, this past 4 hours I have been working on the same script and same section trying to figure that out. I really hope that next devlog I can come with a solution, but i cant promise anything. My plan is to calculate the curve of the upcoming curve, and then somehow spit out a good speed for that, but there are a lot of factors to account for, like the grip of the car and actual speed, distance to corner etc.
Racing ai, thats all I’ve been doing. It works fine-ish, i feel like Im close but it still overshoots, but I have some ideas on how to fix it.
Okk, I feel like i’m getting close. As you can see, the car now tries to build a racing line, this is all in real time. While its still not perfect, I feel like I am getting close. There are still some bugs related to the pathing on the road that I will have to fix, but overall its very good. The system works by identifying an apex. The geometrical apex is considered in this case the point which has the biggest angle difference compared to its neighbours. Now, after it identifies the apex, it grabs all points leading to the apex, and shifts them to the outside, before starting to shift them to the inside towards the apex, all using a sine wave based lerp in order to get a nice arc. While this system is good, I feel like the driver script that is responsible with making the car follow the points is kind of goofed, so i’ll look into that.
Alrighty, I decided to actually use my brain and came to the conclusion to instead bake the racing paths, instead of just having them create one at runtime. I made a small unity tool, I just place the checkpoints, click bake and a racing spline gets generated. If you look real close, you can see that the line follows an outside-inside-outside path for steering. Now that I have this, I will work on the racer Ai itself. First I will make it follow the track with optimal speed and then teach it to avoid obstacles, other cars and then even overtake.
I’m very happy with the racing AI, while it’s not perfect and cannot avoid everything, like a wall in the middle of the road, I dont think that will be the case like ever. It can avoid other cars, either static or not and it uses a basic prediction to determine if it’s on a collision course with another car and act accordingly. Also, for the path, as you could see from the beggining of the video, the path was already backed based on the road. The car then only decides when to brake and steer based on that path. Next up i’ll make a demo race with multiple racers and position marking and stuff and then get started on the map.
The racing AI is done. I also made a small race manager which takes the cars, aligns them in a grid and then starts a countdown. It also keeps trak of the position and lap-times, but there is no UI for that yet. I also started working on the Map for the demo, i’m still debating how big the demo will be, but probably it’ll be a few races. After I have a small map layout, i’ll get started on the traffic AI, and move on from there. Im still trying to get the hang of this road tool I am using, and also getting the road dimensions right, but we’ll see.
Ok, i’ve worked around a bit, and decided that for the first ship I want to release ONE very good feeling race. So I wont complicate myself with tuning and other systems, it will be one car, one race. So the atmosphere will be very important. I already have the layout of the race done, it’s supposed to go trough the docks > coast > downtown > highway and then the race ends. Also I believe making this small but very polished game will lend me more experience than something that will be overly complex, as many of my game projects end up. I will start with the terrain an polishing the track to make it more interesting in terms of driving and then i’ll get started on the terrain and dock area
The really fun part has begun! Im stylizing the game. Yeah, I decided to skip traffic for now and instead get busy making my environment. First I started by making a cool night sky and lighting, i turned on some settings, and I am pretty afraid that this game wont run decent at all when Im done, but ill do optimizing later, im sure it will be fine. Im still in search of models, as modelling everything by myself is out of the scope of this little project. But it’s gonna be pretty cool looking, i believe.
Alright, i’ve been busy collecting assets and making materials and collections in order to start work on the map, which I did, I started with the dock area, since I dont yet have many house models, and well, I think it’s looking pretty cool, ngl. Next up I’ll go around the track in order to detail the section most. I am using the darkness and distance as a tool to be lazy, but also optimize. No point in detailing a part the player wont see. Also in my toolset is the fact the player will be moving fast and concentrating on the road, so it won’t be necessary for me to detail every inch of the map, instead focusing on intersections and areas the player will be slow enough to notice such details.
I have been working on the map ever since the last devlog. There isn’t much to say as there is to show. The scene has gotten laggy with lag spikes that seem random, so I will have to investigate and see how to optimize the game.
The map is done! I added some bariers with a simple shader, but I might change them soon, as I dont like the way they look. I also added a new car for the race. I’ve also done some optimzing, enabled mesh batching, and after i’m 100% done with the map I will also bake the lighting for even better performance. I’ve decided to leave out traffic for now, as its’ pretty difficult to implement and I don’t have the time, since school is starting. As a small to do list for the ship: -Main menu with settings -Start sequence -Race Timer -Ending Cutscene -Model credit list -Sounds -Maybe some music
Soo, I made the car more believable. It has working brake lights (WOOW), and new engine sounds that make it sound more powerful, but also added something extra spice, like exhaust backfire, that is programically made, with a multitude of firecracker sounds that I then processed. Besides that I also added a turbo blow off sound. They use the simulated rpm to decide their pitch and intensity, while also considering the throttle difference and position. Last thing (visible in the last seconds of the last video), I improved the crash physics with detachable parts and deformable chassis.
I’ve reworked a few sections of the track and tweaked the racing AI. They can now almost always finish the race unless the player does some tomfoolery. Besides that I fixed a ugly visual bug where the terrain would poke trough the road when the camera was closed to the ground. Next, I remade the speedometer, RPM indicator and Gear indicator as you can see in the screenshots. The final thing that I added is a detection of “large” crashes, alltough is inconsistent, I dont currently have ideas how to fix it right now. For now when it detects a crash it enables slowmotion for a fraction of a second just for some oomph. All that remains for me to do is UI: -Race start countdown -Race finish info -Pause Menu -Main menu And a Game Over screen for when you crash. After these additions I will ship the game, as school started and I will have to shelve it, and I dont want to miss out on the sweet stardust it can offer!
BUILD READY!!! This is the last devlog before the ship. Alltough the game isnt in the state I would like it to be, school started and i’m in my terminal grade, so it’s a tough year ahead, so I have to shelve this project. The race is playable, its difficult in a way but its also fun. I also added a second level which is just an open map with a field and hills for you to test the driving physics and also as a lower graphical alternative to the city race. In the final hours of development I added all the basic necessary menus and fixed some bugs that I catched while testing. See you in the ship!
So, after all the positive feedback I couldn’t just leave the project to rot. Soo, in my free time I will try to work some more on this game. So I made a little list with what to add: I will be leaving the night city behind, it’s hard to optimize. Instead I will be making a forest/mountain scene, which I think will be cool to race in. I also decided to experiment some more with the visual effects available to me, so I added flares to light sources, for now a bit excessive, but oh well. I also upped the collision particles, more smoke, sparks and debris => looks better cuz it hides the bad crash physics (maybe ???) After I am done with the forest scene, and I will make a couple races, what will follow is another ship, and then I will work on traffic followed (if finished) by another ship.
I’ve been messing around with assets, lighting and visual effects. I kinda like this a bit more than the city night. So for the next demo, this will be the theme. I’ve also deleted the city scene, since it was just bad in terms of performance and other stuff. Basically, my hope is that, using a forest, will help me conceal a lot more, and repetition of trees and other assets wont be as visible as in a city, thus i’ll be able to finish it faster without losing visual fidelity. Also all the assets have LOD’s for optimization!
I’ve put in another hour on the map. I’ve decided to split the map in multiple regions for visual variety. There is the dense forest in the first photo, followed by a low vegetation, high altitude mountain region (began working, second and third photo). Planned is also a plains-like region, a lake and i’ll see if I can fit a small town somewhere. The roads are curved and never go straight for too long, and compared to the city map, some of the chicanes here make sense. I am still thinking about how I could still have the night city here in the next demo. Maybe i’ll restore the map itself, or i’m thinking of just adding a docks area for free driving.
I’ve been working on the dry-ish mountain region. I’ve also added grass to the map, as you can see. For the moment I have some lighting issues in the mountain region because of the rock models, and some settings, so the dry grass there is black, but other than that it looks great and it really helps fill the map with life. Other than map work, I took some time to work on the speed feeling. In the second and third photo is how the game looks at a speed of >120km/h. The edges get deformed, pulled back, and a vignette help sell the tunnel vision illusion. Besides that, its screen shake and FOV work. Between the third and last picture you can clearly see the difference between the two states.
The map is doneeeeeeee!!!! It’s as varied as I could make it, but you can see the different regions, and I like that. Besides that I’ve made the first race layout, and the AI just works (wowowowwow!!!!). Another cool thing I’ve added is wind, as a sound, when you go really really fast. On high speed, as I said in a previous devlog, a tunnel vision effect forms. Now, the sounds will deafen as if the ears are getting plugged, the only thing you hear clearly being the sound of the wind passing by your car. It has a really cool implementation, using a curve and some inverse lerp to sample, this way the effect is not linear and at low speed no big changes happen. Anyway, down here i’ll add some screenshots with the map, love to hear your feedback!
Speed. Speed is very important when it comes to racing, right? Well yes, but in a video game, where you sit down on a chair, static, in a room, the sensation of speed is even more important. That’s why these few hours i’ve been working on making the game feel fast . Changes have been made to the way the camera moves behind the car and in how it tracks it. Besides that, there has been a little sound work. At high speeds sounds become muffled and a wind noise can be heard. There is also the post processing i’ve been talking about in the other devlogs. Besides that, i’ve started reworking the UI, and the first element was the gauge cluster. I’ve decided to have the text physically live in the world, it reacts to the car, lagging behind or moving from side to side slightly. It also gets blurred at high speeds, because from a certain point it doesn’t matter if you’re going 150 or 200 kph, since that road barrier is still approaching you at a lethal speed, so you should probably just brake. I LOVE the way the driving turned out, and I sometimes sit for too long just driving around, so I can’t wait to get this game back to you guyz. Peace.
I’ve been working on the HUD for the game. Really simple, but it was missing. It features a lap counter, lap timer, best lap, lap delta, position. The speed/rpm/gear cluster is the same as before.
I’ve been working on a new surface system! Now I can add surfaces with different sounds and effects when sliding. I also added “rolling sounds” that play when just driving over at adequate speed. I’ve added a dirt surface, for obvious reasons. It also has something called rolling resistance. You will observe the fact that when driving over dirt with one side of the car still on the road, the car will steer towards the dirt, because of the higher resistance, and also will have as a consequence a lower top speed, also acting as a penalty for driving offroad. Besides that I also added ambient sounds, like a wind and leaves thing so that you can tell when standing still that you are in a forest :))) Last thing is I made the crashing better, no longer will any impact “crash” you but the sounds are also better, with separate sounds for high and low impact speeds. Basically a lot of polish for the game, the driving feels better, I feel like, because of it, and it also incentivises you to stay on the road, alltough the trees already kinda did that.
So, there have been a few changes. There are now drivers, the cars are no longer driven by ghosts. There are procedural animations for steering using IK (it’s really not that complicated. They also look ahead and where they drive (INCREDIBLE!!!!). Besides that they also react to crashes, eating the steering wheel, cus there ain’t no airbag (poor lads). I’ve reworked the crash system, not visually but technically. You are now allowed to have 3 small crashes, they still trigger the slow motion, but they don’t end your race. Crash many more times than that, your race ends. This way you are still penalised for bad driving. There is still a one hit “lethal impact”, but that basically means going top speed into a tree to trigger. Another small addition are some more sounds, to make the driving feel even better: -Gear shifter sounds -Handbrake pull/release sounds Just a small bit of polish. Besides that there were small bug fixes, nothing notable.
I made a line that shows you where to go, so you don’t need to guess anymore. It uses the baked racing path the AI uses, and passes the points to a line renderer. It also scales with speed, higher speed => line extends further, in order to help you see upcoming corners easier.
This has been a big push to finish the new version of the game. Together with a linux build the new version brings a new map, new UI, racing line, settings menu, AI-improvements, optimization, driver models, 3 new races, a loading screen, and a start race “screen”. Specific for this devlog, the settings menu, with three graphical presets, a loading screen and a start race screen. Two new races. Small map additions (some houses and parked cars, and physical objects incld cones and barriers that you can hit). Bug fixes across the board. A big challenge for this was the data transition between scenes and settings saving. And I used player prefs to save settings, and some simple static objects to transfer info between scenes. Overall what I have here is a nice base to start building a campaign.
Ships:
This is a small NFS inspired car game demo. It’s a project to test my technical abilities in Unity. It features custom made vehicle physics based on Unity’s built in wheel colliders and a custom easy to use solution for racing ai. Besides that, it is (in some small predetermined angles) a fairly good looking game, with a little bit of style. The game uses Unity’s HDRP render pipeline for its graphics, together with some screen space reflections and reflective materials, the game gets to look fairly good, especialy in the low light enviorment it’s set in. The car physics are in a sim-cade style. The car can still do crazy steering at high speeds, and its very easy to rotate it, but understeer and oversteer can still occur, besides that, the car is not limited in any way when it comes to external forces that can imbalance it, hit a curb at a high speed and the car can go flying. The biggest challenge was the racing AI. First of all it was hard to make a car know how much to steer to go from point A to point B. After that, it was fairly simple right? Just sample some point from the road spline and follow them. But curves exist, and for that you need to calculate the right speed to go trough it so that it wont crash. Then, the car was driving very inefficiently, following the middle of the road, so what followed was a long quest of making a racing path generator, in which I succeeded (with the help of AI). Then came obstacle avoidance, making the car not seem just like a train following a predefined track. If necessary the car will go off track to avoid obstacles and it’s aware of cars around it and will try to keep the distance. There is also a system that predicts collisions with other cars (for example if a car in front is cutting in front of it, it can predict that will happen and brake). This is all theory but it still works in game, sometimes. Another hard part was building a city. I had no prior experience in making games that aren’t made out of just basic cubes and shapes, so it was difficult to find assets and other stuff to populate the city. Then also came the point of how much detail should I even add and many other factors that in the end made me make the hard decision of making just one race in order to not break the illussion of a semi believable city. I’m very proud of how it came out, alltough I have so many ideas about how I can make it grander and better, but i currently don’t have the time to do so. I hope to come back in the future and actually make a cool metal-rock and boost infused racing game like NFS Most Wanted, but it has to wait. For those who want to play test the game. Currently there is only a windows version for the game, and it can also be pretty demanding in terms of GPU (Basically, I think it needs a dedicated GPU, I have a rtx 3050 4gb laptop GPU and it runs fine). There is a simpler driving demo scene which is just white terrain with some roads, that maybe will fair better with lower end hardware.
So, this is the new version of car gaim!!! There is a new map, much more optimized, together with settings and a linux build to improve accessibility. There are 3 races together with a free drive mode on the main map. Change log: -New map -3 new races -Settings -New UI/Hud -Racing line -Driver models and reactions -Driving Surfaces -New sounds (shifting, high speed, crash etc.) -Speed effects -Improved car model and textures -Small AI improvements -Loading Screen -New Crash system: three crashes or a big crash and you’re out of the race -Optimization -Partial controller support -Small destructable objects on the map The biggest challenge was finding time to still work on the game and also bring significant improvement. The time restrain allowed me to focus on the necessary and I really feel the game is in a better place now. Technically this update is much smaller than the first release (it’s obvious) but interconnecting all the systems in one product was a real hassle, especially with the UI, as Unity UI is a bit janky. Notes for testers: I found a region with very bad fps spikes, for which I haven’t found the cause for. Thankfully its only a small part of both races, and a small part on the map overall. There is partial controller support, menus haven’t been tested properly, but driving works. There is a Linux build, but it wasn’t tested, any notes about that are welcome. Download available on itch.io...
|
1793000933.982767
|
1793087333.982767
|
|
610
|
MARGE - Modular Advanced Raytracing & Graphics MARGE - Modular Advanced Raytracing & Graphics Engine by @markmris | Stardance...
|
markmris
|
2
|
31.0
|
482
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T22:21:26Z", "hours": 9.0, "multiplier": 16.75, "payout": 159, "blessing": "neutral", "text": "I improved and optimized my raytracing graphics engine. Images now render ~2x faster under default settings. Textures have been added, along with motion blur. I ran into issues like my first stack overflow error and nullpointers. To try the project, follow the instructions at the bottom of the README for the best experience.", "repo": "https://github.com/markmris/marge", "demo": "https://github.com/markmris/marge/releases/tag/v0.16.2"}, {"ship_num": 2, "ts": "2026-08-05T22:53:58Z", "hours": 22.0, "multiplier": 14.64, "payout": 323, "blessing": "neutral", "text": "I built a raytracing graphics engine in raw C++. The engine uses mathematical concepts involving vectors, quadratics, as well as scientific concepts like reflection and refraction. This was my first long-term project I actually committed to. I learned a lot about C++ and math in general. To try the project, follow the instructions at the bottom of the README.", "repo": "https://github.com/markmris/marge", "demo": "https://github.com/markmris/marge/releases/tag/v0.16.2"}]...
|
[{"post_id": 53380, "ts": "202 [{"post_id": 53380, "ts": "2026-08-23T22:12:27Z", "hours": 4.5031, "text": "These final hours have been excruciating. I encountered my first ever stack overflow (cannon event), I had trouble with null pointers, and somehow a function I made 2 weeks ago was broken but never showed its way through until today. But finally, I added textures! The 2 textures added are a checkerboard texture (as seen in the image below), and now you can upload any jpeg, png, or tga to the textures folder and they will be randomly applied to spheres. I added an earth texture and basketball texture. The image library was not me, it’s from an open source image library called stb_image. I would not have been able to make it myself. Also, I reorganized the project file structure because when I started my files were very non-conventional. Believe it or not, I got the file advice from The Cherno on YouTube. This is probably my final devlog for the summer. I learned a lot making this project and will continue it for the next few months to hopefully get it to where I want it to be."}, {"post_id": 49940, "ts": "2026-08-18T22:19:25Z", "hours": 3.9922, "text": "2 things done today: Fixed the black sphere bug. I realized the issue was generating the colors by using normal vectors, which return values between -1 and 1. Since negative values are clamped to 0 by the color module, I rendered black spheres. I fixed this by making a designated randomColor() function. I added Bounding Volume Hierarchies, or BVH for short. BVH creates a massive performance increase, just over doubling render speed (from 6:30 to 3:04). This feature was by far the hardest to implement and understand, but basically it chunks up objects in the world to be in groups of boxes, and instead of looping through each object in the scene for collision checks, we loop through bounding boxes (groups) first, eliminating the objects that were missed. There was lots of friction creating this feature, especially after implementing a new loop that mathematically, should make the renderer faster, but in reality it became ~2.6x slower? I scrapped that for now and I’ll revisit it later."}, {"post_id": 46630, "ts": "2026-08-14T00:57:35Z", "hours": 0.9831, "text": "Today I made motion blur and moving objects. The camera cannot move yet, but objects can now be given a current and moveto position. The lower the fps is and/or the further the points are from each other, the blurrier the object will be, since as of now, each object is “moving” at a constant speed that will get them from point A to B in 1 time unit. (Maybe I should call it ticks or something) Feel free to leave a fun name idea in the comments. One weird issue I ran into was the 2nd book skipped a few steps and used methods and variables that were never covered, so I had to ask AI for help. There’s also a bug that makes the sphere look black and the motion blur is the proper color so that will have to be fixed soon."}, {"post_id": 40898, "ts": "2026-08-04T18:29:28Z", "hours": 5.435, "text": "I made a lots of progress and learned a bunch in the past few hours! I added 2 big features: Custom Command Line Parsing and Random Scene Generation. I also ran into a lot of friction doing these. I first had to learn how to connect an enum to strings, which was pretty easy, but the hard part was making sure commands were secure and wouldn’t break under one mistype. The random scene generation was pretty hard too. The big part was calculating the center point every object revolved around and positioning them nicely. This made the renderer quite a bit slower, but it was worth it."}, {"post_id": 40148, "ts": "2026-08-03T15:32:59Z", "hours": 0.5725, "text": "Not much done this log. I just added defocus blur. This works by conceptually simulating a real camera with a virtual lens that grows and shrinks along with a focus distance. At the focus distance, objects are fully in focus. The further objects get from that distance, they decrease in focus linearly based on the size of the lens as well. Once again not much friction."}, {"post_id": 39767, "ts": "2026-08-02T23:06:59Z", "hours": 1.4736, "text": "Finished something huge today, a positionable/modifiable camera! Each image can now have a unique position for the camera, as well as a rotated camera. I also added FOV which makes the camera zoom in or out. (Default set to 90). One big thing I had to deal with was the cross products. The cross product of two vectors returns one vector perpendicular to both original vectors, which was required to calculate the direction the camera was facing. The order of calculation matters a lot because incorrect cross products flipped the image upside down, inversed rotation and position, etc."}, {"post_id": 39688, "ts": "2026-08-02T20:31:11Z", "hours": 0.3392, "text": "Didn’t do much this log. I just added some code to handle edge cases where light intersects glass or any dielectric at a 90 degree angle that screws up the pixel slightly. Not really much friction at all today. On the sphere t the left, I made it look hollow by placing another sphere inside the bigger one which makes light bend multiple times causing the hollow effect."}, {"post_id": 39216, "ts": "2026-08-02T01:19:31Z", "hours": 0.9275, "text": "Today I created another material, dielectrics. A dielectric is any material that bends or refracts light, for example, glass, water, diamonds, etc. Think of when you dip a pencil in water and it looks bent, that’s refraction. The sphere on the left is now a solid glass ball where light refracts in a way that flips it 180 degrees. I ran into an issue where I used multiplication instead of addition in the refraction code which made the refraction look warped and messy. (Forgot to screenshot it)"}, {"post_id": 37936, "ts": "2026-07-30T23:24:59Z", "hours": 0.5417, "text": "Today I made the fuzzy metal material. Metal surfaces now take a new fuzz parameter which modifies the reflectivity and makes it look like a shiny diffuse material the more fuzzy it is. In the screenshot I posted, the sphere on the left is non-fuzzy metal, the middle one is diffuse, and the right one is fuzzy metal."}, {"post_id": 35313, "ts": "2026-07-26T17:09:41Z", "hours": 1.4764, "text": "My renderer is starting to get pretty advanced now! I just finished making the metal/reflective material, as you can see in the photo. I also added gamma correction, which is just square rooting the color output so that the color accuracy and intensity is proper. One issue I ran into was figuring out a weird compiler quirk with override methods, how I wasn’t meant to use the override keyword when defining a function in the .cpp module, but you are supposed to use it only in the declaration in the .h header file."}, {"post_id": 34794, "ts": "2026-07-25T19:48:08Z", "hours": 1.2036, "text": "I fixed one big thing today! Shadow Acne. (Yes that’s what it’s called). This is an issue where a ray starts too close to its origin and accidentally hits itself, causing black freckles all over the image. (As seen in the first photo below). It seemed the only way to fix it was to increase pixel sampling, which is shooting multiple rays at each pixel that are all slightly offset and calculating the average of the colors hit, as seen in the second photo. The downside to this is that it makes the renderer MUCH slower. Image generation jumped from a few seconds to ~2 minutes. I also spent a decent amount of time getting a better understanding of the pipeline and rendering process. Here’s a rundown of how it works if you’re interested: Start by initializing the camera, image and viewport size, and defining the position of every object in the world. Loop through each pixel in the image. For each pixel looped through, loop through every object in the scene. Run each object’s respective “hit” function to calculate whether or not it was hit. If the object was hit, run the sampling process as explained above. If not, color the sky gradient. Obviously there’s much more to it but that’s too much to explain."}, {"post_id": 33207, "ts": "2026-07-22T22:10:48Z", "hours": 0.6583, "text": "Today I did some new vector math to generate diffuse materials. The idea is that a diffuse is a surface that is the same color all around it, and not this pixely, but it’s a work in progress. Not much friction today overall."}, {"post_id": 31415, "ts": "2026-07-19T19:21:13Z", "hours": 2.9711, "text": "Today I worked on antialiasing, the process of blending edge pixels with the background to give the image smoother surfaces and to look nicer. Unfortunately, this process makes the renderer a lot slower, meaning it will have to be heavily optimized over time. I also ran into a big issue where the rendered image was black. I found out that I messed up some arithmetic and also had a divide by zero error that didn’t show up."}, {"post_id": 22496, "ts": "2026-07-05T00:14:22Z", "hours": 3.9025, "text": "I finally have a decent graphics engine! Over the past while, I’ve been cleaning up and reorganizing the entire codebase so it’s much easier to work with and expand. Instead of having everything jumbled together, I’ve split the project into reusable modules and created a central header that keeps the code organized. The biggest improvement is how objects are handled. Before, adding another sphere or object required changing the rendering code itself. Now, I can simply add a new object to a list, and the engine automatically includes it the next time it renders the image. This makes building more complex worlds much faster and sets up a solid foundation for future features and shapes. This’ll hopefully someday turn into a game engine or open source graphics engine that will actually generate frames, so it can be used to make video games from scratch! Here’s the GitHub if you’re interested in following along: https://github.com/markmris/marge"}, {"post_id": 15722, "ts": "2026-06-25T16:11:09Z", "hours": 1.2989, "text": "Finally got a chance after exams to continue working on my graphics engine. I spent some time watching videos on vector math to better understand them and how they differ from regular scalars, coordinates, and lines. With my new knowledge I got to work on creating a surface normal, and now my sphere has a VERY ugly blend of colors that give it some visual depth. The concept of surface normals still doesn’t make that much sense to me, so I’m gonna spend more time watching videos and understanding them"}, {"post_id": 575, "ts": "2026-06-02T02:11:11Z", "hours": 0.4825, "text": "I’ve started rendering actual shapes now. The first shape I rendered is a sphere, though it looks like a circle (kind of like the Japanese flag) since it doesn’t have any depth yet. I also discovered and fixed a major bug making the viewport/window a square and the image a rectangle which distorted shapes and gradients."}, {"post_id": 149, "ts": "2026-05-31T23:26:33Z", "hours": 0.7561, "text": "I implemented raycasts to be used instead of manual color drawings and made a sky gradient. Ran into a bug with the vector math and moved around a few things to fix it, now it works, looks better, and renders faster!"}]...
|
Title: MARGE - Modular Advanced Raytracing & G Title: MARGE - Modular Advanced Raytracing & Graphics Engine by @markmris | Stardance
Devlogs:
I implemented raycasts to be used instead of manual color drawings and made a sky gradient. Ran into a bug with the vector math and moved around a few things to fix it, now it works, looks better, and renders faster!
I’ve started rendering actual shapes now. The first shape I rendered is a sphere, though it looks like a circle (kind of like the Japanese flag) since it doesn’t have any depth yet. I also discovered and fixed a major bug making the viewport/window a square and the image a rectangle which distorted shapes and gradients.
Finally got a chance after exams to continue working on my graphics engine. I spent some time watching videos on vector math to better understand them and how they differ from regular scalars, coordinates, and lines. With my new knowledge I got to work on creating a surface normal, and now my sphere has a VERY ugly blend of colors that give it some visual depth. The concept of surface normals still doesn’t make that much sense to me, so I’m gonna spend more time watching videos and understanding them
I finally have a decent graphics engine! Over the past while, I’ve been cleaning up and reorganizing the entire codebase so it’s much easier to work with and expand. Instead of having everything jumbled together, I’ve split the project into reusable modules and created a central header that keeps the code organized. The biggest improvement is how objects are handled. Before, adding another sphere or object required changing the rendering code itself. Now, I can simply add a new object to a list, and the engine automatically includes it the next time it renders the image. This makes building more complex worlds much faster and sets up a solid foundation for future features and shapes. This’ll hopefully someday turn into a game engine or open source graphics engine that will actually generate frames, so it can be used to make video games from scratch! Here’s the GitHub if you’re interested in following along: https://github.com/markmris/marge
Today I worked on antialiasing, the process of blending edge pixels with the background to give the image smoother surfaces and to look nicer. Unfortunately, this process makes the renderer a lot slower, meaning it will have to be heavily optimized over time. I also ran into a big issue where the rendered image was black. I found out that I messed up some arithmetic and also had a divide by zero error that didn’t show up.
Today I did some new vector math to generate diffuse materials. The idea is that a diffuse is a surface that is the same color all around it, and not this pixely, but it’s a work in progress. Not much friction today overall.
I fixed one big thing today! Shadow Acne. (Yes that’s what it’s called). This is an issue where a ray starts too close to its origin and accidentally hits itself, causing black freckles all over the image. (As seen in the first photo below). It seemed the only way to fix it was to increase pixel sampling, which is shooting multiple rays at each pixel that are all slightly offset and calculating the average of the colors hit, as seen in the second photo. The downside to this is that it makes the renderer MUCH slower. Image generation jumped from a few seconds to ~2 minutes. I also spent a decent amount of time getting a better understanding of the pipeline and rendering process. Here’s a rundown of how it works if you’re interested: Start by initializing the camera, image and viewport size, and defining the position of every object in the world. Loop through each pixel in the image. For each pixel looped through, loop through every object in the scene. Run each object’s respective “hit” function to calculate whether or not it was hit. If the object was hit, run the sampling process as explained above. If not, color the sky gradient. Obviously there’s much more to it but that’s too much to explain.
My renderer is starting to get pretty advanced now! I just finished making the metal/reflective material, as you can see in the photo. I also added gamma correction, which is just square rooting the color output so that the color accuracy and intensity is proper. One issue I ran into was figuring out a weird compiler quirk with override methods, how I wasn’t meant to use the override keyword when defining a function in the .cpp module, but you are supposed to use it only in the declaration in the .h header file.
Today I made the fuzzy metal material. Metal surfaces now take a new fuzz parameter which modifies the reflectivity and makes it look like a shiny diffuse material the more fuzzy it is. In the screenshot I posted, the sphere on the left is non-fuzzy metal, the middle one is diffuse, and the right one is fuzzy metal.
Today I created another material, dielectrics. A dielectric is any material that bends or refracts light, for example, glass, water, diamonds, etc. Think of when you dip a pencil in water and it looks bent, that’s refraction. The sphere on the left is now a solid glass ball where light refracts in a way that flips it 180 degrees. I ran into an issue where I used multiplication instead of addition in the refraction code which made the refraction look warped and messy. (Forgot to screenshot it)
Didn’t do much this log. I just added some code to handle edge cases where light intersects glass or any dielectric at a 90 degree angle that screws up the pixel slightly. Not really much friction at all today. On the sphere t the left, I made it look hollow by placing another sphere inside the bigger one which makes light bend multiple times causing the hollow effect.
Finished something huge today, a positionable/modifiable camera! Each image can now have a unique position for the camera, as well as a rotated camera. I also added FOV which makes the camera zoom in or out. (Default set to 90). One big thing I had to deal with was the cross products. The cross product of two vectors returns one vector perpendicular to both original vectors, which was required to calculate the direction the camera was facing. The order of calculation matters a lot because incorrect cross products flipped the image upside down, inversed rotation and position, etc.
Not much done this log. I just added defocus blur. This works by conceptually simulating a real camera with a virtual lens that grows and shrinks along with a focus distance. At the focus distance, objects are fully in focus. The further objects get from that distance, they decrease in focus linearly based on the size of the lens as well. Once again not much friction.
I made a lots of progress and learned a bunch in the past few hours! I added 2 big features: Custom Command Line Parsing and Random Scene Generation. I also ran into a lot of friction doing these. I first had to learn how to connect an enum to strings, which was pretty easy, but the hard part was making sure commands were secure and wouldn’t break under one mistype. The random scene generation was pretty hard too. The big part was calculating the center point every object revolved around and positioning them nicely. This made the renderer quite a bit slower, but it was worth it.
Today I made motion blur and moving objects. The camera cannot move yet, but objects can now be given a current and moveto position. The lower the fps is and/or the further the points are from each other, the blurrier the object will be, since as of now, each object is “moving” at a constant speed that will get them from point A to B in 1 time unit. (Maybe I should call it ticks or something) Feel free to leave a fun name idea in the comments. One weird issue I ran into was the 2nd book skipped a few steps and used methods and variables that were never covered, so I had to ask AI for help. There’s also a bug that makes the sphere look black and the motion blur is the proper color so that will have to be fixed soon.
2 things done today: Fixed the black sphere bug. I realized the issue was generating the colors by using normal vectors, which return values between -1 and 1. Since negative values are clamped to 0 by the color module, I rendered black spheres. I fixed this by making a designated randomColor() function. I added Bounding Volume Hierarchies, or BVH for short. BVH creates a massive performance increase, just over doubling render speed (from 6:30 to 3:04). This feature was by far the hardest to implement and understand, but basically it chunks up objects in the world to be in groups of boxes, and instead of looping through each object in the scene for collision checks, we loop through bounding boxes (groups) first, eliminating the objects that were missed. There was lots of friction creating this feature, especially after implementing a new loop that mathematically, should make the renderer faster, but in reality it became ~2.6x slower? I scrapped that for now and I’ll revisit it later.
These final hours have been excruciating. I encountered my first ever stack overflow (cannon event), I had trouble with null pointers, and somehow a function I made 2 weeks ago was broken but never showed its way through until today. But finally, I added textures! The 2 textures added are a checkerboard texture (as seen in the image below), and now you can upload any jpeg, png, or tga to the textures folder and they will be randomly applied to spheres. I added an earth texture and basketball texture. The image library was not me, it’s from an open source image library called stb_image. I would not have been able to make it myself. Also, I reorganized the project file structure because when I started my files were very non-conventional. Believe it or not, I got the file advice from The Cherno on YouTube. This is probably my final devlog for the summer. I learned a lot making this project and will continue it for the next few months to hopefully get it to where I want it to be.
Ships:
I built a raytracing graphics engine in raw C++. The engine uses mathematical concepts involving vectors, quadratics, as well as scientific concepts like reflection and refraction. This was my first long-term project I actually committed to. I learned a lot about C++ and math in general. To try the project, follow the instructions at the bottom of the README.
I improved and optimized my raytracing graphics engine. Images now render ~2x faster under default settings. Textures have been added, along with motion blur. I ran into issues like my first stack overflow error and nullpointers. To try the project, follow the instructions at the bottom of the README for the best experience....
|
1793119658.6316724
|
1793206058.6316724
|
|
662
|
Network Suite by @Argentrhino | Stardance
|
Argentrhino
|
2
|
6.0
|
16
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T00:49:24Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a terminal‑based network monitoring tool built with Python and Textual. It scans the local network, shows active devices, logs online/offline events, and provides commands like /ping, /scan, and /log for deeper inspection. The challenging parts were getting async tasks to run without freezing the UI and making the status bar behave correctly while multiple workers update it. I am proud of how the project behaves correctly across the different platforms, running through the binary EXE and the downloaded source code. If running the EXE, logs are stored in: %APPDATA%\\NetworkSuite\\history.json If running from source, logs are stored in: ./data/history.json Before running the project from source, you must install the dependencies: pip install -r dependencies.txt Then you can run: python tui.py The app requires Python 3.10+ if running from source. Please look at README.md for more details on the different commands and their functions.", "repo": "https://github.com/Argentrhino/network-suite", "demo": "https://github.com/Argentrhino/network-suite/blob/main/Network%20Suite.exe"}, {"ship_num": 2, "ts": "2026-06-01T08:37:34Z", "hours": 2.0, "multiplier": 7.23, "payout": 16, "blessing": "neutral", "text": "I built a terminal‑based network scanner that lists the devices connected to your LAN using ARP, mDNS, vendor lookup, hostname resolution, ping stats, and multi‑mode port scanning. The hardest part was getting all the networking features to run smoothly without freezing the UI with all the components in the code. I’m proud that it feels like a real tool because it is fast and functions well. To test it, just install Python, run pip install -r dependencies.txt, then start it with python tui.py and try commands like /scan or /ping.", "repo": "https://github.com/Argentrhino/network-suite", "demo": "https://github.com/Argentrhino/network-suite/blob/main/Network%20Suite.exe"}]...
|
[{"post_id": 23185, "ts": "202 [{"post_id": 23185, "ts": "2026-07-06T00:33:27Z", "hours": 1.4156, "text": "Added a logging feature so that it now logs to a history.json in appdata for the exe, and it logs to history.json in the repository folder if the source code is downloaded and run."}, {"post_id": 1971, "ts": "2026-06-04T07:10:19Z", "hours": 1.2478, "text": "I added a customisable auto-refresh interval and made the status bar show a corresponding message. I also updated the readme. As I am not very familiar with git, I used an incorrect command at some point and broke my project when syncing. Then restored it back to a known good point and implemented that update again."}, {"post_id": 749, "ts": "2026-06-02T11:46:06Z", "hours": 1.2697, "text": "Cross-platform support! MacOS and Linux support is now live. I added OS detection to the scanner so it switches seamlessly between Windows, macOS and Linux. The hardest part was handling the OS differences as they each use different commands and formatting. After a couple rounds of debugging, I have verified that the utility works on macOS in addition to Windows, but Linux still needs proper testing."}, {"post_id": 227, "ts": "2026-06-01T10:36:57Z", "hours": 0.275, "text": "Compiled an EXE of the code as is, published on my repository. Much easier than downloading the python files to set up - just download the EXE and open!"}, {"post_id": 206, "ts": "2026-06-01T08:23:56Z", "hours": 0.4939, "text": "Added a detailed README which will include setup for the packaged exe version when I release it."}, {"post_id": 194, "ts": "2026-06-01T07:05:37Z", "hours": 1.8508, "text": "Changed from IMCP ping sweep to arp first hybrid scanning and added TCP and UDP port databases to show port names/functions when scanning. I couldn’t stand the way the UI blocked when it was scanning. I thought it was caused by the scan being too slow so I changed to parallel scanning. After an hour of wrestling with the code and many errors later it still didn’t work as I thought it was fixed by getting the scan done faster. Then found out that I had to put scanning in a background thread and this finally allowed the UI to be responsive during scanning."}]...
|
Title: Network Suite by @Argentrhino | Stardance
Title: Network Suite by @Argentrhino | Stardance
Devlogs:
Changed from IMCP ping sweep to arp first hybrid scanning and added TCP and UDP port databases to show port names/functions when scanning. I couldn’t stand the way the UI blocked when it was scanning. I thought it was caused by the scan being too slow so I changed to parallel scanning. After an hour of wrestling with the code and many errors later it still didn’t work as I thought it was fixed by getting the scan done faster. Then found out that I had to put scanning in a background thread and this finally allowed the UI to be responsive during scanning.
Added a detailed README which will include setup for the packaged exe version when I release it.
Compiled an EXE of the code as is, published on my repository. Much easier than downloading the python files to set up - just download the EXE and open!
Cross-platform support! MacOS and Linux support is now live. I added OS detection to the scanner so it switches seamlessly between Windows, macOS and Linux. The hardest part was handling the OS differences as they each use different commands and formatting. After a couple rounds of debugging, I have verified that the utility works on macOS in addition to Windows, but Linux still needs proper testing.
I added a customisable auto-refresh interval and made the status bar show a corresponding message. I also updated the readme. As I am not very familiar with git, I used an incorrect command at some point and broke my project when syncing. Then restored it back to a known good point and implemented that update again.
Added a logging feature so that it now logs to a history.json in appdata for the exe, and it logs to history.json in the repository folder if the source code is downloaded and run.
Ships:
I built a terminal‑based network scanner that lists the devices connected to your LAN using ARP, mDNS, vendor lookup, hostname resolution, ping stats, and multi‑mode port scanning. The hardest part was getting all the networking features to run smoothly without freezing the UI with all the components in the code. I’m proud that it feels like a real tool because it is fast and functions well. To test it, just install Python, run pip install -r dependencies.txt, then start it with python tui.py and try commands like /scan or /ping.
I made a terminal‑based network monitoring tool built with Python and Textual. It scans the local network, shows active devices, logs online/offline events, and provides commands like /ping, /scan, and /log for deeper inspection. The challenging parts were getting async tasks to run without freezing the UI and making the status bar behave correctly while multiple workers update it. I am proud of how the project behaves correctly across the different platforms, running through the binary EXE and the downloaded source code. If running the EXE, logs are stored in: %APPDATA%\NetworkSuite\history.json If running from source, logs are stored in: ./data/history.json Before running the project from source, you must install the dependencies: pip install -r dependencies.txt Then you can run: python tui.py The app requires Python 3.10+ if running from source. Please look at README.md for more details on the different commands and their functions....
|
1792997668.1322467
|
1793084068.1322467
|
|
807
|
Watchlist by @dhritikohli | Stardance
|
dhritikohli
|
2
|
8.0
|
44
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-29T18:20:23Z", "hours": 1.0, "multiplier": 2.81, "payout": 5, "blessing": "neutral", "text": "I made this webapp for my friends to share their favorite c-dramas and k-dramas with me and honestly just be more organized. The hardest part in my opinion was learning how to use Mongodb and figuring out how to separate the watchlist and already watched list.", "repo": "https://github.com/DhritiKohli/Watchlist", "demo": "https://watchlist-omega-two.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-07T18:40:15Z", "hours": 7.0, "multiplier": 5.99, "payout": 39, "blessing": "neutral", "text": "I created this project because I thought it would be nice to have a customized webapp to keep track of the Korean and Chinese dramas that I have watched or want to watch, rather than have a boring and plain list in my notes. This app would also make it easier for my friends to contribute to the watchlist when they have a recommendation to make.", "repo": "https://github.com/DhritiKohli/Watchlist", "demo": "https://watchlist-omega-two.vercel.app/"}]...
|
[{"post_id": 4527, "ts": "2026 [{"post_id": 4527, "ts": "2026-06-07T21:27:00Z", "hours": 0.4081, "text": "Devlog 8: Fixed the issue mentioned in Devlog 7 but now the code only shows 2 cards per column whereas I want it to show 3 :("}, {"post_id": 4509, "ts": "2026-06-07T20:58:56Z", "hours": 0.4561, "text": "Devlog 7: The issue previously mentioned has been resolved but now there is a gap between the add button card and the drama card when only one card is present. CSS is not my best partner today TT"}, {"post_id": 4492, "ts": "2026-06-07T20:28:25Z", "hours": 0.4722, "text": "Devlog 6: After shipping the MVP, I decided to do some styling changes where the Drama Cards get organized from left to right. After sometime, it worked, but now there is a gap between the heading and the list so I am trying to figure out how to resolve this issue"}, {"post_id": 4391, "ts": "2026-06-07T18:25:22Z", "hours": 1.4244, "text": "Devlog 5: Time to Ship! The basic functionality is done. I had to just do a couple of bug fixes. I think it turned out pretty good."}, {"post_id": 3949, "ts": "2026-06-07T02:30:50Z", "hours": 0.4992, "text": "Devlog 4: Aligned some texts and buttons of the website. I also added a menu button so the users can navigate through the webpages easily. Next, i have to do a bit more style changes and then the MVP would be done :)"}, {"post_id": 3934, "ts": "2026-06-07T01:57:23Z", "hours": 0.8458, "text": "Devlog 3: Hey there! I am Dhriti (DK) and one of the projects I have been working on is creating a watch list webapp so that I could keep track of all the dramas I want to / already watched After completing all the basic functionality, I finally started working on some styling. I created a bg with some of my fav k/c - dramas and used some css to create a shadow and different “cards” for the text. Now I need to create a task bar and align text."}, {"post_id": 3789, "ts": "2026-06-06T20:49:47Z", "hours": 2.8606, "text": "For the past 2 hours or so I have been working on getting the basic functionality of the buttons. I know it looks really ugly right now but I wanted the basic functionality to be done before I style it. There are still a couple of buttons that don’t work as intended, so I plan to work on those now TT"}, {"post_id": 2575, "ts": "2026-06-05T04:43:45Z", "hours": 0.9392, "text": "I have just been working on to setup some of the backend stuff (MongoDB, Node, etc) so that when i actually write code for the website it works."}]...
|
Title: Watchlist by @dhritikohli | Stardance
Devl Title: Watchlist by @dhritikohli | Stardance
Devlogs:
I have just been working on to setup some of the backend stuff (MongoDB, Node, etc) so that when i actually write code for the website it works.
For the past 2 hours or so I have been working on getting the basic functionality of the buttons. I know it looks really ugly right now but I wanted the basic functionality to be done before I style it. There are still a couple of buttons that don’t work as intended, so I plan to work on those now TT
Devlog 3: Hey there! I am Dhriti (DK) and one of the projects I have been working on is creating a watch list webapp so that I could keep track of all the dramas I want to / already watched After completing all the basic functionality, I finally started working on some styling. I created a bg with some of my fav k/c - dramas and used some css to create a shadow and different “cards” for the text. Now I need to create a task bar and align text.
Devlog 4: Aligned some texts and buttons of the website. I also added a menu button so the users can navigate through the webpages easily. Next, i have to do a bit more style changes and then the MVP would be done :)
Devlog 5: Time to Ship! The basic functionality is done. I had to just do a couple of bug fixes. I think it turned out pretty good.
Devlog 6: After shipping the MVP, I decided to do some styling changes where the Drama Cards get organized from left to right. After sometime, it worked, but now there is a gap between the heading and the list so I am trying to figure out how to resolve this issue
Devlog 7: The issue previously mentioned has been resolved but now there is a gap between the add button card and the drama card when only one card is present. CSS is not my best partner today TT
Devlog 8: Fixed the issue mentioned in Devlog 7 but now the code only shows 2 cards per column whereas I want it to show 3 :(
Ships:
I created this project because I thought it would be nice to have a customized webapp to keep track of the Korean and Chinese dramas that I have watched or want to watch, rather than have a boring and plain list in my notes. This app would also make it easier for my friends to contribute to the watchlist when they have a recommendation to make.
I made this webapp for my friends to share their favorite c-dramas and k-dramas with me and honestly just be more organized. The hardest part in my opinion was learning how to use Mongodb and figuring out how to separate the watchlist and already watched list....
|
1793098229.253505
|
1793184629.253505
|
|
850
|
GeoJournal by @hoshiko | Stardance
|
hoshiko
|
2
|
5.0
|
85
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T06:58:25Z", "hours": 1.0, "multiplier": 17.26, "payout": 19, "blessing": "neutral", "text": "Version 2 of the project After the ship 1 reviews and requests i added the following Dark mode for the map. (toggle button) Guest Mode to explore the website without logging in. Added a negativity filter to avoid unwanted comments. Added a time delay of 3 minutes between each post.", "repo": "https://github.com/harshDhiman3344/GeoMap", "demo": "https://geo-map-three.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-04T07:32:26Z", "hours": 4.0, "multiplier": 17.7, "payout": 66, "blessing": "neutral", "text": "I wanted to make this since months but i finally took this event as an opportunity to bring this project to life!, here people can add notes and journals at different locations on the map to create memories, i will keep updating it even after it is shipped to make sure it works nicely!", "repo": "https://github.com/harshDhiman3344/GeoMap", "demo": "https://geo-map-three.vercel.app/"}]...
|
[{"post_id": 22667, "ts": "202 [{"post_id": 22667, "ts": "2026-07-05T06:56:18Z", "hours": 0.2728, "text": "Added dark mode"}, {"post_id": 7306, "ts": "2026-06-12T05:26:17Z", "hours": 0.3411, "text": "Added a feature so that you can explore the world as a guest too, without logging in."}, {"post_id": 5059, "ts": "2026-06-08T18:39:16Z", "hours": 0.4875, "text": "Added a little quote thing on the side, with an animated cat emoji too (it blinks)"}, {"post_id": 1977, "ts": "2026-06-04T07:29:04Z", "hours": 0.4469, "text": "Added two things. First - A user name system so that your email id is private Second - A bad words filter which is, much needed to keep it friendly"}, {"post_id": 1966, "ts": "2026-06-04T06:53:41Z", "hours": 0.4725, "text": "Added user authentication using clerk, so that only you can edit your entries!"}, {"post_id": 1942, "ts": "2026-06-04T05:59:36Z", "hours": 0.6069, "text": "Added a sidebar and a little car 🐈"}, {"post_id": 1298, "ts": "2026-06-03T06:19:45Z", "hours": 0.3569, "text": "I made it a little more visually aesthetic, I like how it looks!, let me know if I can improve somewhere"}, {"post_id": 1285, "ts": "2026-06-03T05:25:48Z", "hours": 0.7447, "text": "The logging system now works with the map heckyeahh!"}, {"post_id": 243, "ts": "2026-06-01T11:51:58Z", "hours": 0.8117, "text": "Basic front end is now loading up, phew after a lot of errors I managed to make the map show up yay"}, {"post_id": 213, "ts": "2026-06-01T09:03:20Z", "hours": 0.8369, "text": "Created the back-end successfully, post and fetch features are working using MongoDB"}]...
|
Title: GeoJournal by @hoshiko | Stardance
Devlogs Title: GeoJournal by @hoshiko | Stardance
Devlogs:
Created the back-end successfully, post and fetch features are working using MongoDB
Basic front end is now loading up, phew after a lot of errors I managed to make the map show up yay
The logging system now works with the map heckyeahh!
I made it a little more visually aesthetic, I like how it looks!, let me know if I can improve somewhere
Added a sidebar and a little car 🐈
Added user authentication using clerk, so that only you can edit your entries!
Added two things. First - A user name system so that your email id is private Second - A bad words filter which is, much needed to keep it friendly
Added a little quote thing on the side, with an animated cat emoji too (it blinks)
Added a feature so that you can explore the world as a guest too, without logging in.
Added dark mode
Ships:
I wanted to make this since months but i finally took this event as an opportunity to bring this project to life!, here people can add notes and journals at different locations on the map to create memories, i will keep updating it even after it is shipped to make sure it works nicely!
Version 2 of the project After the ship 1 reviews and requests i added the following Dark mode for the map. (toggle button) Guest Mode to explore the website without logging in. Added a negativity filter to avoid unwanted comments. Added a time delay of 3 minutes between each post....
|
1793109302.4321258
|
1793195702.4321258
|
|
904
|
Girlfriend Simulator by @snehasish | Stardance
|
|
2
|
37.0
|
434
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T20:03:26Z", "hours": 9.0, "multiplier": 15.93, "payout": 148, "blessing": "neutral", "text": "Major Updates for Girlfriend Simulator Note: This is the final update (ship) and no more updates will be made in future to this project. Main Updates Girlfriend Memories: Your Girlfriend remembers every small detail you share about yourself in her chat. Persistent Relationship Profile: Your girlfriend also remembers how you treated her on your last conversation and her mood really depends on that the next time you have a conversation with her Your own Models: Your girlfriend can run on your own API key. By default uses Google Gemini 2.5 Flash (so you will need a Gemini API Key). This removes any limits to daily conversations (capped at 20 when using not-your-model. Mood Aware User Interface: Your chat colors, themes and styling changes based on your girlfriend’s mood. Helps you understand what situation you’re currently in XD", "repo": "https://github.com/snhsish/gfsim", "demo": "https://gfsim.snehasish.xyz"}, {"ship_num": 2, "ts": "2026-06-08T09:27:01Z", "hours": 28.0, "multiplier": 12.02, "payout": 286, "blessing": "neutral", "text": "I built a Girlfriend Simulator which simulates a start-to-end relationship with your personally characterized girlfriend (powered by different fine-grained AI models). Why is it different from an AI wrapper or asking ChatGPT to “pretend to be my girlfriend?”: Well, the experience here is more natural and more likely-to-be-a-real-girlfriend type xi. Problems faced: getting the model to be more natural. I had fine-tuned a Qwen model which performed pretty well and NATURAL when replying as girlfriend, but due to high costing I cannot be putting it out in the public for free usage, so I had to use a fine-grained Qwen model (system prompt) Some pages / features are still not completed, but the chat experience is working completely fine!", "repo": "https://github.com/snhsish/gfsim", "demo": "https://gfsim.snehasish.xyz"}]...
|
[{"post_id": 13566, "ts": "202 [{"post_id": 13566, "ts": "2026-06-22T06:36:28Z", "hours": 4.0833, "text": "Girlfriend Simulator : Major Update This update is all about feature improvement. What’s New Persistent Relationship Profile Previously relationship state was ephemeral, i.e. everytime you started a new chat, your relationship state was back to NORMAL. But now things have changed. A persistent relationship state has been introduced. Your behavioral rating is now taken more seriously. How you reply, how you react and how you understand her, matters now Inactivity Tracking Your latest message is now tracked by the system to set your girlfriend’s mood. If you have ghosted her for long, it must have affected her behaviour. This lets her react naturally to absences (cold, sarcastic, or confrontational depending on health/mood). Mood-aware UI The UI of the chat changes according to your girlfriend’s mood now. So you get a hint when to make her feel wanted and when to make her laugh."}, {"post_id": 11313, "ts": "2026-06-18T14:40:13Z", "hours": 3.2144, "text": "You can now configure and bring in your own API Keys Currently only Gemini API Key is supported which uses the gemini-2.5-flash model Why bring in your own keys? Well there’s a 20 message per user daily limit when using the server provided model. But you definitely might want to talk to your GF more than just 20 messages a day right :) So if you bring in your own keys, you can chat without any limits! You can view usages of your own keys from the Usage page itself ( /account/usage ) Are my keys safe? Your keys are stored in your browser’s localStorage. It’s not sent to our servers at all. (You can verify checking the opensource code anyways!) ALSO, thanks to some of you guys who tried out the simulator, tried to jailbreak and manipulate the models, it helped me understand the system a little more. ALSO, the sim is completely SFW - even if you go NSFW. LYG<3"}, {"post_id": 5578, "ts": "2026-06-09T12:56:21Z", "hours": 2.0533, "text": "Your can now view your Girlfriend’s “Memories”. Memories are basically a collection of details (birthday, job description, reminders, etc.) you mention/share about yourself in chat. It is stored, so that it can be passed as context for your girlfriend. So now she actually remembers the “small details about you”. Uses a second LLM call which analyzes your messages to check if any important “detail” about you has been sent, so your girlfriend remembers it. You can always delete the sensitive ones and recommended."}, {"post_id": 4490, "ts": "2026-06-07T20:25:51Z", "hours": 10.8542, "text": "Lot of updates: Chat persistence: Your chats with your GF are now permanently stored in cloud, so you can access the chats anytime. Chats infinite scroll: To not display all your 100k messages with your GF at once and break stuff, infinite scroll has been added to chat to load old chats on demand Add reaction to messages: You can now react to messages from your girlfriend (and there’s a chance she might get pssed off from that and reply about it). Also your girlfriend can react to your messages too now. * You can currently only react to message groups and now individual message bubble, it’ll be fixed in a future update. Added no-reply handler: SO BASICALLY you can be left ON-SEEN or ON-DELIVERED by your girlfriend if you misbehave lol Some bug fixes: add limit to user message input, GF’s side texts not being stored in DB, etc. Some UI/UX optimizations alongside system prompt optimizations for the MODEL. * I really want to optimize the system prompt even further more ’cause currently it uses almost 1k tokens per message which feels quiet unoptimized and over-usage of tokens"}, {"post_id": 3331, "ts": "2026-06-06T06:38:09Z", "hours": 6.5922, "text": "Added: Account Page: where you can update your OWN profile details like your avatar, name, description, DOB, MBTI, zodiac, etc. which will let your girlfriend know about you and your personality (from your description of you) User Welcome Screen and Navigation Tour: For better UX and understandibility, I have added a welcome screen modal with three steps explaining what the app is about and how it works + sidebar tour for explaining what each link does Signout button in account page Next:: Public Use Launch"}, {"post_id": 2181, "ts": "2026-06-04T15:13:05Z", "hours": 5.2556, "text": "made the usage page which shows tokens and messages for the past 14 days also here are some sample girlfriend responses which felt natural to me"}, {"post_id": 762, "ts": "2026-06-02T12:29:59Z", "hours": 1.7394, "text": "chats now work model: qwen the model smh replies and added multi message support"}, {"post_id": 414, "ts": "2026-06-01T20:18:42Z", "hours": 1.0042, "text": "updated message input and added attachment input (menu), emoji selector and GIF picker also implemented auto-height increment for the message input textarea and enter-is-send and shift-enter-is-not-send for the message input next: send the message and get a response (basic) via VERCEL AI SDK + Gemini Google API"}, {"post_id": 341, "ts": "2026-06-01T17:20:30Z", "hours": 2.1508, "text": "setup and designed the app interface and the chat page with beautiful starter texts to send to your AI girlfriend and get the convo started. next: design the chat input section along"}, {"post_id": 184, "ts": "2026-06-01T06:32:25Z", "hours": 0.5367, "text": "Added user authentication (login page) using Google OAuth (better-auth + supabase) setup"}]...
|
Title: Girlfriend Simulator by @snehasish | Starda Title: Girlfriend Simulator by @snehasish | Stardance
Devlogs:
Added user authentication (login page) using Google OAuth (better-auth + supabase) setup
setup and designed the app interface and the chat page with beautiful starter texts to send to your AI girlfriend and get the convo started. next: design the chat input section along
updated message input and added attachment input (menu), emoji selector and GIF picker also implemented auto-height increment for the message input textarea and enter-is-send and shift-enter-is-not-send for the message input next: send the message and get a response (basic) via VERCEL AI SDK + Gemini Google API
chats now work model: qwen the model smh replies and added multi message support
made the usage page which shows tokens and messages for the past 14 days also here are some sample girlfriend responses which felt natural to me
Added: Account Page: where you can update your OWN profile details like your avatar, name, description, DOB, MBTI, zodiac, etc. which will let your girlfriend know about you and your personality (from your description of you) User Welcome Screen and Navigation Tour: For better UX and understandibility, I have added a welcome screen modal with three steps explaining what the app is about and how it works + sidebar tour for explaining what each link does Signout button in account page Next:: Public Use Launch
Lot of updates: Chat persistence: Your chats with your GF are now permanently stored in cloud, so you can access the chats anytime. Chats infinite scroll: To not display all your 100k messages with your GF at once and break stuff, infinite scroll has been added to chat to load old chats on demand Add reaction to messages: You can now react to messages from your girlfriend (and there’s a chance she might get pssed off from that and reply about it). Also your girlfriend can react to your messages too now. * You can currently only react to message groups and now individual message bubble, it’ll be fixed in a future update. Added no-reply handler: SO BASICALLY you can be left ON-SEEN or ON-DELIVERED by your girlfriend if you misbehave lol Some bug fixes: add limit to user message input, GF’s side texts not being stored in DB, etc. Some UI/UX optimizations alongside system prompt optimizations for the MODEL. * I really want to optimize the system prompt even further more ’cause currently it uses almost 1k tokens per message which feels quiet unoptimized and over-usage of tokens
Your can now view your Girlfriend’s “Memories”. Memories are basically a collection of details (birthday, job description, reminders, etc.) you mention/share about yourself in chat. It is stored, so that it can be passed as context for your girlfriend. So now she actually remembers the “small details about you”. Uses a second LLM call which analyzes your messages to check if any important “detail” about you has been sent, so your girlfriend remembers it. You can always delete the sensitive ones and recommended.
You can now configure and bring in your own API Keys Currently only Gemini API Key is supported which uses the gemini-2.5-flash model Why bring in your own keys? Well there’s a 20 message per user daily limit when using the server provided model. But you definitely might want to talk to your GF more than just 20 messages a day right :) So if you bring in your own keys, you can chat without any limits! You can view usages of your own keys from the Usage page itself ( /account/usage ) Are my keys safe? Your keys are stored in your browser’s localStorage. It’s not sent to our servers at all. (You can verify checking the opensource code anyways!) ALSO, thanks to some of you guys who tried out the simulator, tried to jailbreak and manipulate the models, it helped me understand the system a little more. ALSO, the sim is completely SFW - even if you go NSFW. LYG<3
Girlfriend Simulator : Major Update This update is all about feature improvement. What’s New Persistent Relationship Profile Previously relationship state was ephemeral, i.e. everytime you started a new chat, your relationship state was back to NORMAL. But now things have changed. A persistent relationship state has been introduced. Your behavioral rating is now taken more seriously. How you reply, how you react and how you understand her, matters now Inactivity Tracking Your latest message is now tracked by the system to set your girlfriend’s mood. If you have ghosted her for long, it must have affected her behaviour. This lets her react naturally to absences (cold, sarcastic, or confrontational depending on health/mood). Mood-aware UI The UI of the chat changes according to your girlfriend’s mood now. So you get a hint when to make her feel wanted and when to make her laugh.
Ships:
I built a Girlfriend Simulator which simulates a start-to-end relationship with your personally characterized girlfriend (powered by different fine-grained AI models). Why is it different from an AI wrapper or asking ChatGPT to “pretend to be my girlfriend?”: Well, the experience here is more natural and more likely-to-be-a-real-girlfriend type xi. Problems faced: getting the model to be more natural. I had fine-tuned a Qwen model which performed pretty well and NATURAL when replying as girlfriend, but due to high costing I cannot be putting it out in the public for free usage, so I had to use a fine-grained Qwen model (system prompt) Some pages / features are still not completed, but the chat experience is working completely fine!
Major Updates for Girlfriend Simulator Note: This is the final update (ship) and no more updates will be made in future to this project. Main Updates Girlfriend Memories: Your Girlfriend remembers every small detail you share about yourself in her chat. Persistent Relationship Profile: Your girlfriend also remembers how you treated her on your last conversation and her mood really depends on that the next time you have a conversation with her Your own Models: Your girlfriend can run on your own API key. By default uses Google Gemini 2.5 Flash (so you will need a Gemini API Key). This removes any limits to daily conversations (capped at 20 when using not-your-model. Mood Aware User Interface: Your chat colors, themes and styling changes based on your girlfriend’s mood. Helps you understand what situation you’re currently in XD...
|
1792997287.1916442
|
1793083687.1916442
|