|
33463
|
My Personal site! by @GigiOP817 | Stardance
|
GigiOP817
|
2
|
20.0
|
13
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T00:33:27Z", "hours": 2.0, "multiplier": 8.54, "payout": 13, "blessing": "neutral", "text": "I coded a personal website using HTML, CSS, and a bit of JS. This website includes my hobbies, a short paragraph about me, and my interests. It also has a contacts page that leads you to my social media and my Github repository. Overall, this project was my first ever coding project and it was really fun to do. I did face obstacles throughout the entire making of this personal website, but I made sure to tackle them efficiently. Sometimes, I’d just delete the wrong code and mess up entire hours of work. It was sure a rough process fixing all the mistakes and restoring the old code back to normal. I am proud of finishing this website, so that now people can view it! When I look back on all the versions of my website from the very first in a workshop, to this final version that I am shipping, I get reminded on how much I’ve learned throughout this project. I did use help from AI because it was my first type coding, and I didn’t know how to turn my ideas into proper lines of code. All the ideas and everything else is completely original. If you do view my website, I would appreciate it if you can give me some feedback on my social media or anywhere else. Thank you! :D", "repo": "https://github.com/GigiOP817/MY-personal-Website", "demo": "https://gigiop817.github.io/MY-personal-Website/"}, {"ship_num": 2, "ts": "2026-09-19T23:52:17Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I coded a personal site that is great if you’d like to get to know me. It was a bit hard to kickstart the whole process since it was my first time coding. However, I had a lot of fun and learned so much about writing HTML and CSS along the way. It was quite a journey, and I love seeing how my website evolved from the initial workshop version to this final version that I’m shipping. I faced a lot of obstacles while creating this site. Sometimes the background wouldn’t appear on the page; other times, I’d make mistakes and change the wrong lines of code. There was even a time when I accidentally deleted a huge chunk of code and had to redo most of the pages. Even with all of these setbacks, I overcame them, and I’m happy that I can finally release this website for everyone to see. I did not use any AI to write my code, but I did use AI to fix the grammar and punctuation in this text. It would be awesome if you checked out my new website! :D", "repo": "https://github.com/GigiOP817/MY-personal-Website", "demo": "https://gigiop817.github.io/MY-personal-Website/"}]...
|
[{"post_id": 71996, "ts": "202 [{"post_id": 71996, "ts": "2026-09-21T23:21:32Z", "hours": 0.2594, "text": "I fixed up the problem of my other pages not opening from the Interests page. I just had to redo the code for that specific section."}, {"post_id": 71289, "ts": "2026-09-20T16:08:28Z", "hours": 0.9828, "text": "There were still some problems present since I didn’t change the code properly after moving the files, so I fixed those problems up. I also made sure that the demo link worked, and my project is ready to ship again! :D"}, {"post_id": 71160, "ts": "2026-09-20T11:32:08Z", "hours": 0.2758, "text": "I fixed up all the errors and deleted the unused photos in my files. I also made folders for all the files to make them look neat and organized."}, {"post_id": 70822, "ts": "2026-09-19T20:32:09Z", "hours": 1.0442, "text": "I’m finally done with my personal website and I just finished up the README. It was kind of complicated, but I was able to finish things up! This is just a little snippet, but there’s more to it below."}, {"post_id": 66933, "ts": "2026-09-12T22:10:04Z", "hours": 5.9147, "text": "I basically to a long break from coding and didn’t write any dev-logs for any of the work that I did, but now I’m basically done with my website. I fixed up all the bugs that were present through out the code and website. I also finished my contacts page just now, so all I have to do is review over everything and make a new read me."}, {"post_id": 47195, "ts": "2026-08-14T22:52:47Z", "hours": 1.3186, "text": "Devlog - 6 Today and yesterday, I decided to change up my about me page because it was looking too plain. I decided that I will add a button next to my OC and when you click it, the information about me will appear. I’m also planning on adding an audio file that will play when you click on the button. The audio file will read out the words in the text box. I changed the background of the page too. I did come across a problem though, no matter what I tried; the button is there, but when click it; it just disappears and no text comes on. I will work on this problem tomorrow."}, {"post_id": 44939, "ts": "2026-08-11T01:08:26Z", "hours": 2.165, "text": "Devlog - 5 Major work completed today! I finished the Interests Page on my personal website over the course of 2 days. (I forgot to write a devlog and commit yesterday). I was able to add a “Favorites” section where I would list some of my favorite things. I also created a “Hobbies” section which has photos of 6 of my hobbies. I did come a across a problem where changing a part of my code (the div) accidentally changed the box on another page. Once it looked good on one page, it changed everything opn the other because I forgot to label which page the box was in. I was bale to solve that problem by creating some new code for my about me page. Finishing the hobbies section wasn’t that hard beause I just had to add some photos and make sure they form a grid. Overall, very productive day."}, {"post_id": 43696, "ts": "2026-08-09T03:13:55Z", "hours": 2.0939, "text": "Devlog - 4 Today was a very productive day because I finished the About Me section of my website. I was able to add an image of my OC which was created by my best friend. I also added a div which would house the information for the about me section. I was having trouble adjusting the appearance of the content inside the div, but i was able to fix it with a bit of research. Another problem that I came across was changing the background because my code space was acting up whenever I’d input the URL for the image. I was also able to fix that problem, but I don’t know how I did it. Next up, I’ll be working on my interests page and tweaking my code up a bit more."}, {"post_id": 42735, "ts": "2026-08-07T16:29:40Z", "hours": 2.0211, "text": "I forgot to post a devlog yesterday. I made huge changes to my personal site, especially with the homepage and changed a lot of things up with the about me page. My homepage background looks great as well as the title. I added a navigation bar at the top that will take you to either the about me, interests, or contacts page. I was experimenting with the second page because I wanted there to be a split screen with one side have my oc and the having the info."}, {"post_id": 37337, "ts": "2026-07-30T00:02:55Z", "hours": 1.1786, "text": "It’s been about 2 weeks since I picked up my personal site, but now I’m back into the flow. Today, I decided to change a bunch of the looks for my site because it was looking too plain. I’ve decided to make 2 different pages: 1 homepage and 1 page that will house information about me. I changed the backgrounds of both pages, but couldn’t really finish, so I’ll pick it up tomorrow. I’m trying to make the pages more space themed to match the vibe. The background images are photos of outer space (one even from NASA). I will begin working on my homepage to include directions that will lead towards the About Me page. Tomorrow’s work mostly consists of CSS and making the site look appealing. :P"}, {"post_id": 29146, "ts": "2026-07-15T20:35:30Z", "hours": 1.9319, "text": "Today, I started working on a Personal Site which I begun during a Stardance workshop. This is my first time coding and trying to create a website so it’s a bit basic. I used index.html and CSS to build it. This is the first version of my personal site. :D"}]...
|
Title: My Personal site! by @GigiOP817 | Stardance Title: My Personal site! by @GigiOP817 | Stardance
Devlogs:
Today, I started working on a Personal Site which I begun during a Stardance workshop. This is my first time coding and trying to create a website so it’s a bit basic. I used index.html and CSS to build it. This is the first version of my personal site. :D
It’s been about 2 weeks since I picked up my personal site, but now I’m back into the flow. Today, I decided to change a bunch of the looks for my site because it was looking too plain. I’ve decided to make 2 different pages: 1 homepage and 1 page that will house information about me. I changed the backgrounds of both pages, but couldn’t really finish, so I’ll pick it up tomorrow. I’m trying to make the pages more space themed to match the vibe. The background images are photos of outer space (one even from NASA). I will begin working on my homepage to include directions that will lead towards the About Me page. Tomorrow’s work mostly consists of CSS and making the site look appealing. :P
I forgot to post a devlog yesterday. I made huge changes to my personal site, especially with the homepage and changed a lot of things up with the about me page. My homepage background looks great as well as the title. I added a navigation bar at the top that will take you to either the about me, interests, or contacts page. I was experimenting with the second page because I wanted there to be a split screen with one side have my oc and the having the info.
Devlog - 4 Today was a very productive day because I finished the About Me section of my website. I was able to add an image of my OC which was created by my best friend. I also added a div which would house the information for the about me section. I was having trouble adjusting the appearance of the content inside the div, but i was able to fix it with a bit of research. Another problem that I came across was changing the background because my code space was acting up whenever I’d input the URL for the image. I was also able to fix that problem, but I don’t know how I did it. Next up, I’ll be working on my interests page and tweaking my code up a bit more.
Devlog - 5 Major work completed today! I finished the Interests Page on my personal website over the course of 2 days. (I forgot to write a devlog and commit yesterday). I was able to add a “Favorites” section where I would list some of my favorite things. I also created a “Hobbies” section which has photos of 6 of my hobbies. I did come a across a problem where changing a part of my code (the div) accidentally changed the box on another page. Once it looked good on one page, it changed everything opn the other because I forgot to label which page the box was in. I was bale to solve that problem by creating some new code for my about me page. Finishing the hobbies section wasn’t that hard beause I just had to add some photos and make sure they form a grid. Overall, very productive day.
Devlog - 6 Today and yesterday, I decided to change up my about me page because it was looking too plain. I decided that I will add a button next to my OC and when you click it, the information about me will appear. I’m also planning on adding an audio file that will play when you click on the button. The audio file will read out the words in the text box. I changed the background of the page too. I did come across a problem though, no matter what I tried; the button is there, but when click it; it just disappears and no text comes on. I will work on this problem tomorrow.
I basically to a long break from coding and didn’t write any dev-logs for any of the work that I did, but now I’m basically done with my website. I fixed up all the bugs that were present through out the code and website. I also finished my contacts page just now, so all I have to do is review over everything and make a new read me.
I’m finally done with my personal website and I just finished up the README. It was kind of complicated, but I was able to finish things up! This is just a little snippet, but there’s more to it below.
I fixed up all the errors and deleted the unused photos in my files. I also made folders for all the files to make them look neat and organized.
There were still some problems present since I didn’t change the code properly after moving the files, so I fixed those problems up. I also made sure that the demo link worked, and my project is ready to ship again! :D
I fixed up the problem of my other pages not opening from the Interests page. I just had to redo the code for that specific section.
Ships:
I coded a personal site that is great if you’d like to get to know me. It was a bit hard to kickstart the whole process since it was my first time coding. However, I had a lot of fun and learned so much about writing HTML and CSS along the way. It was quite a journey, and I love seeing how my website evolved from the initial workshop version to this final version that I’m shipping. I faced a lot of obstacles while creating this site. Sometimes the background wouldn’t appear on the page; other times, I’d make mistakes and change the wrong lines of code. There was even a time when I accidentally deleted a huge chunk of code and had to redo most of the pages. Even with all of these setbacks, I overcame them, and I’m happy that I can finally release this website for everyone to see. I did not use any AI to write my code, but I did use AI to fix the grammar and punctuation in this text. It would be awesome if you checked out my new website! :D
I coded a personal website using HTML, CSS, and a bit of JS. This website includes my hobbies, a short paragraph about me, and my interests. It also has a contacts page that leads you to my social media and my Github repository. Overall, this project was my first ever coding project and it was really fun to do. I did face obstacles throughout the entire making of this personal website, but I made sure to tackle them efficiently. Sometimes, I’d just delete the wrong code and mess up entire hours of work. It was sure a rough process fixing all the mistakes and restoring the old code back to normal. I am proud of finishing this website, so that now people can view it! When I look back on all the versions of my website from the very first in a workshop, to this final version that I am shipping, I get reminded on how much I’ve learned throughout this project. I did use help from AI because it was my first type coding, and I didn’t know how to turn my ideas into proper lines of code. All the ideas and everything else is completely original. If you do view my website, I would appreciate it if you can give me some feedback on my social media or anywhere else. Thank you! :D...
|
1793004857.3676822
|
1793091257.3676822
|
|
61181
|
FTC Alpha Bot by @Dracometro | Stardance
|
Dracometro
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T00:28:09Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Introducing our test robot … Insurance Fraud: a robot so good the only reason you stand near it is to get injured and sue for compensation This robot was made for this years FTC game. the game was released 9 days since the shipping of this robot and I designed and built a working demo to test my teams ideas. I also made the equivalent of a gun because it shoots roughly 20 ft far(we taking names with this one). The purpose of devloging this is only the humblest. I want the computer bag and so help me god if i don’t get it I will commit a spree of non illegal petty things that will make the world minorly worse. anyways pretty please look at insurance fraud how could you not give him 10/10 on everything ?", "repo": "https://github.com/dracometro/Stardance-FTC-robot-", "demo": ""}]...
|
[{"post_id": 72004, "ts": "202 [{"post_id": 72004, "ts": "2026-09-21T23:59:02Z", "hours": 1.9925, "text": "The project is done so now I can ship it!"}, {"post_id": 67823, "ts": "2026-09-14T02:28:51Z", "hours": 7.5336, "text": "FTC RI3D/Robot In 3 Days : ftc is a different game released every year this year is is shooting these balls 5ft up. this is my robot designed to be made in one day (tomorrow) and do the (hopefully) game."}]...
|
Title: FTC Alpha Bot by @Dracometro | Stardance
D Title: FTC Alpha Bot by @Dracometro | Stardance
Devlogs:
FTC RI3D/Robot In 3 Days : ftc is a different game released every year this year is is shooting these balls 5ft up. this is my robot designed to be made in one day (tomorrow) and do the (hopefully) game.
The project is done so now I can ship it!
Ships:
Introducing our test robot … Insurance Fraud: a robot so good the only reason you stand near it is to get injured and sue for compensation This robot was made for this years FTC game. the game was released 9 days since the shipping of this robot and I designed and built a working demo to test my teams ideas. I also made the equivalent of a gun because it shoots roughly 20 ft far(we taking names with this one). The purpose of devloging this is only the humblest. I want the computer bag and so help me god if i don’t get it I will commit a spree of non illegal petty things that will make the world minorly worse. anyways pretty please look at insurance fraud how could you not give him 10/10 on everything ?...
|
1793055309.245233
|
1793141709.245233
|
|
63547
|
Hanny's Garage by @Hanny | Stardance
|
Hanny
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T23:32:15Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A personale website that tells a little bit about me and I wanted to give it an F1 Theme, which i love. There were a few error and fixes that I needed help with, but I liked the result.", "repo": "https://github.com/hannyd9/Personal-Blog/", "demo": "https://hannyd9.github.io/Personal-Blog/"}]...
|
[{"post_id": 70370, "ts": "202 [{"post_id": 70370, "ts": "2026-09-19T01:45:52Z", "hours": 1.2353, "text": "My first attemp of my personal blog. https://hannyd9.github.io/Personal-Blog/"}]...
|
Title: Hanny's Garage by @Hanny | Stardance
D Title: Hanny's Garage by @Hanny | Stardance
Devlogs:
My first attemp of my personal blog. https://hannyd9.github.io/Personal-Blog/
Ships:
A personale website that tells a little bit about me and I wanted to give it an F1 Theme, which i love. There were a few error and fixes that I needed help with, but I liked the result....
|
1792964997.530715
|
1793051397.530715
|
|
64562
|
Adventure school by @Ilyas_r | Stardance
|
Ilyas_r
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T23:31:23Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I developed Adventure School, an interactive gamified web platform where children can learn independently and safely. It features adaptive quizzes across Mathematics, French, English, and Sciences tailored for different grade levels. Building a dynamic learning engine that automatically adjusts math difficulty—from primary basics up to Middle School concepts like Pythagoras’ theorem—was a key challenge, especially while integrating clear, step-by-step correction logic. I am particularly proud of creating a complete learning ecosystem with customizable avatars, XP levels, rewards, and detailed pedagogical explanations that keep children engaged and motivated. Please note that the platform is currently available in French, but English integration is coming very soon! To test it, simply pick a grade level, create an avatar, and start exploring the map.", "repo": "https://github.com/ilyasroch2011-hash/adventure-school", "demo": "https://ilyasroch2011-hash.github.io/adventure-school/"}]...
|
[{"post_id": 71995, "ts": "202 [{"post_id": 71995, "ts": "2026-09-21T23:20:21Z", "hours": 0.2678, "text": "I just finished developing a web page where you can learn using a dynamic method, so you can safely leave your children with it without worrying in french but soon it will be avaible english"}]...
|
Title: Adventure school by @Ilyas_r | Stardance
D Title: Adventure school by @Ilyas_r | Stardance
Devlogs:
I just finished developing a web page where you can learn using a dynamic method, so you can safely leave your children with it without worrying in french but soon it will be avaible english
Ships:
I developed Adventure School, an interactive gamified web platform where children can learn independently and safely. It features adaptive quizzes across Mathematics, French, English, and Sciences tailored for different grade levels. Building a dynamic learning engine that automatically adjusts math difficulty—from primary basics up to Middle School concepts like Pythagoras’ theorem—was a key challenge, especially while integrating clear, step-by-step correction logic. I am particularly proud of creating a complete learning ecosystem with customizable avatars, XP levels, rewards, and detailed pedagogical explanations that keep children engaged and motivated. Please note that the platform is currently available in French, but English integration is coming very soon! To test it, simply pick a grade level, create an avatar, and start exploring the map....
|
1792965091.397617
|
1793051491.397617
|
|
51115
|
Sakura.dev by @sp6k | Stardance
|
sp6k
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T22:28:36Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Sakura.dev, A Minecraft utility useful for: Sharing Texture Packs, Mods, Resources and many more!. What problem does this solve? It solves having many different tools spread across different pages and apps, put cleanly into 1. Over 9 months have been put into this project, (Only 4 hours here because Im new here :/) Peer-reviewed by many different people so suggestions and ideas are always welcome Any questions and complaints can be routed to my discord @sp6k or the official discord server found at the bottom of the sites! Thank you so so much for your support! -Hyper (Chris)", "repo": "https://github.com/vHyp3r/sakura.xyz", "demo": "https://sakura-xyz.onrender.com/"}]...
|
[{"post_id": 71981, "ts": "202 [{"post_id": 71981, "ts": "2026-09-21T21:56:33Z", "hours": 0.9108, "text": "Shop updates shopRefresh has been defined now and fixes to the sites have been coming"}, {"post_id": 68039, "ts": "2026-09-14T12:44:55Z", "hours": 0.6078, "text": "New Admin Panel Created adminPanel and adminVar"}, {"post_id": 65947, "ts": "2026-09-11T12:52:15Z", "hours": 0.3694, "text": "New Shop Update! shopRotation1 and shopRotationX the main shop will rotate weekly and special shop items rotated either biweekly and/or monthly"}, {"post_id": 65370, "ts": "2026-09-10T13:47:19Z", "hours": 0.4675, "text": "Site Overhaul in Progress, and new variables userConfig and renderDev"}, {"post_id": 64839, "ts": "2026-09-09T15:08:42Z", "hours": 0.2606, "text": "Pack System Overhaul! packSchema now has been made recursive"}, {"post_id": 64820, "ts": "2026-09-09T14:31:50Z", "hours": 0.8075, "text": "Working strong right now!"}, {"post_id": 60805, "ts": "2026-09-03T12:27:52Z", "hours": 0.7397, "text": "updated ui!"}, {"post_id": 59514, "ts": "2026-09-01T11:50:18Z", "hours": 0.3247, "text": "Reworking ui as of right now"}]...
|
Title: Sakura.dev by @sp6k | Stardance
Devlogs:
R Title: Sakura.dev by @sp6k | Stardance
Devlogs:
Reworking ui as of right now
updated ui!
Working strong right now!
Pack System Overhaul! packSchema now has been made recursive
Site Overhaul in Progress, and new variables userConfig and renderDev
New Shop Update! shopRotation1 and shopRotationX the main shop will rotate weekly and special shop items rotated either biweekly and/or monthly
New Admin Panel Created adminPanel and adminVar
Shop updates shopRefresh has been defined now and fixes to the sites have been coming
Ships:
Sakura.dev, A Minecraft utility useful for: Sharing Texture Packs, Mods, Resources and many more!. What problem does this solve? It solves having many different tools spread across different pages and apps, put cleanly into 1. Over 9 months have been put into this project, (Only 4 hours here because Im new here :/) Peer-reviewed by many different people so suggestions and ideas are always welcome Any questions and complaints can be routed to my discord @sp6k or the official discord server found at the bottom of the sites! Thank you so so much for your support! -Hyper (Chris)...
|
1793004842.8990116
|
1793091242.8990116
|
|
43529
|
Airplane 3D model :D by @6matylda | Stardance
|
6matylda
|
1
|
25.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T22:23:30Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made an airplane 3D model in Onshape, which can be 3D printed and even turned into an RC! This airplane features two engines, NACA 4412 wings, a wingspan of 910mm (35.8in) and a fuselage length of about 730mm (28.7in). — This was my first big project in Onshape, so I came across a lot of challenges while modelling, such as not being able to hollow out the wings and tail because they were too thin, trouble with making the dihedral (upwards) angle of the wings, and problems with lofting the nosecone (I learned to use composite curves as the lofting paths). — I overcame these problems by experimenting, though; for the hollowing wings out problem, I realized making an outer layer was a lot easier than hollowing the inside, and for the nosecone problem, after investigating, I came across composite curves, which was something really helpful to learn. — To test the project, you can download the file on the GitHub. The features list is organized into folders for each part. — The engines are provisional, so I recommend to add your own if you’re going to print this model to ensure it’s durable and easy to print!", "repo": "https://github.com/6matylda/Stardance-Airplane-3D-model", "demo": "https://cad.onshape.com/documents/d811ccb7f19883caa2712b5f/w/4bb6a2feac3b5eb07ce2f1bf/e/5de39268565f4e4cfc2bf3e9?renderMode=0&uiState=6a73d768b21ca79e95eaa222"}]...
|
[{"post_id": 68885, "ts": "202 [{"post_id": 68885, "ts": "2026-09-15T23:11:40Z", "hours": 3.0044, "text": "Devlog #9: I am back!! I remade the wings, which are hollow. — I figured the other wings had some problems (the upwards (dihedral) angle was too high, and this same angle wasn’t equally distributed throughout the wings, and the wings were hard to hollow because of the way they intersected the fuselage (the face at the start wasn’t flat, which complicated it)). — Made the new wings by using the same sketch on a different plane with an inclination of 6 degrees, then re-lofting the wings and finally using the “thicken” tool with a thickness of 0.6mm. — Next to do: add internal structures for support"}, {"post_id": 59315, "ts": "2026-09-01T01:22:01Z", "hours": 6.1083, "text": "Devlog #8: fought for roughly 5 hours to hollow out the tail. Also hollowed the engines. — I tried so many ways to hollow the tail, like using the “shell” and “hollow” tool, extruding inwards, etc. so, what I did, was to use the “thicken” tool to make a shell that was 0.6mm thick. While I wanted the original model to be hollowed inwards, I think rather making the exterior thicker still worked quite well. — As for the engines, unlike the tail, it was pretty easy as it just required to use the shell hollow tool. Also, the engines are 0.6mm thick now and the pylon is 0.4mm! (A pylon is the mount of the engine that connects to the wing C:) — now, I need to remake the wings because of their geometry to hollow them out :)"}, {"post_id": 53538, "ts": "2026-08-24T04:01:21Z", "hours": 0.6875, "text": "Devlog #7: hollowed out the belly and the nosecone — at first, I was super confused on how to hollow out round parts like those of lofts, so after a quick google search I discovered a tool, Shell. I’m so happy I found out about it because otherwise I would be fighting to extrude each part for hours lol. Like the fuselage, the belly and nosecone have 0.6mm of thickness (~0.0236 for the Americans!) — As for hollowing the nosecone, I struggled a bit because the inside and outside were unidimensional and floating, (I basically left a gap of 0.6mm between them) but I figured it was because I had made the windshield before hollowing the nosecone out, so I pushed the intersect booleans of the windshield and nosecone to the very end of the features list, which fixed it, as you can see in the ss! — next to do: figure a way to hollow out the wings and tail surfaces (I tried, but I had a couple problems due to the geometry)"}, {"post_id": 51730, "ts": "2026-08-21T15:48:56Z", "hours": 2.3822, "text": "Devlog #6: Made the windshield and hollowed out the middle of the fuselage and the belly. — For the windshield, made a sketch on the top plane and extruded it, then created an intersect boolean to separate overlapping parts of the nosecone. — For hollowing the fuselage, I separated the nosecone so it would be easier to visualize changes. then hollowed part of the fuselage and left a thickness of 0.6mm. I did this by going in the sketches and creating a smaller copy of the sketch and extruding that out as a “remove”. I also did this for part of the belly, but I still have to hollow out the curved parts like lofts. — To do next: hollow out the nosecone, tail and belly :) — also: if I happen to modify the model so its suitable for an RC, the engines are provisional so I may change them in the future so they fit a standard EDF."}, {"post_id": 49926, "ts": "2026-08-18T21:53:27Z", "hours": 1.4033, "text": "devlog #5: Finished the engines!! tbh I thought they would be a lot harder to make due to the complex geometry, but it was actually quite fun! I made the engine by first sketching the nacelle and revolving that, I then made the pylon/strut that holds the engine, and finally the blades, which I made by lofting a rectangle at different angles and distances."}, {"post_id": 48610, "ts": "2026-08-17T02:25:27Z", "hours": 1.0989, "text": "Devlog #4: I lied in my last devlog, I decided to make the wings before the frontal windows because I already learned how to do that by making the tail! I made the top view shape first and then added the airfoil by lofting it by parts. The airfoil is a NACA4412. I did spend like 40 minutes trying to figure out how to make the wings dihedral and give them shape 😭 but so far I’m so proud of how it’s turning out. I feel like the engines are gonna be pretty hard to model but I’m up for the challenge! I’m excited to finish it and see how it turns out. :)"}, {"post_id": 44159, "ts": "2026-08-09T18:50:53Z", "hours": 2.36, "text": "Devlog #3: made the tail of the airplane. I made each stabilizer by sketching out and extruding the base, then shaped the width with a remove extrude and added some fillets to make it smooth. Next I’ll be making the frontal/cockpit windows :)"}, {"post_id": 41651, "ts": "2026-08-06T00:35:58Z", "hours": 1.3961, "text": "Making an airplane in Onshape devlog #2: made the fuselage a bit longer. I came across a couple problems (the parts weren’t generating) cuz I had to delete some reference points and sketches in order to extrude the fuselage, but I fixed it by re-lofting the empennage and modifying the base sketches of it. I also expanded the belly. Next up I am gonna make the rudder and elevators :)"}, {"post_id": 40917, "ts": "2026-08-04T19:05:21Z", "hours": 6.9631, "text": "Devlog #1: making an airliner. I spent the first 3-4 hours making the sketches. I encountered a lot of problems with making the lofts (the lines weren’t connecting) so it didn’t extrude correctly. I fixed that by making composite curves. I then encountered the problem that the radome wasn’t smooth so I made ellipses to form the nose shape and extruded it. I continued by making the empennage and did the same as with the nose. I finished the fuselage and the belly today. Any advice is rlly appreciated :)"}]...
|
Title: Airplane 3D model :D by @6matylda | Stardan Title: Airplane 3D model :D by @6matylda | Stardance
Devlogs:
Devlog #1: making an airliner. I spent the first 3-4 hours making the sketches. I encountered a lot of problems with making the lofts (the lines weren’t connecting) so it didn’t extrude correctly. I fixed that by making composite curves. I then encountered the problem that the radome wasn’t smooth so I made ellipses to form the nose shape and extruded it. I continued by making the empennage and did the same as with the nose. I finished the fuselage and the belly today. Any advice is rlly appreciated :)
Making an airplane in Onshape devlog #2: made the fuselage a bit longer. I came across a couple problems (the parts weren’t generating) cuz I had to delete some reference points and sketches in order to extrude the fuselage, but I fixed it by re-lofting the empennage and modifying the base sketches of it. I also expanded the belly. Next up I am gonna make the rudder and elevators :)
Devlog #3: made the tail of the airplane. I made each stabilizer by sketching out and extruding the base, then shaped the width with a remove extrude and added some fillets to make it smooth. Next I’ll be making the frontal/cockpit windows :)
Devlog #4: I lied in my last devlog, I decided to make the wings before the frontal windows because I already learned how to do that by making the tail! I made the top view shape first and then added the airfoil by lofting it by parts. The airfoil is a NACA4412. I did spend like 40 minutes trying to figure out how to make the wings dihedral and give them shape 😭 but so far I’m so proud of how it’s turning out. I feel like the engines are gonna be pretty hard to model but I’m up for the challenge! I’m excited to finish it and see how it turns out. :)
devlog #5: Finished the engines!! tbh I thought they would be a lot harder to make due to the complex geometry, but it was actually quite fun! I made the engine by first sketching the nacelle and revolving that, I then made the pylon/strut that holds the engine, and finally the blades, which I made by lofting a rectangle at different angles and distances.
Devlog #6: Made the windshield and hollowed out the middle of the fuselage and the belly. — For the windshield, made a sketch on the top plane and extruded it, then created an intersect boolean to separate overlapping parts of the nosecone. — For hollowing the fuselage, I separated the nosecone so it would be easier to visualize changes. then hollowed part of the fuselage and left a thickness of 0.6mm. I did this by going in the sketches and creating a smaller copy of the sketch and extruding that out as a “remove”. I also did this for part of the belly, but I still have to hollow out the curved parts like lofts. — To do next: hollow out the nosecone, tail and belly :) — also: if I happen to modify the model so its suitable for an RC, the engines are provisional so I may change them in the future so they fit a standard EDF.
Devlog #7: hollowed out the belly and the nosecone — at first, I was super confused on how to hollow out round parts like those of lofts, so after a quick google search I discovered a tool, Shell. I’m so happy I found out about it because otherwise I would be fighting to extrude each part for hours lol. Like the fuselage, the belly and nosecone have 0.6mm of thickness (~0.0236 for the Americans!) — As for hollowing the nosecone, I struggled a bit because the inside and outside were unidimensional and floating, (I basically left a gap of 0.6mm between them) but I figured it was because I had made the windshield before hollowing the nosecone out, so I pushed the intersect booleans of the windshield and nosecone to the very end of the features list, which fixed it, as you can see in the ss! — next to do: figure a way to hollow out the wings and tail surfaces (I tried, but I had a couple problems due to the geometry)
Devlog #8: fought for roughly 5 hours to hollow out the tail. Also hollowed the engines. — I tried so many ways to hollow the tail, like using the “shell” and “hollow” tool, extruding inwards, etc. so, what I did, was to use the “thicken” tool to make a shell that was 0.6mm thick. While I wanted the original model to be hollowed inwards, I think rather making the exterior thicker still worked quite well. — As for the engines, unlike the tail, it was pretty easy as it just required to use the shell hollow tool. Also, the engines are 0.6mm thick now and the pylon is 0.4mm! (A pylon is the mount of the engine that connects to the wing C:) — now, I need to remake the wings because of their geometry to hollow them out :)
Devlog #9: I am back!! I remade the wings, which are hollow. — I figured the other wings had some problems (the upwards (dihedral) angle was too high, and this same angle wasn’t equally distributed throughout the wings, and the wings were hard to hollow because of the way they intersected the fuselage (the face at the start wasn’t flat, which complicated it)). — Made the new wings by using the same sketch on a different plane with an inclination of 6 degrees, then re-lofting the wings and finally using the “thicken” tool with a thickness of 0.6mm. — Next to do: add internal structures for support
Ships:
Made an airplane 3D model in Onshape, which can be 3D printed and even turned into an RC! This airplane features two engines, NACA 4412 wings, a wingspan of 910mm (35.8in) and a fuselage length of about 730mm (28.7in). — This was my first big project in Onshape, so I came across a lot of challenges while modelling, such as not being able to hollow out the wings and tail because they were too thin, trouble with making the dihedral (upwards) angle of the wings, and problems with lofting the nosecone (I learned to use composite curves as the lofting paths). — I overcame these problems by experimenting, though; for the hollowing wings out problem, I realized making an outer layer was a lot easier than hollowing the inside, and for the nosecone problem, after investigating, I came across composite curves, which was something really helpful to learn. — To test the project, you can download the file on the GitHub. The features list is organized into folders for each part. — The engines are provisional, so I recommend to add your own if you’re going to print this model to ensure it’s durable and easy to print!...
|
1793004605.5862734
|
1793091005.5862734
|
|
58749
|
VulpeculaOS by @AuraMonster | Stardance
|
AuraMonster
|
1
|
23.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T21:42:54Z", "hours": 23.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made VulpeculaOS, a desktop app that is an OS but has a creepy twist to it. It is actually a horror game! (Of course, I am not going to spoil it for you, so it is up to figure it out!). Also, explore a lot and be patient, since this is meant to be 20 minutes long.", "repo": "https://github.com/mdmutahhar24-pixel/VulpeculaOS", "demo": "https://github.com/mdmutahhar24-pixel/VulpeculaOS/releases"}]...
|
[{"post_id": 71969, "ts": "202 [{"post_id": 71969, "ts": "2026-09-21T21:40:38Z", "hours": 1.7475, "text": "Seventh and Final Devlog for VulpeculaOS What is VulpeculaOS Really? VulpeculaOS is an OS that is actually a horror game. And no, this is not the webOS mission, since it is a desktop app. There will be several anomalies that the user goes through. If the user attempts to ask Vulp about it, Vulp is supposed to respond in a weird way. New Features: Debugged some stuff Added Vulp Text-To-Speech Updated some Horror events to actually give out vibes Ship will be coming soon!"}, {"post_id": 71453, "ts": "2026-09-20T21:11:48Z", "hours": 2.3394, "text": "Sixth Devlog for VulpeculaOS New Features: OS now has a start up Screen! [REDACTED] Happiness system was finished Calculator finished Browser Finished Vulp ? Finished Scrapped: Settings EXPECT NEXT DEVLOG TO BE FINAL **ERROR: VULP is slowly being taken over by… static ** NOTE: the truth about this OS will be revealed… in the next devlog and the ship."}, {"post_id": 69967, "ts": "2026-09-18T04:24:16Z", "hours": 6.5525, "text": "Fifth Devlog for VulpeculaOS New Features: SFX for UI In Progress: [REDACTED] happiness events Vulp Reactions Easter Eggs Smth idk Browser Planned Features (Subject to Change): More apps to store Settings Calculator Content Vulp is acting pretty strange today…"}, {"post_id": 65498, "ts": "2026-09-10T17:59:32Z", "hours": 5.0594, "text": "Fourth Devlog for VulpeculaOS New Features: You can now Maximize and Minimize windows OS System Error: AI: VULP has gained access to app window control In Progress: Store Browser [REDACTED] Happiness level Revamp of current OS Planned Features: Settings More apps in the store Actually being able to open a webpage inside of VulpeculaOS. (* static *) Too late to turn back"}, {"post_id": 63913, "ts": "2026-09-07T23:04:25Z", "hours": 2.1544, "text": "Third Devlog For VelpeculaOS New Features: Notes App completed Terminal, Files, and Notes are now all completely intertwined Command Menu added OS SYSTEM BREACH: VULP HAS GAINED THE ABILITY OF SPEECH Work in Progress: Vulp being able to Warn modify files Planned Features (Subject to change): [Redacted] level Settings You open Vulpecula OS again…Vulp has something to tell you. You were shocked by the next words Vulp said."}, {"post_id": 63750, "ts": "2026-09-07T18:23:12Z", "hours": 2.7758, "text": "Second Devlog for Vulpecula OS New Features: Terminal Complete Added a filesystem to keep track of you of your files Added Local Date In Progress: Notes Feature Vulp, your personal {REDACTED} assistant Planned Features (Subject to change): {REDACTED} level Command (like the windows button) As you keep exploring the OS, you notice something off… It’s nothing right?"}, {"post_id": 63120, "ts": "2026-09-06T19:03:19Z", "hours": 2.0158, "text": "Vulpecula OS First Devlog What is VulpeculaOS? Vulpecula OS is a [REDACTED] totally Normal OS on a Desktop App. Users are put through [REDACTED] normal OS stuff. New Features: Added Windows Added Time Added Background Future Features (Subject to Change): Your personal [REDACTED] Vulp Assistant Command [REDACTED] level More… OS System Error: He is already after you. It is too late, you know too much - Vulp"}]...
|
Title: VulpeculaOS by @AuraMonster | Stardance
De Title: VulpeculaOS by @AuraMonster | Stardance
Devlogs:
Vulpecula OS First Devlog What is VulpeculaOS? Vulpecula OS is a [REDACTED] totally Normal OS on a Desktop App. Users are put through [REDACTED] normal OS stuff. New Features: Added Windows Added Time Added Background Future Features (Subject to Change): Your personal [REDACTED] Vulp Assistant Command [REDACTED] level More… OS System Error: He is already after you. It is too late, you know too much - Vulp
Second Devlog for Vulpecula OS New Features: Terminal Complete Added a filesystem to keep track of you of your files Added Local Date In Progress: Notes Feature Vulp, your personal {REDACTED} assistant Planned Features (Subject to change): {REDACTED} level Command (like the windows button) As you keep exploring the OS, you notice something off… It’s nothing right?
Third Devlog For VelpeculaOS New Features: Notes App completed Terminal, Files, and Notes are now all completely intertwined Command Menu added OS SYSTEM BREACH: VULP HAS GAINED THE ABILITY OF SPEECH Work in Progress: Vulp being able to Warn modify files Planned Features (Subject to change): [Redacted] level Settings You open Vulpecula OS again…Vulp has something to tell you. You were shocked by the next words Vulp said.
Fourth Devlog for VulpeculaOS New Features: You can now Maximize and Minimize windows OS System Error: AI: VULP has gained access to app window control In Progress: Store Browser [REDACTED] Happiness level Revamp of current OS Planned Features: Settings More apps in the store Actually being able to open a webpage inside of VulpeculaOS. (* static *) Too late to turn back
Fifth Devlog for VulpeculaOS New Features: SFX for UI In Progress: [REDACTED] happiness events Vulp Reactions Easter Eggs Smth idk Browser Planned Features (Subject to Change): More apps to store Settings Calculator Content Vulp is acting pretty strange today…
Sixth Devlog for VulpeculaOS New Features: OS now has a start up Screen! [REDACTED] Happiness system was finished Calculator finished Browser Finished Vulp ? Finished Scrapped: Settings EXPECT NEXT DEVLOG TO BE FINAL **ERROR: VULP is slowly being taken over by… static ** NOTE: the truth about this OS will be revealed… in the next devlog and the ship.
Seventh and Final Devlog for VulpeculaOS What is VulpeculaOS Really? VulpeculaOS is an OS that is actually a horror game. And no, this is not the webOS mission, since it is a desktop app. There will be several anomalies that the user goes through. If the user attempts to ask Vulp about it, Vulp is supposed to respond in a weird way. New Features: Debugged some stuff Added Vulp Text-To-Speech Updated some Horror events to actually give out vibes Ship will be coming soon!
Ships:
I made VulpeculaOS, a desktop app that is an OS but has a creepy twist to it. It is actually a horror game! (Of course, I am not going to spoil it for you, so it is up to figure it out!). Also, explore a lot and be patient, since this is meant to be 20 minutes long....
|
1793008116.2340612
|
1793094516.2340612
|
|
64594
|
HippoType by @MuhammadDawood | Stardance
|
MuhammadDawood
|
1
|
4.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T21:35:46Z", "hours": 4.0, "multiplier": 1.26, "payout": 3, "blessing": "neutral", "text": "I have made a Typing per minute testing app that give your final score of the text you type give under 30 seconds. The difficult task is definitely the JavaScript part as it’s really difficult to make the user detect user input and compare it with the given words and match if they are right or wrong. You guys should try it to test your typing speed just type the given paragraph as fast as you can. Good Luck :)", "repo": "https://github.com/DAVIDX-004/HippoTypingGame", "demo": "https://davidx-004.github.io/HippoTypingGame/"}]...
|
[{"post_id": 71965, "ts": "202 [{"post_id": 71965, "ts": "2026-09-21T21:32:01Z", "hours": 1.0494, "text": "It’s Finally here Now Go to the given Link and test your Typing Speed: https://davidx-004.github.io/HippoTypingGame/"}, {"post_id": 71929, "ts": "2026-09-21T20:03:01Z", "hours": 2.9747, "text": "I am working on a typing speed testing cool word game. Have completed mostly the HTML section now working on JavaScript Hopefully you guys will like it when its ready."}]...
|
Title: HippoType by @MuhammadDawood | Stardance
D Title: HippoType by @MuhammadDawood | Stardance
Devlogs:
I am working on a typing speed testing cool word game. Have completed mostly the HTML section now working on JavaScript Hopefully you guys will like it when its ready.
It’s Finally here Now Go to the given Link and test your Typing Speed: https://davidx-004.github.io/HippoTypingGame/
Ships:
I have made a Typing per minute testing app that give your final score of the text you type give under 30 seconds. The difficult task is definitely the JavaScript part as it’s really difficult to make the user detect user input and compare it with the given words and match if they are right or wrong. You guys should try it to test your typing speed just type the given paragraph as fast as you can. Good Luck :)...
|
1792965096.9374797
|
1793051496.9374797
|
|
6382
|
Run and jump game by @charliebthomas | Stardance
|
charliebthomas
|
1
|
7.3
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T21:17:05Z", "hours": 7.0, "multiplier": 1.11, "payout": 8, "blessing": "neutral", "text": "I made a run-and-jump game. I am fully aware that it is not yet fully complete; however, I am starting to head into exam season, so I now need to focus on them, so I will not have time to fully finish before the deadline. I still need to make it so it starts on the Home Screen and the game over banner looks nicer, make the platforms go up and down, and have a moving background. However, I hope you like what is made. Sorry if this is hard to read; I have dyslexia.", "repo": "https://github.com/charliebthomas-source/Coding", "demo": "https://charlieburt.itch.io/jumping-game"}]...
|
[{"post_id": 73681, "ts": "202 [{"post_id": 73681, "ts": "2026-09-25T17:55:54Z", "hours": 0.3031, "text": "made a proper read me and made it so the the jump volocity is not working properly."}, {"post_id": 68142, "ts": "2026-09-14T16:08:22Z", "hours": 3.8286, "text": "I know not many updates for this project i just keep on forgetting. I have now got it so we have a home screen we have a max score and a restart button. there are still some bugs and am working on them."}, {"post_id": 14943, "ts": "2026-06-24T08:42:44Z", "hours": 3.5458, "text": "I know i have done a of code without e devlog i have just been forgetting to. So far i have made it so the platforms are veriable distance and the player jumps a veriable distance. I also have it so that when it misses a jump the game get restarted. I also have a progress bar."}]...
|
Title: Run and jump game by @charliebthomas | Star Title: Run and jump game by @charliebthomas | Stardance
Devlogs:
I know i have done a of code without e devlog i have just been forgetting to. So far i have made it so the platforms are veriable distance and the player jumps a veriable distance. I also have it so that when it misses a jump the game get restarted. I also have a progress bar.
I know not many updates for this project i just keep on forgetting. I have now got it so we have a home screen we have a max score and a restart button. there are still some bugs and am working on them.
made a proper read me and made it so the the jump volocity is not working properly.
Ships:
I made a run-and-jump game. I am fully aware that it is not yet fully complete; however, I am starting to head into exam season, so I now need to focus on them, so I will not have time to fully finish before the deadline. I still need to make it so it starts on the Home Screen and the game over banner looks nicer, make the platforms go up and down, and have a moving background. However, I hope you like what is made. Sorry if this is hard to read; I have dyslexia....
|
1793004719.6978276
|
1793091119.6978276
|
|
53873
|
MafiaParty by @casmin7 | Stardance
|
casmin7
|
2
|
15.29
|
92
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T20:34:43Z", "hours": 2.0, "multiplier": 13.54, "payout": 22, "blessing": "neutral", "text": "Hi there! MafiaParty: Last ship of the project? After polishing up the app a bit, I am content with it I have seen a comment about translations which seems feasible and actually a cool feature, will look into it! I was also thinking custom roles with priorities and badges and stuff But we’ll see! Thank you all for the support on the last ship! MafiaParty: Short Summery PWA with local caching, save-state and fun stuff like http3/quic A tool meant to aid in big games of Mafia made during summer camp as to solve that exact issue Battle tested up to 27 players lol What’s new this ship: Swipe to reveal IS MUCH BETTER Fixed some blue highlights on android(maybe IOS too but I can’t test) Added an option to reset the game when a win condition is triggered Sometimes when removing a card by clicking the x it would trigger the card animation and shrink it causing you to miss the x. Now fixed Added icons now to all the action buttons", "repo": "https://github.com/casmin7/MafiaParty", "demo": "https://mafia.casmin.eu"}, {"ship_num": 2, "ts": "2026-09-14T15:54:19Z", "hours": 13.0, "multiplier": 5.33, "payout": 70, "blessing": "neutral", "text": "Mafia Party: A helping hand for mafia games What it is: A small site/app (PWA) that facilitates when playing big games of the party game Mafia (Werewolf). Say you have 8 players, 2 killers, 1 medic, 1 detective, remembering what each did at night is quite easy for a storyteller who is experienced. But say that others join too since it seems fun. Great! Now you have 16 players… what now? That’s why I made this! It has been battled tested up to 28 players and the way it was coded theoretically allows for any combo of players and roles. Do you want 30 players, 10 doctors and one killer? Sure Do you want 120 players, 15 of each role, 10 kills per round and multiple eliminations at day? Sure Do whatever you want, do whatever your players need! What it isn’t: It isn’t a full game. It’s merely a tool to be used by a moderator instead of a piece of paper or remembering each action at night. You still need people to play with, a space to play and a deck of cards to give out roles Gameplay Management Dynamic Role Support: Works with any player count or role combo without pre-configuration. Built-in Role Library: Out-of-the-box support for Detective, Doctor/Medic, Cupid, Escort, Mutilator, and traditional Mafia/Villagers. State Tracking: Tracks live player counts, day/night cycles, contextual actions, and win conditions automatically. User Experience & Privacy Peeking Prevention: Draggable role cards reveal secret info only while active, preventing nearby players from seeing the moderator’s screen. Dynamic Players: Cards can be reordered when in the setup phase to prepare for a new game if players move around the room Adaptive Navigation: Contextual nav bar updates available actions based on the current phase of the game. Technical Performance Offline PWA Support: Service worker caching allows full offline usability in low-reception game areas. Persistent Game State: Automatically saves all game data locally so no progress is lost on page refreshes. Try it now at: mafia.casmin.eu", "repo": "https://github.com/casmin7/MafiaParty", "demo": "https://mafia.casmin.eu"}]...
|
[{"post_id": 72233, "ts": "202 [{"post_id": 72233, "ts": "2026-09-22T14:26:17Z", "hours": 0.2925, "text": "MafiaParty: fixParty? Fixed an issue with card dragging on android Now it actually works sorry xd It’s not pretty but works"}, {"post_id": 71824, "ts": "2026-09-21T16:46:49Z", "hours": 0.4075, "text": "Hey there I made another polishing update MafiaParty: Now polish (🇵🇱) Added icons to all the buttons that we’re missing Swipe-to-reveal no longer snaps open, making it harder to accidentally reveal a role to someone Added a new setting to reset the game upon win, you will still get a confirmation prompt"}, {"post_id": 71463, "ts": "2026-09-20T21:27:16Z", "hours": 1.2228, "text": "Hello there! First devlog after shipping whoa! Thank you all for checking it out Here’s what I improved: The X button will no longer trigger card animations making you miss it Reworked role reveal, now you drag the card to reveal so it no longer makes you accidentally trigger the vote confirmation and is generally nicer to use Removed tap highlight color so buttons look nicer on mobile(on my phone at least) A small update (took a while) but a nice qol update See you all soon!"}, {"post_id": 68105, "ts": "2026-09-14T14:57:34Z", "hours": 1.5928, "text": "MafiaParty: Now COMPLETE! What it is: A small site/app(PWA) that facilitates when playing big games of the party game Mafia (Werewolf) What it isn’t: Not a game, a tool. It does not replace the need of a storyteller or cards. Ohh boy this one was a big one, one final push before I call it good. I am happy in the state it is right now, finished up the last of the suggestions I had gotten while playing games using it (eg. player count) and I can say I am happy with it and I will soon also publish it ### What’s new: How the switches look Checkboxed save state upon reload Back button now works way better and will not mess up more that it fixes Card events (voting players, selecting targets) was cleaned up Cards can now be focused and interacted using tab Added optional settings Added night & day counter Added player count with total and alive players"}, {"post_id": 62081, "ts": "2026-09-05T10:17:40Z", "hours": 1.0728, "text": "MafiaParty: Now PWA! What it is: A small site/app(PWA) that facilitates when playing big games of the party game Mafia (Werewolf) What it isn’t: Not a game, a tool. It does not replace the need of a storyteller or cards. New with this update Added a manifest so now the app can be installed Service worker for offline support Favicons!!! (spent way to long on this) Renamed the site to be more inline with the github (MafiaHelper -> MafiaParty) Made nicer overlays scrollbars and added fixed gutters"}, {"post_id": 59100, "ts": "2026-08-31T18:38:49Z", "hours": 0.4144, "text": "Added some aria labels, fixed some issues and now site gets 100% on lighthouse! This does not mean it’s perfect but for me it’s a cool thing to brag about :)"}, {"post_id": 58780, "ts": "2026-08-31T11:03:47Z", "hours": 1.9997, "text": "MafiaHelper, updated look and better usability What it is: A small site/app(soon I hope, PWA) that facilitates when playing big games of the party game Mafia (Werewolf) What it isn’t: Not a game, a tool. It does not replace the need of a storyteller or cards. Battle tested, it was able to handle two games of 27 players! With multiple killers, doctors, detectives and other roles, we were able to handle two VERRRY long games of mafia without issues caused by the app. It wasn’t perfect, but it did showcase what the app is capable off and just how easy it is for the storyteller when using this tool. Since the last devlog I made it look much nicer on desktop and mobile by adding fixed bottom controls and better consistent cards. Players can now be deleted making usability much nicer since they also get saved, so starting a game with mostly the same players is easier."}, {"post_id": 55556, "ts": "2026-08-27T14:17:23Z", "hours": 3.315, "text": "Added saving and loading and redid all of the night roles checks to be easier to manage and change plus delete all button and individual delete"}, {"post_id": 53997, "ts": "2026-08-24T18:43:02Z", "hours": 4.7222, "text": "hihi, I made this during summer camp (and I still am there lol) to be used to help me moderate large games of mafia Mafia is an irl game similar to Among Us with roles and actions at night, and voting during the day This is not a full mafia app and is meant to only help the moderator not remember what happened every night since with many players IT GETS VERY HARD My experience hosting a game of mafia for 22 people without this was horrendous Try it out now at: https://mafia.casmin.eu More soon!"}]...
|
Title: MafiaParty by @casmin7 | Stardance
Devlogs Title: MafiaParty by @casmin7 | Stardance
Devlogs:
hihi, I made this during summer camp (and I still am there lol) to be used to help me moderate large games of mafia Mafia is an irl game similar to Among Us with roles and actions at night, and voting during the day This is not a full mafia app and is meant to only help the moderator not remember what happened every night since with many players IT GETS VERY HARD My experience hosting a game of mafia for 22 people without this was horrendous Try it out now at: https://mafia.casmin.eu More soon!
Added saving and loading and redid all of the night roles checks to be easier to manage and change plus delete all button and individual delete
MafiaHelper, updated look and better usability What it is: A small site/app(soon I hope, PWA) that facilitates when playing big games of the party game Mafia (Werewolf) What it isn’t: Not a game, a tool. It does not replace the need of a storyteller or cards. Battle tested, it was able to handle two games of 27 players! With multiple killers, doctors, detectives and other roles, we were able to handle two VERRRY long games of mafia without issues caused by the app. It wasn’t perfect, but it did showcase what the app is capable off and just how easy it is for the storyteller when using this tool. Since the last devlog I made it look much nicer on desktop and mobile by adding fixed bottom controls and better consistent cards. Players can now be deleted making usability much nicer since they also get saved, so starting a game with mostly the same players is easier.
Added some aria labels, fixed some issues and now site gets 100% on lighthouse! This does not mean it’s perfect but for me it’s a cool thing to brag about :)
MafiaParty: Now PWA! What it is: A small site/app(PWA) that facilitates when playing big games of the party game Mafia (Werewolf) What it isn’t: Not a game, a tool. It does not replace the need of a storyteller or cards. New with this update Added a manifest so now the app can be installed Service worker for offline support Favicons!!! (spent way to long on this) Renamed the site to be more inline with the github (MafiaHelper -> MafiaParty) Made nicer overlays scrollbars and added fixed gutters
MafiaParty: Now COMPLETE! What it is: A small site/app(PWA) that facilitates when playing big games of the party game Mafia (Werewolf) What it isn’t: Not a game, a tool. It does not replace the need of a storyteller or cards. Ohh boy this one was a big one, one final push before I call it good. I am happy in the state it is right now, finished up the last of the suggestions I had gotten while playing games using it (eg. player count) and I can say I am happy with it and I will soon also publish it ### What’s new: How the switches look Checkboxed save state upon reload Back button now works way better and will not mess up more that it fixes Card events (voting players, selecting targets) was cleaned up Cards can now be focused and interacted using tab Added optional settings Added night & day counter Added player count with total and alive players
Hello there! First devlog after shipping whoa! Thank you all for checking it out Here’s what I improved: The X button will no longer trigger card animations making you miss it Reworked role reveal, now you drag the card to reveal so it no longer makes you accidentally trigger the vote confirmation and is generally nicer to use Removed tap highlight color so buttons look nicer on mobile(on my phone at least) A small update (took a while) but a nice qol update See you all soon!
Hey there I made another polishing update MafiaParty: Now polish (🇵🇱) Added icons to all the buttons that we’re missing Swipe-to-reveal no longer snaps open, making it harder to accidentally reveal a role to someone Added a new setting to reset the game upon win, you will still get a confirmation prompt
MafiaParty: fixParty? Fixed an issue with card dragging on android Now it actually works sorry xd It’s not pretty but works
Ships:
Mafia Party: A helping hand for mafia games What it is: A small site/app (PWA) that facilitates when playing big games of the party game Mafia (Werewolf). Say you have 8 players, 2 killers, 1 medic, 1 detective, remembering what each did at night is quite easy for a storyteller who is experienced. But say that others join too since it seems fun. Great! Now you have 16 players… what now? That’s why I made this! It has been battled tested up to 28 players and the way it was coded theoretically allows for any combo of players and roles. Do you want 30 players, 10 doctors and one killer? Sure Do you want 120 players, 15 of each role, 10 kills per round and multiple eliminations at day? Sure Do whatever you want, do whatever your players need! What it isn’t: It isn’t a full game. It’s merely a tool to be used by a moderator instead of a piece of paper or remembering each action at night. You still need people to play with, a space to play and a deck of cards to give out roles Gameplay Management Dynamic Role Support: Works with any player count or role combo without pre-configuration. Built-in Role Library: Out-of-the-box support for Detective, Doctor/Medic, Cupid, Escort, Mutilator, and traditional Mafia/Villagers. State Tracking: Tracks live player counts, day/night cycles, contextual actions, and win conditions automatically. User Experience & Privacy Peeking Prevention: Draggable role cards reveal secret info only while active, preventing nearby players from seeing the moderator’s screen. Dynamic Players: Cards can be reordered when in the setup phase to prepare for a new game if players move around the room Adaptive Navigation: Contextual nav bar updates available actions based on the current phase of the game. Technical Performance Offline PWA Support: Service worker caching allows full offline usability in low-reception game areas. Persistent Game State: Automatically saves all game data locally so no progress is lost on page refreshes. Try it now at: mafia.casmin.eu
Hi there! MafiaParty: Last ship of the project? After polishing up the app a bit, I am content with it I have seen a comment about translations which seems feasible and actually a cool feature, will look into it! I was also thinking custom roles with priorities and badges and stuff But we’ll see! Thank you all for the support on the last ship! MafiaParty: Short Summery PWA with local caching, save-state and fun stuff like http3/quic A tool meant to aid in big games of Mafia made during summer camp as to solve that exact issue Battle tested up to 27 players lol What’s new this ship: Swipe to reveal IS MUCH BETTER Fixed some blue highlights on android(maybe IOS too but I can’t test) Added an option to reset the game when a win condition is triggered Sometimes when removing a card by clicking the x it would trigger the card animation and shrink it causing you to miss the x. Now fixed Added icons now to all the action buttons...
|
1793008119.3794603
|
1793094519.3794603
|
|
50566
|
Hogwarts OS by @Sparky10 | Stardance
|
Sparky10
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T19:39:20Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi soldiers, I made Hogwarts OS, a browser-based desktop operating system inspired by the magical atmosphere of the Harry Potter universe.It includes desktop app icons, a boot/loading experience with Hedwig’s Song, a wizarding-style display font, themed wallpapers, and interactive built-in apps. The challenging part was making all the different pieces work together without breaking the existing OS — especially integrating boot audio, the loading screen, desktop interactions, wallpapers, and the React/Vite build. I also had to fix a JSX syntax issue that initially caused the Vercel production build to fail. I’m most proud of turning a normal web OS into something that feels like a complete magical desktop environment rather than just a themed webpage. People testing it should wait for the boot screen to finish and, if their browser blocks autoplay, interact with the page to enable the boot music. They can then try the desktop icons and built-in apps.", "repo": "https://github.com/kaviyasuriya10-bot/Web-OS", "demo": "https://web-os-xycc-teal.vercel.app/"}]...
|
[{"post_id": 71795, "ts": "202 [{"post_id": 71795, "ts": "2026-09-21T15:53:27Z", "hours": 1.9528, "text": "Hi guys, actually this is my personal project, but I planned to ship it is Stardance this version 1 of my Hogwarts OS"}]...
|
Title: Hogwarts OS by @Sparky10 | Stardance
Devlo Title: Hogwarts OS by @Sparky10 | Stardance
Devlogs:
Hi guys, actually this is my personal project, but I planned to ship it is Stardance this version 1 of my Hogwarts OS
Ships:
Hi soldiers, I made Hogwarts OS, a browser-based desktop operating system inspired by the magical atmosphere of the Harry Potter universe.It includes desktop app icons, a boot/loading experience with Hedwig’s Song, a wizarding-style display font, themed wallpapers, and interactive built-in apps. The challenging part was making all the different pieces work together without breaking the existing OS — especially integrating boot audio, the loading screen, desktop interactions, wallpapers, and the React/Vite build. I also had to fix a JSX syntax issue that initially caused the Vercel production build to fail. I’m most proud of turning a normal web OS into something that feels like a complete magical desktop environment rather than just a themed webpage. People testing it should wait for the boot screen to finish and, if their browser blocks autoplay, interact with the page to enable the boot music. They can then try the desktop icons and built-in apps....
|
1793004782.5160866
|
1793091182.5160866
|
|
52996
|
SatelliteTracker by @wal | Stardance
|
wal
|
1
|
25.0
|
384
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T19:32:53Z", "hours": 25.0, "multiplier": 15.61, "payout": 384, "blessing": "neutral", "text": "Hi everyone! I made a project called “SatelliteTracker”. So this is a cool app that tracks satellites real time built on JS and Globe.jl The project shows different satellites (not all of them, because otherwise there would be around 10 000 of them), and also can show you visible satellites based on the location you picked. The most challenging part was making it lol. The whole purpose of this project for me was to learn JS, which i for shure did, but anyways it was soo overwhelming. I am really proud of how it turned out, it looks super good, and i am proud that i commited with my idea, because now i get to show everyone this project to get a reaction like: “Yoo thats so cool!”. Apart from the jokes, i am really proud to have learned a new language and to have come out of my comfort zone. Things you should know-Starlink satellites dont always load! And also i made warnings in the console so you could see what works and what doesnt. Also, please dont refresh the page too often, otherwise celestrack will stop accepting yo requests…and you will have a looser window, you dont want that! Thank you everyone, enjoy!", "repo": "https://github.com/walterm4lon-coder/SatelliteTracker", "demo": "https://walterm4lon-coder.github.io/SatelliteTracker/"}]...
|
[{"post_id": 71899, "ts": "202 [{"post_id": 71899, "ts": "2026-09-21T18:48:20Z", "hours": 3.9111, "text": "I IMAGINED, I PROGRAMMED, I CONQUERED. The Satellite tracker might just be done! Changes!! 1. VISUALS holy hell it was harder than i expected but i made it. so i added stars, cool buttons, cool font, and allat. I am really proud of this work, because it looks really cool now 2. Loading Screen now this one is so cool, i really like how it turned out and it was pretty easy to make it. But i was honestly so tired at that point that i just wrote the first stuff that came into my mind. but i still think it turned out cool. 3. A lot of warnings! Now, for debugging, and just for sole purpose of a user, i added warnings, so when celestrack is not fetching because of extended use or its own problems (like with starlink sometimes) it just warns u and skips it. If you have reached your IP request limit to celestrack, then you will just have a longer running of loading screen and a message that you can see on the photo. (i have it because i have refreshed the page too much) AI Declaration Now in this devlog i want to also sum up how i used ai. So the sole purpose of his project was for me to learn JS, and this project was really hard for me, so i used AI of course. Mainly i used it so it gave me the general idea of the code that i should have for my ideas, and then i changed it and shaped it so that it turned out the way it did now. Also it helped me with complex tasks, like visible satellites and all the complex stuff, and, of course, debugging. But i still did it myself, and apart from doing this i was also doing a 12 hour course on JS by BroCode, shoutout to him btw! Final thoughts Well, this project was cool but waaaay harder than i expected, thats why i had to use ai. This will definitely help me in my further projects, and i am really proud of the final version. This taught me a lot, and i shure am happy to continue my journey as an engineer (i wanna be a hardware one, but for stardance its just way easier to star with software for me, so might as well learn programming too.). This is also my final project for stardance, and i am really happy. Thank you to everyone who supported me on this project, 100+ views consistently is crazy! See you somewhere in the world, the real world…"}, {"post_id": 66842, "ts": "2026-09-12T19:19:13Z", "hours": 8.8169, "text": "Stars, Satellites, and all the shiny things… Oh, wait, just satellites here.. anyways This devlog took sooo long, but now the only thing thats left is style. For now, progress: 1. All passes and Visible ones You can now see, which ones you can actually see, and which ones are blocked by earth shadow and allat. All passes ore just 0 degrees above the horizon, and visible ones are: above 10 degrees should be outside the earth shadow for us to see should be pretty dark outside should be from a group, that CelesTrack considers bright enough for us to see 2. Satellites already over u group basically the satellites that u can see already. Since those satellites are already in right time above the horizon, we dont have to wait for them, i just divide all satellites in 2 groups, where one is ones over u, and others are the ones we have to wait for, using arleadyup - true or false 3. When you click on a satellite, it actually shows it DAMNNNN I LOVE THIS FEATURE and also it shows a path. 4. 403 warning error Now, when the server answers with 403 error, for example starlink that i have some problems with, programm just skips it. 5.Camera lock in on both pages Self explainatory Plans The most important one: i might delete the starlink satellites. They just dont appear most of the time because of the server, so better drop tham so i didnt have any problems when i ship the project. Apart from that, i the only thing thats left is to add that cool style i wanted hell yeah. Thank you all if you made it so far! Sya on the next one"}, {"post_id": 62032, "ts": "2026-09-05T07:57:07Z", "hours": 6.7536, "text": "Look out of your window. Are those stars, or just satellites? Well, now you can find out, because i added the tracker page, that allows you to see, what satellites pass your selected location. I wont lie. JS is still pretty hard for me, so for this i had to use AI to help me out. But i still manage to understand almost everything from the code, so i hope its ok :) How the hell does it work? This was really tough for me to understand for the code, so for you i will make it easier. Basically, i have 2 libraries, my satellite.js, that is responsible, you guessed it, for satellites and all the info about it, and d3-geo, which is a 3d earth. When you click on the globe, the programm checks if its land or water, because i wanted it to only check satellites on land. How does it do it? Using world - atlas, that has all the coordinates of the land on the earth. If its land, then the programm for every satellite looks its way for every 30 seconds on a period of 24 hours and looks, when its going to be seen on your horizon (must be 40 degrees because of all the trees and buildings). It memorizes the first and last moment above the 40 degree mark on horizon and then it gives the results seen on the screenshot, sorted with time. Flaws, suggestions, ect. So for now it just spits out the info about sattelites, but maybe you have an idea how to make it more visual? i have no idea for now, because i dont want it to be just 60 red dots and everuthing around the point you selected. One idea i had is if you pick any sattelite of the given ones, it shows its path, but it sounds hard as hell, i may use ai again to help me… IF YOU HAVE ANY SUGGESTIONS ABOUT MY PROJECT PLEASE MENTION THEM! I WILL BE MORE THAN HAPPY TO IMPLIMENT IDEAS I LIKED!!! Of course, mentioning the suggestor. Plans Im planningin the end to add that old 90s nasa computer green/black vibe, i really am stoked to see how it will turn out. Thanks! Sorry for not devlogging earlier, was locked in on finishing the whole page"}, {"post_id": 56598, "ts": "2026-08-28T12:42:50Z", "hours": 3.9256, "text": "Wow thats hard. ##Okay, so for the progress i ve made: 1. I added A LOT of other sattelites. So now its not 1, but around 50 or 60, im not shure really. Now there are different kinds of them: -habitated ones, like ISS, Tiangong and so on, and i didnt make a limit on them because theyre the most valuable and recognisable. -CelesTrak, the brightest ones you can clearly see in the sky -GPS satellites -Starlink, but only around 20 -weather ones, like NOAA and GOES 2. every group that i named has their own color! In the future i want to make it so that you could pick only a specific group. 3. What line the satellite will follow. I believe i didnt do this on my previous devlog, anyway, i just show the line that it follows in the period of 90 mins. It goes +- 1 time around the globe, so you could see lol. yeah!"}, {"post_id": 52558, "ts": "2026-08-22T18:43:46Z", "hours": 1.2072, "text": "Started my Satellite Tracker! This project is basically tracking satellites and their orbits in real time. What have i done for now? ###1 . Connected satellite (ISS) info from celestrak. org This basically grabs the info, like name and coordinates 2. Created our planet 3. Added a dot for satellite 4. When you press on it, it spits out info about it, like speed and altitude. Im only learning JS, so i am currently using Claude to navigate me through the whole process and help me with the code, but i try to understand it very hard and i do learn!"}]...
|
Title: SatelliteTracker by @wal | Stardance
Devlo Title: SatelliteTracker by @wal | Stardance
Devlogs:
Started my Satellite Tracker! This project is basically tracking satellites and their orbits in real time. What have i done for now? ###1 . Connected satellite (ISS) info from celestrak. org This basically grabs the info, like name and coordinates 2. Created our planet 3. Added a dot for satellite 4. When you press on it, it spits out info about it, like speed and altitude. Im only learning JS, so i am currently using Claude to navigate me through the whole process and help me with the code, but i try to understand it very hard and i do learn!
Wow thats hard. ##Okay, so for the progress i ve made: 1. I added A LOT of other sattelites. So now its not 1, but around 50 or 60, im not shure really. Now there are different kinds of them: -habitated ones, like ISS, Tiangong and so on, and i didnt make a limit on them because theyre the most valuable and recognisable. -CelesTrak, the brightest ones you can clearly see in the sky -GPS satellites -Starlink, but only around 20 -weather ones, like NOAA and GOES 2. every group that i named has their own color! In the future i want to make it so that you could pick only a specific group. 3. What line the satellite will follow. I believe i didnt do this on my previous devlog, anyway, i just show the line that it follows in the period of 90 mins. It goes +- 1 time around the globe, so you could see lol. yeah!
Look out of your window. Are those stars, or just satellites? Well, now you can find out, because i added the tracker page, that allows you to see, what satellites pass your selected location. I wont lie. JS is still pretty hard for me, so for this i had to use AI to help me out. But i still manage to understand almost everything from the code, so i hope its ok :) How the hell does it work? This was really tough for me to understand for the code, so for you i will make it easier. Basically, i have 2 libraries, my satellite.js, that is responsible, you guessed it, for satellites and all the info about it, and d3-geo, which is a 3d earth. When you click on the globe, the programm checks if its land or water, because i wanted it to only check satellites on land. How does it do it? Using world - atlas, that has all the coordinates of the land on the earth. If its land, then the programm for every satellite looks its way for every 30 seconds on a period of 24 hours and looks, when its going to be seen on your horizon (must be 40 degrees because of all the trees and buildings). It memorizes the first and last moment above the 40 degree mark on horizon and then it gives the results seen on the screenshot, sorted with time. Flaws, suggestions, ect. So for now it just spits out the info about sattelites, but maybe you have an idea how to make it more visual? i have no idea for now, because i dont want it to be just 60 red dots and everuthing around the point you selected. One idea i had is if you pick any sattelite of the given ones, it shows its path, but it sounds hard as hell, i may use ai again to help me… IF YOU HAVE ANY SUGGESTIONS ABOUT MY PROJECT PLEASE MENTION THEM! I WILL BE MORE THAN HAPPY TO IMPLIMENT IDEAS I LIKED!!! Of course, mentioning the suggestor. Plans Im planningin the end to add that old 90s nasa computer green/black vibe, i really am stoked to see how it will turn out. Thanks! Sorry for not devlogging earlier, was locked in on finishing the whole page
Stars, Satellites, and all the shiny things… Oh, wait, just satellites here.. anyways This devlog took sooo long, but now the only thing thats left is style. For now, progress: 1. All passes and Visible ones You can now see, which ones you can actually see, and which ones are blocked by earth shadow and allat. All passes ore just 0 degrees above the horizon, and visible ones are: above 10 degrees should be outside the earth shadow for us to see should be pretty dark outside should be from a group, that CelesTrack considers bright enough for us to see 2. Satellites already over u group basically the satellites that u can see already. Since those satellites are already in right time above the horizon, we dont have to wait for them, i just divide all satellites in 2 groups, where one is ones over u, and others are the ones we have to wait for, using arleadyup - true or false 3. When you click on a satellite, it actually shows it DAMNNNN I LOVE THIS FEATURE and also it shows a path. 4. 403 warning error Now, when the server answers with 403 error, for example starlink that i have some problems with, programm just skips it. 5.Camera lock in on both pages Self explainatory Plans The most important one: i might delete the starlink satellites. They just dont appear most of the time because of the server, so better drop tham so i didnt have any problems when i ship the project. Apart from that, i the only thing thats left is to add that cool style i wanted hell yeah. Thank you all if you made it so far! Sya on the next one
I IMAGINED, I PROGRAMMED, I CONQUERED. The Satellite tracker might just be done! Changes!! 1. VISUALS holy hell it was harder than i expected but i made it. so i added stars, cool buttons, cool font, and allat. I am really proud of this work, because it looks really cool now 2. Loading Screen now this one is so cool, i really like how it turned out and it was pretty easy to make it. But i was honestly so tired at that point that i just wrote the first stuff that came into my mind. but i still think it turned out cool. 3. A lot of warnings! Now, for debugging, and just for sole purpose of a user, i added warnings, so when celestrack is not fetching because of extended use or its own problems (like with starlink sometimes) it just warns u and skips it. If you have reached your IP request limit to celestrack, then you will just have a longer running of loading screen and a message that you can see on the photo. (i have it because i have refreshed the page too much) AI Declaration Now in this devlog i want to also sum up how i used ai. So the sole purpose of his project was for me to learn JS, and this project was really hard for me, so i used AI of course. Mainly i used it so it gave me the general idea of the code that i should have for my ideas, and then i changed it and shaped it so that it turned out the way it did now. Also it helped me with complex tasks, like visible satellites and all the complex stuff, and, of course, debugging. But i still did it myself, and apart from doing this i was also doing a 12 hour course on JS by BroCode, shoutout to him btw! Final thoughts Well, this project was cool but waaaay harder than i expected, thats why i had to use ai. This will definitely help me in my further projects, and i am really proud of the final version. This taught me a lot, and i shure am happy to continue my journey as an engineer (i wanna be a hardware one, but for stardance its just way easier to star with software for me, so might as well learn programming too.). This is also my final project for stardance, and i am really happy. Thank you to everyone who supported me on this project, 100+ views consistently is crazy! See you somewhere in the world, the real world…
Ships:
Hi everyone! I made a project called “SatelliteTracker”. So this is a cool app that tracks satellites real time built on JS and Globe.jl The project shows different satellites (not all of them, because otherwise there would be around 10 000 of them), and also can show you visible satellites based on the location you picked. The most challenging part was making it lol. The whole purpose of this project for me was to learn JS, which i for shure did, but anyways it was soo overwhelming. I am really proud of how it turned out, it looks super good, and i am proud that i commited with my idea, because now i get to show everyone this project to get a reaction like: “Yoo thats so cool!”. Apart from the jokes, i am really proud to have learned a new language and to have come out of my comfort zone. Things you should know-Starlink satellites dont always load! And also i made warnings in the console so you could see what works and what doesnt. Also, please dont refresh the page too often, otherwise celestrack will stop accepting yo requests…and you will have a looser window, you dont want that! Thank you everyone, enjoy!...
|
1793005056.084455
|
1793091456.084455
|
|
60947
|
Hack Club Mobile by @pauljako | Stardance
|
pauljako
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T19:25:26Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Hack Club Mobile! It is a phone App for Stardance. The most difficult part was probably trying to make it more interactive, as almost all POST-Request require and authenticity_token. I eventually gave up on that. Hack Club Mobile can browse the Stardance Feed so you can discover cool new projects! It is written in native Kotlin Multiplatform making it completely native on Android while still keeping iOS functionality. I was already familiar with this framework so the UI-Part was actually quite easy (except the Infinite-Scrolling, I never done that before.) I really want to continue this but sadly, Stardance is ending soon. I just started to late :c", "repo": "https://codeberg.org/pauljako/hackclub-mobile", "demo": "https://codeberg.org/pauljako/hackclub-mobile/releases/download/v1.0/androidApp-release.apk"}]...
|
[{"post_id": 71916, "ts": "202 [{"post_id": 71916, "ts": "2026-09-21T19:20:26Z", "hours": 0.77, "text": "I added a README and done some small changes before shipping. I did not come up with a logo though so the Default Android one should be enough for now… I have a lot more Ideas but sadly, Stardance is ending soon…"}, {"post_id": 70497, "ts": "2026-09-19T08:55:30Z", "hours": 0.4789, "text": "I added iOS-Support! The Share-Sheet behaves a bit weirdly and only worked in the iOS Simulator. Hopefully it will work on real devices but I only have an iPad to test with. The IPA is also unsigned because there is no world where I will pay Apple 100€ every year! But yeah, it works well enough…"}, {"post_id": 70248, "ts": "2026-09-18T19:59:13Z", "hours": 1.9478, "text": "Various small changes have been made. The Project View now has a back button and stats and Devlogs now have a Share button! The most time however, was spent on figuring out rememberSaveable() . It is a Composable that saves its state across reloads, such as when going back or when rotating the Screen. Not having to load the Feed again when going back from a project is a lot smoother and looks better. However, I had quite some trouble with the Saver. I ended up just wrapping stuff inside a list, as that appeared to work. However, the App now crashes completely when closing it (or turning off the screen)…"}, {"post_id": 69717, "ts": "2026-09-17T17:15:39Z", "hours": 2.4128, "text": "Okay, didn’t Devlog in a while. I first added the Like-Count at the bottom of a Devlog. It worked quite well! But when I tried to actually make it interactable, I failed miserably. For some reason, Stardance requires an authenticity_token on POST-Requests which is just inside the HTML as well. While I could have probably just acquired that as well, I just felt too dumb. Who thought, that this would solve any kind of Security-Problem? It is not comparable to a CAPTCHA! Anyways, I now started on implementing a Project-Screen which is already looking pretty okay! (I just used the same Feed-View as from the other Parts, lol)"}, {"post_id": 68113, "ts": "2026-09-14T15:15:03Z", "hours": 1.3081, "text": "I added Tabs on the Explore Page and Statistics on the User Account Page. I am not quite sure, if I like the Fact, that the Tabs are a bit overloaded and the “Following” Text is wrapped into a new line. But that is of course dependent on the Screen Size. Same with the Facts on the Account Page: I originally also wanted to show the Follower/Following Count there but that ended up being too much. I am, however, quite happy about this layout! Next Objective is bringing more Interactivity: Liking Posts, seeing Comments etc."}, {"post_id": 67312, "ts": "2026-09-13T11:48:29Z", "hours": 0.3417, "text": "I tried adding Browser support but it doesn’t really work. Stardance does not do CORS correctly so I first had to build a custom Proxy for it (which means that Rate-Limits will be reached much faster). After that, I noticed that Images would still not load because I would somehow need to rewrite the src Attribute. Additionally, logging in is not possible because I can’t really set the Cookie Header… Yeah, I am going to leave this as is…"}, {"post_id": 67237, "ts": "2026-09-13T09:18:10Z", "hours": 3.3825, "text": "I have implemented an Account Page! The Design, especially the Padding still has to be refined but I like the general layout of it! Unfortunately, I did not find a better way for the User to authenticate than pasting a Cookie inside the App. This is not very User-Friendly but for now should(tm) work…"}, {"post_id": 66206, "ts": "2026-09-11T21:45:11Z", "hours": 2.58, "text": "Quite a few changes have been made. First: I am now using the MultiplatformMaterialYou -Library to theme the App. This will make it sync to your System Theme on both iOS and Android and even to your Wallpaper Colors on Android 12+. Second: Images now render thanks to Coil. Sometimes they are a bit too big though… And not to forget: Authentication theoretically works as well now! There is just no UI for it yet…"}, {"post_id": 65960, "ts": "2026-09-11T13:32:27Z", "hours": 1.3928, "text": "We can now display a very basic Version of the Feed with Infinite Scrolling! This took longer than I wanted because the way Compose works can often be really confusing. It is very hacky because I just load more when the LazyColumn requests it… Anyways, Rendering Images and Authentication will be the next goals…"}, {"post_id": 65877, "ts": "2026-09-11T09:56:07Z", "hours": 1.1383, "text": "I am building Hack Club Mobile, a Smartphone App for Stardance (and hopefully other YSWS’s in the future). When I first had the Idea of creating this, I thought: “Oh yeah, should be easy. Just call some JSON APIs and you’re done.” Oh how wrong I was. These stupid c***kheads from Hack Club who cant write a Single line of working Code use HTML Templating. Making it very hard to build stuff like this. Thankfully I found ksoup which allows me to parse HTML in Kotlin. Speaking of Kotlin: I am building this App with Kotlin Multiplatform and Kotlin Compose. This will make the App work and look native on Android and also work (maybe not as good though) on iOS. I am already quite familiar with it as I build multiple Apps using it. Lets just hope I don’t give up this early because I think it could get really useful… For now, the Focus is on viewing the Feed (what you see in the Stardance Home-Tab) which already works… kinda… somewhat…"}]...
|
Title: Hack Club Mobile by @pauljako | Stardance
Title: Hack Club Mobile by @pauljako | Stardance
Devlogs:
I am building Hack Club Mobile, a Smartphone App for Stardance (and hopefully other YSWS’s in the future). When I first had the Idea of creating this, I thought: “Oh yeah, should be easy. Just call some JSON APIs and you’re done.” Oh how wrong I was. These stupid c***kheads from Hack Club who cant write a Single line of working Code use HTML Templating. Making it very hard to build stuff like this. Thankfully I found ksoup which allows me to parse HTML in Kotlin. Speaking of Kotlin: I am building this App with Kotlin Multiplatform and Kotlin Compose. This will make the App work and look native on Android and also work (maybe not as good though) on iOS. I am already quite familiar with it as I build multiple Apps using it. Lets just hope I don’t give up this early because I think it could get really useful… For now, the Focus is on viewing the Feed (what you see in the Stardance Home-Tab) which already works… kinda… somewhat…
We can now display a very basic Version of the Feed with Infinite Scrolling! This took longer than I wanted because the way Compose works can often be really confusing. It is very hacky because I just load more when the LazyColumn requests it… Anyways, Rendering Images and Authentication will be the next goals…
Quite a few changes have been made. First: I am now using the MultiplatformMaterialYou -Library to theme the App. This will make it sync to your System Theme on both iOS and Android and even to your Wallpaper Colors on Android 12+. Second: Images now render thanks to Coil. Sometimes they are a bit too big though… And not to forget: Authentication theoretically works as well now! There is just no UI for it yet…
I have implemented an Account Page! The Design, especially the Padding still has to be refined but I like the general layout of it! Unfortunately, I did not find a better way for the User to authenticate than pasting a Cookie inside the App. This is not very User-Friendly but for now should(tm) work…
I tried adding Browser support but it doesn’t really work. Stardance does not do CORS correctly so I first had to build a custom Proxy for it (which means that Rate-Limits will be reached much faster). After that, I noticed that Images would still not load because I would somehow need to rewrite the src Attribute. Additionally, logging in is not possible because I can’t really set the Cookie Header… Yeah, I am going to leave this as is…
I added Tabs on the Explore Page and Statistics on the User Account Page. I am not quite sure, if I like the Fact, that the Tabs are a bit overloaded and the “Following” Text is wrapped into a new line. But that is of course dependent on the Screen Size. Same with the Facts on the Account Page: I originally also wanted to show the Follower/Following Count there but that ended up being too much. I am, however, quite happy about this layout! Next Objective is bringing more Interactivity: Liking Posts, seeing Comments etc.
Okay, didn’t Devlog in a while. I first added the Like-Count at the bottom of a Devlog. It worked quite well! But when I tried to actually make it interactable, I failed miserably. For some reason, Stardance requires an authenticity_token on POST-Requests which is just inside the HTML as well. While I could have probably just acquired that as well, I just felt too dumb. Who thought, that this would solve any kind of Security-Problem? It is not comparable to a CAPTCHA! Anyways, I now started on implementing a Project-Screen which is already looking pretty okay! (I just used the same Feed-View as from the other Parts, lol)
Various small changes have been made. The Project View now has a back button and stats and Devlogs now have a Share button! The most time however, was spent on figuring out rememberSaveable() . It is a Composable that saves its state across reloads, such as when going back or when rotating the Screen. Not having to load the Feed again when going back from a project is a lot smoother and looks better. However, I had quite some trouble with the Saver. I ended up just wrapping stuff inside a list, as that appeared to work. However, the App now crashes completely when closing it (or turning off the screen)…
I added iOS-Support! The Share-Sheet behaves a bit weirdly and only worked in the iOS Simulator. Hopefully it will work on real devices but I only have an iPad to test with. The IPA is also unsigned because there is no world where I will pay Apple 100€ every year! But yeah, it works well enough…
I added a README and done some small changes before shipping. I did not come up with a logo though so the Default Android one should be enough for now… I have a lot more Ideas but sadly, Stardance is ending soon…
Ships:
I made Hack Club Mobile! It is a phone App for Stardance. The most difficult part was probably trying to make it more interactive, as almost all POST-Request require and authenticity_token. I eventually gave up on that. Hack Club Mobile can browse the Stardance Feed so you can discover cool new projects! It is written in native Kotlin Multiplatform making it completely native on Android while still keeping iOS functionality. I was already familiar with this framework so the UI-Part was actually quite easy (except the Infinite-Scrolling, I never done that before.) I really want to continue this but sadly, Stardance is ending soon. I just started to late :c...
|
1793055278.0968266
|
1793141678.0968266
|
|
35569
|
Vinland Saga OS by @AriDev24 | Stardance
|
AriDev24
|
2
|
28.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T18:50:08Z", "hours": 3.0, "multiplier": 5.24, "payout": 15, "blessing": "neutral", "text": "(Vinland Saga OS v0.6) is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own. This is my WebOS 2 so in this WebOS 2 version i added and improved many things : The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…", "repo": "https://github.com/aridev24/Vinland-Saga-OS", "demo": "https://vinland-saga-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-20T20:13:22Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Vinland Saga OS is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own without AI, yea but i will be honest with you: there was a lil hidden bug in some 2 lines of JS, I tried my best to debug but at the end i asked copilot to tell me why this code is not working and it told me, the lines were swapped with each other, so then I debugged it.", "repo": "https://github.com/aridev24/Vinland-Saga-OS", "demo": "https://vinland-saga-os.vercel.app/"}]...
|
[{"post_id": 71889, "ts": "202 [{"post_id": 71889, "ts": "2026-09-21T18:19:14Z", "hours": 2.8381, "text": "(Vinland Saga OS v0.7) Added 4 new features. Today, in this, i added many new features to enhance the user experience, The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…"}, {"post_id": 71191, "ts": "2026-09-20T12:42:32Z", "hours": 1.2247, "text": "(Vinland Saga OS v0.6) Final polish has been completed and now i am finally shipping it. In the final polish i added Vikings Norse symbols to the OS and added more images to the gallery. Finding and editing the Norse symbols to match the theme took me too much time. Soo tell if something can be improved. BTW I’m going to ship it…😄"}, {"post_id": 70534, "ts": "2026-09-19T10:19:21Z", "hours": 8.4975, "text": "Finally Its Time To ship (Vinland Saga OS v0.5) Completed This Time i added many new features like opening and closing the windows/Apps, Actually my app are like widgets on screen, i also a pre loading screen, added more images to gallery and made a new beautiful clock widget. Now Its time for Just a final polish and Doneee…"}, {"post_id": 69306, "ts": "2026-09-16T19:31:34Z", "hours": 3.6294, "text": "Late Night New Features Update to Vinland Saga OS Today before adding new feature i thought to modify theme colors because they were looking boring so first i change the color, and then i started to add more features to my OS but i dont have any new feature idea after searching and thinking here and there i thought to add a song and a gallery, so first i downloaded a Vinland Saga opening song and some images stolen from Pinterest 😅, and start building the features and here the results are in front of you…(Please let me know I you like it😥) Now tomorrow i will add more features"}, {"post_id": 68762, "ts": "2026-09-15T18:14:07Z", "hours": 5.0728, "text": "Sooo… Finally New Features Added To Vinland Saga OS the most dangerous part was literally JavaScript 😭 Added a Side bar for apps icon and add a image at the top of it to make it look badass. Add a Quick Notes App that took me two Daaays because to make it draggable, open and close using java script ( Its my fist time of using Java script 😭) Still Adding new Apps and features 😉 (oh and also added a custom knife cursor but you cant see it in the screenshot)"}, {"post_id": 67937, "ts": "2026-09-14T07:59:02Z", "hours": 2.8878, "text": "Oh Finally now its far better than before after searching hours i found a perfect background for my OS, and i also changed the background color and text color of the pannels to make it look much better and match the theme. The most difficult part was choosing the theme color that will look perfect with the background and ancient theme, currently its not haiving much features but soon it will look greate with useful features (Maybe😅) oh and i fogot to tell that i also make some windows movable anywhere on screen"}, {"post_id": 67291, "ts": "2026-09-13T11:20:26Z", "hours": 3.7989, "text": "A Gift For Anime Fans, Building a Vinland Saga Web-Based OS"}]...
|
Title: Vinland Saga OS by @AriDev24 | Stardance
D Title: Vinland Saga OS by @AriDev24 | Stardance
Devlogs:
A Gift For Anime Fans, Building a Vinland Saga Web-Based OS
Oh Finally now its far better than before after searching hours i found a perfect background for my OS, and i also changed the background color and text color of the pannels to make it look much better and match the theme. The most difficult part was choosing the theme color that will look perfect with the background and ancient theme, currently its not haiving much features but soon it will look greate with useful features (Maybe😅) oh and i fogot to tell that i also make some windows movable anywhere on screen
Sooo… Finally New Features Added To Vinland Saga OS the most dangerous part was literally JavaScript 😭 Added a Side bar for apps icon and add a image at the top of it to make it look badass. Add a Quick Notes App that took me two Daaays because to make it draggable, open and close using java script ( Its my fist time of using Java script 😭) Still Adding new Apps and features 😉 (oh and also added a custom knife cursor but you cant see it in the screenshot)
Late Night New Features Update to Vinland Saga OS Today before adding new feature i thought to modify theme colors because they were looking boring so first i change the color, and then i started to add more features to my OS but i dont have any new feature idea after searching and thinking here and there i thought to add a song and a gallery, so first i downloaded a Vinland Saga opening song and some images stolen from Pinterest 😅, and start building the features and here the results are in front of you…(Please let me know I you like it😥) Now tomorrow i will add more features
Finally Its Time To ship (Vinland Saga OS v0.5) Completed This Time i added many new features like opening and closing the windows/Apps, Actually my app are like widgets on screen, i also a pre loading screen, added more images to gallery and made a new beautiful clock widget. Now Its time for Just a final polish and Doneee…
(Vinland Saga OS v0.6) Final polish has been completed and now i am finally shipping it. In the final polish i added Vikings Norse symbols to the OS and added more images to the gallery. Finding and editing the Norse symbols to match the theme took me too much time. Soo tell if something can be improved. BTW I’m going to ship it…😄
(Vinland Saga OS v0.7) Added 4 new features. Today, in this, i added many new features to enhance the user experience, The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…
Ships:
Vinland Saga OS is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own without AI, yea but i will be honest with you: there was a lil hidden bug in some 2 lines of JS, I tried my best to debug but at the end i asked copilot to tell me why this code is not working and it told me, the lines were swapped with each other, so then I debugged it.
(Vinland Saga OS v0.6) is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own. This is my WebOS 2 so in this WebOS 2 version i added and improved many things : The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…...
|
1793004742.4805794
|
1793091142.4805794
|
|
64375
|
Ian's personal website! by @ianl | Stardance
|
ianl
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T18:24:22Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I took some time to make a personal website that is 90’s-themed. It includes things like my favorite things, contact information, about me, and a photo gallery with photos from many different places I have been.", "repo": "https://github.com/ilaws/ians-personal-website", "demo": "https://ianlawson.ourdevbox.site"}]...
|
[{"post_id": 71878, "ts": "202 [{"post_id": 71878, "ts": "2026-09-21T18:02:43Z", "hours": 0.8739, "text": "Just finished the gallery, and I am now ready to ship! I am really glad that I got to work on this project."}, {"post_id": 71680, "ts": "2026-09-21T09:28:31Z", "hours": 0.4192, "text": "Just added a likes page. I put my inspirations here. I think it’s nice, and also difficult, to list out the people who have put me where I am today."}, {"post_id": 71674, "ts": "2026-09-21T08:58:27Z", "hours": 0.94, "text": "I have really enjoyed working on this. I am just now adding content, but I find it really enjoyable to work on something of my own. I am trying to make it 90s themed."}]...
|
Title: Ian's personal website! by @ianl | Star Title: Ian's personal website! by @ianl | Stardance
Devlogs:
I have really enjoyed working on this. I am just now adding content, but I find it really enjoyable to work on something of my own. I am trying to make it 90s themed.
Just added a likes page. I put my inspirations here. I think it’s nice, and also difficult, to list out the people who have put me where I am today.
Just finished the gallery, and I am now ready to ship! I am really glad that I got to work on this project.
Ships:
I took some time to make a personal website that is 90’s-themed. It includes things like my favorite things, contact information, about me, and a photo gallery with photos from many different places I have been....
|
1792965066.935737
|
1793051466.935737
|
|
5020
|
FLOWS by @UntitledMacaw | Stardance
|
UntitledMacaw
|
1
|
34.44
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T18:21:49Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is FLOWS. It is a program that takes in terrain data and water infiltration data and finds bowl-like depressions (or simply “basins”). Why is that useful: for each basin, water-height doesn’t change (for the same rainfall). This means we can pre-calculate various rainfall scenarios and store their results, so we can have a simple and quick way of estimating flood risk. Compilation was also made focusing on lower-end hardware, were we avoid feeding the entire data into the RAM, and instead partition the dataset in smart ways so we can make it all fit within our constrains!", "repo": "https://github.com/UntitledMacaw/FLOWS", "demo": "https://github.com/UntitledMacaw/FLOWS/releases/tag/Beta"}]...
|
[{"post_id": 79403, "ts": "202 [{"post_id": 79403, "ts": "2026-10-13T20:29:07Z", "hours": 0.9344, "text": "Alright, so new changes! Today I tried to make a DEMO for my project! Since the user is originally intended to provided topological files (that for demonstration purposes may not be available), I have also packaged inside the .sh file a DEMO version, that has its own very small dataset, so everyone can see the project in action even without the needed files."}, {"post_id": 77692, "ts": "2026-10-07T22:54:32Z", "hours": 0.6186, "text": "Another day and guess what: another feature! I added a new function to the code that takes in a “starting point” for basin compilation. What this does is, given a starting point integer provided by the user (call it S), it skips all basins with an ID lower than S. This is good ’cuz we can stop the code with control + C and later keep on where we left by choosing our last compiled basin as our starting point! I probably should have done this a long time ago instead of right know when I actually needed it, but hey: Better late than never am i right?"}, {"post_id": 74665, "ts": "2026-09-27T22:24:01Z", "hours": 2.655, "text": "YEEEEAAAAH! I decided to try and create an executable for my script, and boy was hard. The problem was that major libraries like gdal and whitebox required a bunch of other system libraries to work. This means I had to try to get them into the executable, and let me tell ya: This took a lot of time. But finally, it works (i hope)! I will be posting the executable (linux only of course) on github later!"}, {"post_id": 74018, "ts": "2026-09-26T15:19:42Z", "hours": 1.2344, "text": "Update on compilation: Well, a lot of stuff happened. I can’t really keep my computer running non stop all day and night, so I was resorting to suspending the laptop so runtime would keep frozen in RAM. But today, after a week of running the program and almost halfway left, I woke up to find the computer out of battery (probably it kept running in suspend mode and just died). That was quite devastating, but the only thing I could do was to update my code with checkpoints so that if that happens again, I won’t need to run everything again like I’m about to do now. I took that chance to also fix some typos in my README and my github pages, so I guess I got something good out of this!"}, {"post_id": 71782, "ts": "2026-09-21T15:16:55Z", "hours": 5.7964, "text": "Making some minor changes so my github before posting my project!"}, {"post_id": 63759, "ts": "2026-09-07T18:33:58Z", "hours": 8.0975, "text": "Finally able to find bowl-like depressions now"}, {"post_id": 40144, "ts": "2026-08-03T15:27:42Z", "hours": 9.9969, "text": "Writing a pdf devlog for my project!"}, {"post_id": 36462, "ts": "2026-07-28T16:19:12Z", "hours": 4.8508, "text": "Just discovered this nice tool called WhiteBoxTools, and was also able to find its user manual! Now I won’t need to process terrain from scratch, and instead get I can all the data I’m looking for without reinventing the wheel."}, {"post_id": 878, "ts": "2026-06-02T16:27:54Z", "hours": 0.3542, "text": "Figured out how to read a digital elevation model with python"}]...
|
Title: FLOWS by @UntitledMacaw | Stardance
Devlog Title: FLOWS by @UntitledMacaw | Stardance
Devlogs:
Figured out how to read a digital elevation model with python
Just discovered this nice tool called WhiteBoxTools, and was also able to find its user manual! Now I won’t need to process terrain from scratch, and instead get I can all the data I’m looking for without reinventing the wheel.
Writing a pdf devlog for my project!
Finally able to find bowl-like depressions now
Making some minor changes so my github before posting my project!
Update on compilation: Well, a lot of stuff happened. I can’t really keep my computer running non stop all day and night, so I was resorting to suspending the laptop so runtime would keep frozen in RAM. But today, after a week of running the program and almost halfway left, I woke up to find the computer out of battery (probably it kept running in suspend mode and just died). That was quite devastating, but the only thing I could do was to update my code with checkpoints so that if that happens again, I won’t need to run everything again like I’m about to do now. I took that chance to also fix some typos in my README and my github pages, so I guess I got something good out of this!
YEEEEAAAAH! I decided to try and create an executable for my script, and boy was hard. The problem was that major libraries like gdal and whitebox required a bunch of other system libraries to work. This means I had to try to get them into the executable, and let me tell ya: This took a lot of time. But finally, it works (i hope)! I will be posting the executable (linux only of course) on github later!
Another day and guess what: another feature! I added a new function to the code that takes in a “starting point” for basin compilation. What this does is, given a starting point integer provided by the user (call it S), it skips all basins with an ID lower than S. This is good ’cuz we can stop the code with control + C and later keep on where we left by choosing our last compiled basin as our starting point! I probably should have done this a long time ago instead of right know when I actually needed it, but hey: Better late than never am i right?
Alright, so new changes! Today I tried to make a DEMO for my project! Since the user is originally intended to provided topological files (that for demonstration purposes may not be available), I have also packaged inside the .sh file a DEMO version, that has its own very small dataset, so everyone can see the project in action even without the needed files.
Ships:
This is FLOWS. It is a program that takes in terrain data and water infiltration data and finds bowl-like depressions (or simply “basins”). Why is that useful: for each basin, water-height doesn’t change (for the same rainfall). This means we can pre-calculate various rainfall scenarios and store their results, so we can have a simple and quick way of estimating flood risk. Compilation was also made focusing on lower-end hardware, were we avoid feeding the entire data into the RAM, and instead partition the dataset in smart ways so we can make it all fit within our constrains!...
|
1793004578.6615663
|
1793090978.6615663
|
|
56827
|
Making my old 2015 laptop not suck (it has windows Making my old 2015 laptop not suck (it has windows 8...) by @mateiang169 | Stardance...
|
mateiang169
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T17:59:42Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I revived my old 2015 laptop that was stuck on Windows 8 and super slow! I fully disassembled and cleaned the hardware, replaced the dry thermal paste, wiped the drive, and installed a fresh copy of Windows 11 with all the necessary drivers and software. The most challenging part was dealing with repeated Rufus crashes while creating the bootable USB drive, as well as carefully taking apart the laptop without damaging any internal components. I’m really proud of taking a completely unusable machine and optimizing it into a fast, functional laptop that can now handle tasks and apps that were impossible on old Windows 8. What you should know if you want to try this project: Anyone can do this, and I highly recommend it! Unless your PC is way too ancient, this is a fantastic beginner-friendly project. It teaches you so much about electronics, hardware maintenance, operating systems, and software setup. It’s super fun and satisfying to take an old, sluggish laptop and transform it into a clean, fast machine!", "repo": "https://github.com/mateiang169-create/2015-laptop-upgrade", "demo": ""}]...
|
[{"post_id": 61604, "ts": "202 [{"post_id": 61604, "ts": "2026-09-04T16:19:46Z", "hours": 5.8817, "text": "So today i installed the necessary like drivers, gpu drivers and steam. And i will keep making my laptop better by optimising it as much as possible."}, {"post_id": 59658, "ts": "2026-09-01T16:00:09Z", "hours": 1.6431, "text": "So today i just started a new project in which i am trying to make my old laptop not suck by putting windows 11 on it (it had windows 8 on it…), optimizing it and trying after to game on it. Btw it has an intel core i5 4000U, a GTX 820M 1gb vram and 8 gigs of ddr3."}]...
|
Title: Making my old 2015 laptop not suck (it has Title: Making my old 2015 laptop not suck (it has windows 8...) by @mateiang169 | Stardance
Devlogs:
So today i just started a new project in which i am trying to make my old laptop not suck by putting windows 11 on it (it had windows 8 on it…), optimizing it and trying after to game on it. Btw it has an intel core i5 4000U, a GTX 820M 1gb vram and 8 gigs of ddr3.
So today i installed the necessary like drivers, gpu drivers and steam. And i will keep making my laptop better by optimising it as much as possible.
Ships:
I revived my old 2015 laptop that was stuck on Windows 8 and super slow! I fully disassembled and cleaned the hardware, replaced the dry thermal paste, wiped the drive, and installed a fresh copy of Windows 11 with all the necessary drivers and software. The most challenging part was dealing with repeated Rufus crashes while creating the bootable USB drive, as well as carefully taking apart the laptop without damaging any internal components. I’m really proud of taking a completely unusable machine and optimizing it into a fast, functional laptop that can now handle tasks and apps that were impossible on old Windows 8. What you should know if you want to try this project: Anyone can do this, and I highly recommend it! Unless your PC is way too ancient, this is a fantastic beginner-friendly project. It teaches you so much about electronics, hardware maintenance, operating systems, and software setup. It’s super fun and satisfying to take an old, sluggish laptop and transform it into a clean, fast machine!...
|
1793004908.270505
|
1793091308.270505
|
|
63774
|
Griddle Slack Bot by @waffles888 | Stardance
|
waffles888
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T17:54:41Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Making my bot was challenging as it uses javascript, which isn’t something that I am familiar with, I will say the guide helped a lot as well as researching how to do different things online. Overall im proud of the entire project and that I completed it as it seems like a more daunting task than it fully is.", "repo": "https://github.com/waffles-888/Griddle-slack-bot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0C3933C8JH"}]...
|
[{"post_id": 71858, "ts": "202 [{"post_id": 71858, "ts": "2026-09-21T17:41:51Z", "hours": 1.2847, "text": "Devlog 2 - griddle bot I finished the bot, I added some extra commands than just the ping command such as the ability to see when star dance ends (its a rough guess but it should be around right) and some other commands that people can use. The final thing to do is host it so its available 24/7 and ship."}, {"post_id": 71459, "ts": "2026-09-20T21:20:59Z", "hours": 0.8592, "text": "Devlog 1 - The Base I started this project not knowing where to start however the guide really helped, I got the bot to respond to commands inside of slack and overall its doing basic things like responding to ping commands and such."}]...
|
Title: Griddle Slack Bot by @waffles888 | Stardanc Title: Griddle Slack Bot by @waffles888 | Stardance
Devlogs:
Devlog 1 - The Base I started this project not knowing where to start however the guide really helped, I got the bot to respond to commands inside of slack and overall its doing basic things like responding to ping commands and such.
Devlog 2 - griddle bot I finished the bot, I added some extra commands than just the ping command such as the ability to see when star dance ends (its a rough guess but it should be around right) and some other commands that people can use. The final thing to do is host it so its available 24/7 and ship.
Ships:
Making my bot was challenging as it uses javascript, which isn’t something that I am familiar with, I will say the guide helped a lot as well as researching how to do different things online. Overall im proud of the entire project and that I completed it as it seems like a more daunting task than it fully is....
|
1792965015.27795
|
1793051415.27795
|
|
55548
|
Aplós by @Gabs | Stardance
|
Gabs
|
1
|
10.0
|
96
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T17:40:35Z", "hours": 10.0, "multiplier": 9.78, "payout": 96, "blessing": "neutral", "text": "I have decided to ship right now the brand new version of Aplós 4.0.0! It’s a complete rewrite from the old VitePress base to the new Steno base. While doing this migration, I’ve also decided to do a few visual changes, for example, creating a dynamic island, many more animations, and more modern and professional color systems. The package is now ready to install on JSR: https://jsr.io/@gabs/aplos !!", "repo": "https://github.com/aplosdev/aplos", "demo": "https://aplos.gxbs.dev"}]...
|
[{"post_id": 71854, "ts": "202 [{"post_id": 71854, "ts": "2026-09-21T17:36:17Z", "hours": 0.5839, "text": "Fixed a few small issues around the codebase to make sure it’s ready for release. Also bumped it to the newer version of Steno from 0.12 to 0.13; along side other dependency packages."}, {"post_id": 66507, "ts": "2026-09-12T10:46:47Z", "hours": 9.2353, "text": "Redesigned and ported to Steno! As mentioned, initially, Aplos was a theme for VitePress. For a while, I wanted to port it to my personal SSG, Steno. While doing so, I’ve made significant changes to the design, making it much more “modern” and featuring a dynamic navigation island, as seen. I’ve also worked on several animations for the island, so I hope it looks nice!!"}]...
|
Title: Aplós by @Gabs | Stardance
Devlogs:
Redesi Title: Aplós by @Gabs | Stardance
Devlogs:
Redesigned and ported to Steno! As mentioned, initially, Aplos was a theme for VitePress. For a while, I wanted to port it to my personal SSG, Steno. While doing so, I’ve made significant changes to the design, making it much more “modern” and featuring a dynamic navigation island, as seen. I’ve also worked on several animations for the island, so I hope it looks nice!!
Fixed a few small issues around the codebase to make sure it’s ready for release. Also bumped it to the newer version of Steno from 0.12 to 0.13; along side other dependency packages.
Ships:
I have decided to ship right now the brand new version of Aplós 4.0.0! It’s a complete rewrite from the old VitePress base to the new Steno base. While doing this migration, I’ve also decided to do a few visual changes, for example, creating a dynamic island, many more animations, and more modern and professional color systems. The package is now ready to install on JSR: https://jsr.io/@gabs/aplos !!...
|
1793004478.6680136
|
1793090878.6680136
|
|
64510
|
nasa-astro-image by @ArHIM | Stardance
|
ArHIM
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T17:20:00Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I basically just followed the guide. It was simple, but what I made turned out very nice, and I loved it. I’ll work on it over time, but for now this is it. Basically, it uses the NASA API to get NASA-related images from a certain day. Cool UI, very basic though. I’ll work on it, as I said!", "repo": "https://github.com/ArhamBafna/nasa-astro-image", "demo": "https://arhambafna.github.io/nasa-astro-image/"}]...
|
[{"post_id": 71833, "ts": "202 [{"post_id": 71833, "ts": "2026-09-21T16:54:52Z", "hours": 0.3008, "text": "okay, finally ready to ship. made readme + worked on it cleaned it made it nice etc. big deal polished small changes or things that bugged me made sure it met all project reqs. and now, I submit"}, {"post_id": 71817, "ts": "2026-09-21T16:35:41Z", "hours": 0.2594, "text": "It actually workssss lets goooo!!! (But the thing is turns out hackatime wasn’t counting time for the most of the time I worked. BROOOOO. Anyways, I figured and fixed it but most of the work was done by then… ) After a good amount of working, exploring, and js having fun, it works. The site uses the api to get today’s picture + title + explanation. I also added a date picker to look at past ones (but the user interactions for that is not the best :( WILL WORK ON IT THO!). made the max date to today so people cant pick future dates. The hardest part was different data formats. NASA posts a yt video instead of an image. It broke so I needed to fix it. I added a check to check for that. Then it matches and works w the appropriate type of image/vid/yt. Then I spent some time on the styling. Following the guide, I made it dark purple theme, added fonts, made these zig zag kinda neon pink borders on the sides. On desktop/website it looks great. Phone… i have no idea. It all works. Finally! Its ready to ship after I add a quick readme. But I’ll surely make some changes after that."}, {"post_id": 71794, "ts": "2026-09-21T15:53:07Z", "hours": 0.3192, "text": "Im heavily following the guide, so this might seem like boring. But im leaning and making progres… Quick one: cleaned out default template files and icons that came with Vite. I also set up GitHub Actions. it auto-deploys to GitHub Pages whenever I push to main which is pretty cool tbh. Now we actually start writing code. cant wait! or can i?"}, {"post_id": 71786, "ts": "2026-09-21T15:31:56Z", "hours": 0.3519, "text": "This is the start of my project for the ‘Give Your Website a Pulse’ mission. The mission itself seems very interesting to me tbh. I set it up using vite and vanilla JavaScript. Also, created Git repo and made first commit. It works locally!! Yayyy I also got the NASA api and now Im looking forward to building this lets gooo"}]...
|
Title: nasa-astro-image by @ArHIM | Stardance
Dev Title: nasa-astro-image by @ArHIM | Stardance
Devlogs:
This is the start of my project for the ‘Give Your Website a Pulse’ mission. The mission itself seems very interesting to me tbh. I set it up using vite and vanilla JavaScript. Also, created Git repo and made first commit. It works locally!! Yayyy I also got the NASA api and now Im looking forward to building this lets gooo
Im heavily following the guide, so this might seem like boring. But im leaning and making progres… Quick one: cleaned out default template files and icons that came with Vite. I also set up GitHub Actions. it auto-deploys to GitHub Pages whenever I push to main which is pretty cool tbh. Now we actually start writing code. cant wait! or can i?
It actually workssss lets goooo!!! (But the thing is turns out hackatime wasn’t counting time for the most of the time I worked. BROOOOO. Anyways, I figured and fixed it but most of the work was done by then… ) After a good amount of working, exploring, and js having fun, it works. The site uses the api to get today’s picture + title + explanation. I also added a date picker to look at past ones (but the user interactions for that is not the best :( WILL WORK ON IT THO!). made the max date to today so people cant pick future dates. The hardest part was different data formats. NASA posts a yt video instead of an image. It broke so I needed to fix it. I added a check to check for that. Then it matches and works w the appropriate type of image/vid/yt. Then I spent some time on the styling. Following the guide, I made it dark purple theme, added fonts, made these zig zag kinda neon pink borders on the sides. On desktop/website it looks great. Phone… i have no idea. It all works. Finally! Its ready to ship after I add a quick readme. But I’ll surely make some changes after that.
okay, finally ready to ship. made readme + worked on it cleaned it made it nice etc. big deal polished small changes or things that bugged me made sure it met all project reqs. and now, I submit
Ships:
I basically just followed the guide. It was simple, but what I made turned out very nice, and I loved it. I’ll work on it over time, but for now this is it. Basically, it uses the NASA API to get NASA-related images from a certain day. Cool UI, very basic though. I’ll work on it, as I said!...
|
1792965085.8211987
|
1793051485.8211987
|
|
63417
|
NightAngel WebPer by @nightangle | Stardance
|
nightangle
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T16:54:58Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have maked my first personal website and aslo i have deployed it and also i have fascec challenges like i was not able to think for any creative idea for website so i use AI To Give me idea and my website is not that perfect for now but it’s good for now", "repo": "https://github.com/ayushpalg46/NightAngel-WebPer", "demo": "https://nightangel-webper.onrender.com"}]...
|
[{"post_id": 71829, "ts": "202 [{"post_id": 71829, "ts": "2026-09-21T16:50:04Z", "hours": 2.5897, "text": "Working and Completed my First Project On STARDANCE MY PerWEB"}]...
|
Title: NightAngel WebPer by @nightangle | Stardanc Title: NightAngel WebPer by @nightangle | Stardance
Devlogs:
Working and Completed my First Project On STARDANCE MY PerWEB
Ships:
I have maked my first personal website and aslo i have deployed it and also i have fascec challenges like i was not able to think for any creative idea for website so i use AI To Give me idea and my website is not that perfect for now but it’s good for now...
|
1792964989.0768592
|
1793051389.0768592
|
|
64475
|
NASA Project by @sourendatta | Stardance
|
sourendatta
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T16:17:39Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a web application that fetches and displays NASA’s Astronomy Picture of the Day (APOD) using Vite, JavaScript, and HTML/CSS. I created an interactive space explorer that pulls NASA’s daily astronomy photos and descriptions, complete with a date picker calendar so users can browse historical APOD media.", "repo": "https://github.com/sdatta25/Nasa-Project-Stardance", "demo": "https://sdatta25.github.io/Nasa-Project-Stardance/"}]...
|
[{"post_id": 71806, "ts": "202 [{"post_id": 71806, "ts": "2026-09-21T16:06:35Z", "hours": 0.7831, "text": "I am working on fetching NASA daily astronomy pictures using a NASA api key and you can click on the date and see what was uploaded in the past."}]...
|
Title: NASA Project by @sourendatta | Stardance
D Title: NASA Project by @sourendatta | Stardance
Devlogs:
I am working on fetching NASA daily astronomy pictures using a NASA api key and you can click on the date and see what was uploaded in the past.
Ships:
I built a web application that fetches and displays NASA’s Astronomy Picture of the Day (APOD) using Vite, JavaScript, and HTML/CSS. I created an interactive space explorer that pulls NASA’s daily astronomy photos and descriptions, complete with a date picker calendar so users can browse historical APOD media....
|
1792965081.8174162
|
1793051481.8174162
|
|
45273
|
Pirate game by @Martisos | Stardance
|
Martisos
|
1
|
32.3
|
437
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T16:06:09Z", "hours": 32.0, "multiplier": 13.56, "payout": 437, "blessing": "neutral", "text": "I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!", "repo": "https://github.com/Martisos/Pirate-rogue-like", "demo": "https://martisos.itch.io/piratink"}]...
|
[{"post_id": 71823, "ts": "202 [{"post_id": 71823, "ts": "2026-09-21T16:46:27Z", "hours": 0.3, "text": "Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme."}, {"post_id": 71797, "ts": "2026-09-21T15:58:23Z", "hours": 3.7986, "text": "I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3"}, {"post_id": 70823, "ts": "2026-09-19T20:33:26Z", "hours": 7.2333, "text": "(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!"}, {"post_id": 67346, "ts": "2026-09-13T12:49:54Z", "hours": 5.8914, "text": "Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3"}, {"post_id": 61051, "ts": "2026-09-03T19:21:40Z", "hours": 4.2042, "text": "Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things"}, {"post_id": 57707, "ts": "2026-08-29T23:09:36Z", "hours": 2.0503, "text": "General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!"}, {"post_id": 54117, "ts": "2026-08-24T22:48:57Z", "hours": 2.1286, "text": "Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!"}, {"post_id": 52678, "ts": "2026-08-22T23:00:02Z", "hours": 2.4783, "text": "Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think)."}, {"post_id": 51906, "ts": "2026-08-21T20:16:41Z", "hours": 1.3744, "text": "Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)"}, {"post_id": 51844, "ts": "2026-08-21T18:24:59Z", "hours": 3.0642, "text": "Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something."}]...
|
Title: Pirate game by @Martisos | Stardance
Devlo Title: Pirate game by @Martisos | Stardance
Devlogs:
Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something.
Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)
Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think).
Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!
General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!
Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things
Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3
(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!
I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3
Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme.
Ships:
I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!...
|
1793004733.8096113
|
1793091133.8096113
|
|
28654
|
Hyperlaunch by @byzann | Stardance
|
byzann
|
1
|
57.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T16:03:40Z", "hours": 57.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My own Minecraft launcher, Hyperlaunch, is in a good, usable state. It supports most versions of Minecraft, as well as having built in support for both the Fabric and NeoForge loaders. Additionally, it supports downloading mods from Modrinth. Installations are divided into ‘instances’ by default, keeping mod setups separated. If you choose to try it, I hope you enjoy it! (ultimately I have more I want to add to this project, but it’s in a very good state at the moment.)", "repo": "https://github.com/ByzantineProcess/hyperlaunch", "demo": "https://github.com/ByzantineProcess/hyperlaunch/releases/tag/v0.1-bugfix"}]...
|
[{"post_id": 71712, "ts": "202 [{"post_id": 71712, "ts": "2026-09-21T11:15:25Z", "hours": 6.7503, "text": "Hyperlaunch (Minecraft launcher) - devlog 7 last one! I’ve fixed a lot of launcher bugs and prepared a minimal GUI for trying the launcher out. Windows and Linux builds are functional and tested. I can’t confirm Mac builds work without bugs, but the launcher core itself was tested on a Mac Neo around a week ago. I hope anyone reading enjoys Hyperlaunch, even if the user interface is a bit clunky at the moment."}, {"post_id": 68684, "ts": "2026-09-15T15:17:18Z", "hours": 8.7233, "text": "Hyperlaunch (Minecraft launcher) - devlog 6 i lost my sticky streak NeoForge support is done for 26.1 and later. Added an instance command for rudimentary management of game instances, you can see a demo of the interface below. Modrinth support is good enough for a search -> download flow, as also shown below. Still improving over time."}, {"post_id": 65282, "ts": "2026-09-10T09:33:27Z", "hours": 9.8283, "text": "Hyperlaunch - devlog 5 Modrinth support Modrinth support is progressing nicely, and Hyperlaunch is now (technically) capable of doing more complex searches than Modrinth App allows. This means Hyperlaunch is better at using Modrinth than Modrinth itself. NeoForge support I’ve started work on supporting the NeoForge mod loader inside Hyperlaunch. This is harder than Fabric for a few reasons, but the main issue is that it requires directly patching Minecraft’s code. The NeoForge installer handles this all, but I want to bring the patching system inside Hyperlaunch. This is progressing nicely too. I’ve had to add a dependency on 7-Zip’s LZMA SDK as part of this. Issues spent like 3 hours diagnosing why decompressing the NeoForge patches was broken only for it to be an accidental cast from an int64 to an int32. writing JSON classes so Hyperlaunch can read Modrinth API responses is taking too long"}, {"post_id": 58118, "ts": "2026-08-30T13:53:14Z", "hours": 8.3553, "text": "Hyperlaunch - devlog 4. It’s been a month since my last devlog because I’ve just been unmotivated to continue working. I do really want to finish this though, so I’ll see it through. This update is mostly about bugfixes. There are no big new features done. Modrinth support I spent a good 3-5 hours building out a proper, full featured Modrinth search client, just for the API docs to be wrong, meaning I massively over-engineered a simple system. Really annoying. Bugfixes All the optimisations and big changes I made over the past few devlogs meant I had a lot of broken code on my hands. Won’t list everything here, but: Nearly all code bound to the UI was outdated/wrong Microsoft auth broke The code that handles downloading the client would not extract some necessary files Listing versions to download broke Small new features Hyperlaunch can now generate Java launch commands, handling downloads/logins/etc. automatically. That’s.. it. No video for this devlog, have some assorted screenshots from development on this devlog’s work."}, {"post_id": 36254, "ts": "2026-07-28T07:23:26Z", "hours": 9.1853, "text": "Hyperlaunch - devlog 3 Hyperlaunch now has the fastest download time of any Minecraft launcher I have tested! This is due to a number of optimisations done, mostly informed from app profiling (you can see a screenshot below.) Network activity is also more steady, and should start less connections overall. Hyperlaunch was slower because parts of the cache system & download system were reading and writing to a lot of files at once. I used the PerfView profiler to figure out how I could improve the download time after testing Modrinth App and Pandora Launcher and scoring twice as worse against both. I’ve attached a screenshot of PerfView below, but it’s very ugly to look at. Changes: Many syscall optimisations in the download handler & caching system Download workers no longer wait for a file to be written to disk before starting another download Started on Modrinth API client Some bugfixes in client manifest parsing"}, {"post_id": 24601, "ts": "2026-07-08T09:55:06Z", "hours": 7.7542, "text": "Hyperlaunch - devlog 2 Hyperlaunch is a Minecraft launcher that tries to be as efficient as possible without compromise. Progress Caching : I finally made a proper global caching system! Its purpose is minimising the network traffic, both for launch speeds and general efficiency. It can get big at times, so I also added compression, using the Brotli algorithm for speed. The cache sits in front of every network request. The cache will try to minimise the cost of the network request where possible. Often, it will just find a cached version instead of using the network. The cache works by URL. It splits the URL into domain name and resource. Take Hyperlaunch’s Stardance project page as an example; if it were to be cached, the directory would be stardance.hackclub.com , and the resource would be projects/28654 . The resource name is hashed with XxHash128, a hashing algorithm that’s not used for storing secrets, then the file at the URL is cached at .hyperlaunch/cache/<directory>/<resource hash> . If the file came with caching instructions (either ETag or Last-Modified HTTP headers), then those are stored alongside the cached file as separate files (see the image attached.) Parallelism : The launcher now handles each task at the same time, instead of in order. This is probably the biggest speedup so far. Instances : The launcher can now handle multiple installs as instances! This means multiple setups can coexist, and users can pick between them. Think MultiMC or PrismLauncher. CLI : Reworked a lot of the CLI as part of these changes. Difficulties Maybe I’m just new to C#, but I found a lot of the HTTP stuff confusing. One example is using the Last-Modified header . If you want to use this header, you need to access the response.Content.Headers variable. For all other headers, you access response.Headers . Brotli compression also seemed unusually difficult. It only works on Stream objects, and the syntax was strange which resulted in a few unintentional logic bugs that I just didn’t know how to spot. Video and some photos of the cache in action below. The cache in action"}, {"post_id": 22826, "ts": "2026-07-05T12:59:36Z", "hours": 6.5678, "text": "Hyperlaunch devlog 1 Hyperlaunch is a Minecraft launcher that tries to be as efficient as possible without compromising in any area. I started this project earlier this year, but I want to finish it under Stardance. Progress Started on instances system for managing multiple installs. Like PrismLauncher or MultiMC. Added to, cleaned up, and fixed multiple issues in the client manifest parsing system. The client manifest is what tells the launcher how to do its job, where to download everything, and how to start the game. Mojang sometimes changes the format. In the 4-month gap since last working on this, they changed how Java arguments are handled, and added a way for launch ingredients to only be considered on specific OS version ranges (for example, only allow a certain library on Windows versions newer than 22H2). Those were both really annoying to fix, mostly because the parsing code was messy. (Used AI to split classes across files.) Added the ability to automatically download and launch Fabric modded versions. (see a demo below) (i really hope the video works, a cdn link should be below otherwise) cdn video link"}]...
|
Title: Hyperlaunch by @byzann | Stardance
Devlogs Title: Hyperlaunch by @byzann | Stardance
Devlogs:
Hyperlaunch devlog 1 Hyperlaunch is a Minecraft launcher that tries to be as efficient as possible without compromising in any area. I started this project earlier this year, but I want to finish it under Stardance. Progress Started on instances system for managing multiple installs. Like PrismLauncher or MultiMC. Added to, cleaned up, and fixed multiple issues in the client manifest parsing system. The client manifest is what tells the launcher how to do its job, where to download everything, and how to start the game. Mojang sometimes changes the format. In the 4-month gap since last working on this, they changed how Java arguments are handled, and added a way for launch ingredients to only be considered on specific OS version ranges (for example, only allow a certain library on Windows versions newer than 22H2). Those were both really annoying to fix, mostly because the parsing code was messy. (Used AI to split classes across files.) Added the ability to automatically download and launch Fabric modded versions. (see a demo below) (i really hope the video works, a cdn link should be below otherwise) cdn video link
Hyperlaunch - devlog 2 Hyperlaunch is a Minecraft launcher that tries to be as efficient as possible without compromise. Progress Caching : I finally made a proper global caching system! Its purpose is minimising the network traffic, both for launch speeds and general efficiency. It can get big at times, so I also added compression, using the Brotli algorithm for speed. The cache sits in front of every network request. The cache will try to minimise the cost of the network request where possible. Often, it will just find a cached version instead of using the network. The cache works by URL. It splits the URL into domain name and resource. Take Hyperlaunch’s Stardance project page as an example; if it were to be cached, the directory would be stardance.hackclub.com , and the resource would be projects/28654 . The resource name is hashed with XxHash128, a hashing algorithm that’s not used for storing secrets, then the file at the URL is cached at .hyperlaunch/cache/<directory>/<resource hash> . If the file came with caching instructions (either ETag or Last-Modified HTTP headers), then those are stored alongside the cached file as separate files (see the image attached.) Parallelism : The launcher now handles each task at the same time, instead of in order. This is probably the biggest speedup so far. Instances : The launcher can now handle multiple installs as instances! This means multiple setups can coexist, and users can pick between them. Think MultiMC or PrismLauncher. CLI : Reworked a lot of the CLI as part of these changes. Difficulties Maybe I’m just new to C#, but I found a lot of the HTTP stuff confusing. One example is using the Last-Modified header . If you want to use this header, you need to access the response.Content.Headers variable. For all other headers, you access response.Headers . Brotli compression also seemed unusually difficult. It only works on Stream objects, and the syntax was strange which resulted in a few unintentional logic bugs that I just didn’t know how to spot. Video and some photos of the cache in action below. The cache in action
Hyperlaunch - devlog 3 Hyperlaunch now has the fastest download time of any Minecraft launcher I have tested! This is due to a number of optimisations done, mostly informed from app profiling (you can see a screenshot below.) Network activity is also more steady, and should start less connections overall. Hyperlaunch was slower because parts of the cache system & download system were reading and writing to a lot of files at once. I used the PerfView profiler to figure out how I could improve the download time after testing Modrinth App and Pandora Launcher and scoring twice as worse against both. I’ve attached a screenshot of PerfView below, but it’s very ugly to look at. Changes: Many syscall optimisations in the download handler & caching system Download workers no longer wait for a file to be written to disk before starting another download Started on Modrinth API client Some bugfixes in client manifest parsing
Hyperlaunch - devlog 4. It’s been a month since my last devlog because I’ve just been unmotivated to continue working. I do really want to finish this though, so I’ll see it through. This update is mostly about bugfixes. There are no big new features done. Modrinth support I spent a good 3-5 hours building out a proper, full featured Modrinth search client, just for the API docs to be wrong, meaning I massively over-engineered a simple system. Really annoying. Bugfixes All the optimisations and big changes I made over the past few devlogs meant I had a lot of broken code on my hands. Won’t list everything here, but: Nearly all code bound to the UI was outdated/wrong Microsoft auth broke The code that handles downloading the client would not extract some necessary files Listing versions to download broke Small new features Hyperlaunch can now generate Java launch commands, handling downloads/logins/etc. automatically. That’s.. it. No video for this devlog, have some assorted screenshots from development on this devlog’s work.
Hyperlaunch - devlog 5 Modrinth support Modrinth support is progressing nicely, and Hyperlaunch is now (technically) capable of doing more complex searches than Modrinth App allows. This means Hyperlaunch is better at using Modrinth than Modrinth itself. NeoForge support I’ve started work on supporting the NeoForge mod loader inside Hyperlaunch. This is harder than Fabric for a few reasons, but the main issue is that it requires directly patching Minecraft’s code. The NeoForge installer handles this all, but I want to bring the patching system inside Hyperlaunch. This is progressing nicely too. I’ve had to add a dependency on 7-Zip’s LZMA SDK as part of this. Issues spent like 3 hours diagnosing why decompressing the NeoForge patches was broken only for it to be an accidental cast from an int64 to an int32. writing JSON classes so Hyperlaunch can read Modrinth API responses is taking too long
Hyperlaunch (Minecraft launcher) - devlog 6 i lost my sticky streak NeoForge support is done for 26.1 and later. Added an instance command for rudimentary management of game instances, you can see a demo of the interface below. Modrinth support is good enough for a search -> download flow, as also shown below. Still improving over time.
Hyperlaunch (Minecraft launcher) - devlog 7 last one! I’ve fixed a lot of launcher bugs and prepared a minimal GUI for trying the launcher out. Windows and Linux builds are functional and tested. I can’t confirm Mac builds work without bugs, but the launcher core itself was tested on a Mac Neo around a week ago. I hope anyone reading enjoys Hyperlaunch, even if the user interface is a bit clunky at the moment.
Ships:
My own Minecraft launcher, Hyperlaunch, is in a good, usable state. It supports most versions of Minecraft, as well as having built in support for both the Fabric and NeoForge loaders. Additionally, it supports downloading mods from Modrinth. Installations are divided into ‘instances’ by default, keeping mod setups separated. If you choose to try it, I hope you enjoy it! (ultimately I have more I want to add to this project, but it’s in a very good state at the moment.)...
|
1793008092.8417156
|
1793094492.8417156
|
|
41201
|
IsaacOS by @slecesama | Stardance
|
slecesama
|
2
|
64.0
|
1003
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T15:42:20Z", "hours": 58.0, "multiplier": 17.35, "payout": 1003, "blessing": "neutral", "text": "i made the webOS actually functional, with apps that have some utility or functionality (such as the compendium app, my beloved wiki app) and not just the same old stuff such as calculators and notes. tbh i maybe made so many apps that there are 3 columns and covers a part of the desktop, so for that reason i made folders! for the new apps that i made, some of them were actually out of my reach of skills of programming so i had to learn some stuff or use AI for the most complicated stuff, but other than that i would say this project has actually made me re-gain the will of coding that i lost. there are a lot of features that tbh i were to list them all it would take a lot but the thing i focused the most on this project were: making the compendium app an actual useful app that i use regularly when playing the game, and the customization of the os using the themes app. i rlly liked building those two and were the most fun and also challenging part of the whole project. so please try changing stuff in the themes app and make it cool ;) and also use the blue map on the topbar to change the layour of the desktop and tell me which one u like more! i hope u’ll have fun using it and for isaac players, tell me what u would like to change and try the compendium app", "repo": "https://github.com/pickledroided/webbandola", "demo": "https://pickledroided.github.io/webbandola/"}, {"ship_num": 2, "ts": "2026-08-03T13:50:28Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Welcome to IsaacOS! this is a very cool OS based on the binding of isaac (i am playing it so much rn) which has minimal but essential apps right now but will have many and many more in the future. i made it using only html, css and js and honestly i think it looks great! i rlly like the colors i used, even tho when i will probably re-ship it when it has more apps i will change them so it looks new/updated, but other than that i am very satisfied! it has only a note app, website that is very limited, simple calculator and a find me on socials app, but i have many more that i am currently developing but i thought that i’d like to ship it now so i can see the progress im making. hope u like it! >:3 play the saac, u won’t regret it (T⌓T)", "repo": "https://github.com/pickledroided/webbandola", "demo": "https://pickledroided.github.io/webbandola/"}]...
|
[{"post_id": 71787, "ts": "202 [{"post_id": 71787, "ts": "2026-09-21T15:31:58Z", "hours": 0.7106, "text": "**DEVLOG #12 made some fixes and changed readme + demo png. ready to ship"}, {"post_id": 70657, "ts": "2026-09-19T15:17:02Z", "hours": 5.6183, "text": "**DEVLOG #11 i think its ready to ship! i kinda lost my will to update it etc lately so i kinda rushed it at the end, but im still happy with how it turned out!"}, {"post_id": 67441, "ts": "2026-09-13T15:31:41Z", "hours": 9.5967, "text": "**DEVLOG #10 helloo since i have a dopamine addiction i made a doomscroll app where u can doomscroll (rn there are only like 10 videos, but ill add more) between these videos that i chose about isaac, made a demo app thats just an iframe of the binding of isaac flash version demo gotten from crazy games and a terminal with various commands. also made some new options in the settings app and added it to the topbar, made the hour and date clickable so that they open lil widgets of a clock and a calendar"}, {"post_id": 61224, "ts": "2026-09-04T01:44:43Z", "hours": 9.9403, "text": "**DEVLOG #09 HELLOO i made a select layout on the topbar (blue map) where u can change the dekstop layout and just have a dock with all the apps instead of the normal desktop app icons. also made a tetris (the code is really messed up and doesnt work properly rn, will try to debug) and also made a spotlight to search apps with ctrl + space. also made a lot of tweaks etc but i made them days ago and dont remember them anymore :| this devlog is gonna be shorter because im getting tired of ts so i will try to rush the last things i wanna do and just ship it. it already has a lot of things it doesnt need more tbh"}, {"post_id": 55496, "ts": "2026-08-27T11:49:37Z", "hours": 10.0392, "text": "**DEVLOG #08 i made widgets! they are draggable, customizable with the themes app and all of em work perfectly! the isaac exclusives are the mom’s voicelines and item of the day widget (where u can reroll once per day using D6). i’ve spent most of the time optimizing and fixing bugs, but the thing that stole most of my time was the themes (i got bored of the black and red colors with that background) so i started making some presets with both backgrounds and icon colors. most of them aren’t still finished but yeah i’ll be getting into it shortly. also made some tweaks in the settings, gallery and compendium app aaand i think that’s all. rn im trying to make a domino/infinity effect using the browser where i can open the webOS multiple times inside the webOS but it starts showing white screen after 2 times so idk how to fix."}, {"post_id": 49571, "ts": "2026-08-18T13:35:52Z", "hours": 9.3731, "text": "**DEVLOG #07 helloooo! i made a lot of progress since last time, i made an intro (for some reason i cant upload the video here in the devlog :( but i will ship soon and u’ll be able to see it there) of isaac descending into the floor, idk what to add there but i will try to make it prettier! then i made the settings app and a music player that plays my favorite isaac OSTs (i have no idea if they are copyrighted, i hope not) i also made a paint app (peep the tools, all the icons are isaac items as always) and that’s about it i think, made the topbar prettier and idk i feel tired rn so goodbye"}, {"post_id": 46313, "ts": "2026-08-13T13:38:47Z", "hours": 9.0636, "text": "**DEVLOG #06 ok so it’s been a long journey updating this compendium app, there are a lot of things i wanted to add and it’s still not complete rn, but it’s 99% finished! i added various sections inside the app where u can see all of the unlocks and they are based on what characters u are playing or bosses u are about to kill. other than that i also added a gallery app where i just put a lot of images of isaac and friends, and a themes app where u can change the main colors of the whole OS."}, {"post_id": 43201, "ts": "2026-08-08T10:26:08Z", "hours": 3.4817, "text": "**DEVLOG #05 hello! i put a lot of my time in here for making the app that i think will be the most useful one here (or at least for us isaac players), which is the Compendium app! What is Compendium ? Compendium is this app i made that shows every item, trinket, challenge and character of The Binding of Isaac. it works like a little wiki (not so little since there are more than 720 items and trinkets) and shows every item sorting them by the ID ingame, shows their quality and if they have to be unlocked ingame, it shows you how to unlock them. You can also sort it based on what DLCs u have, default is having all of them (steam sale saved a lot of players). same thing even for trinkets but they don’t have quality in game so the only sorting is DLCs and then the last section of the app is the Unlocks where u can choose and see either how to unlock characters, how to unlock challenges and what reward they give u or all the items that have to be unlocked. What i will add in the future (today or tomorrow probably) the app is 90% done and i wanna add a boss section with tips on how to fight them and a reccomended unlock icon on all of the unlocks that are fundamental for progressing in the game. How did i develop it ok so i thought scraping the web for data was easier, turns out it wasnt and i crashed out multiple times. there are SO MANY items, trinkets and things to get data from and getting all of them was not easy, i tried getting them myself but i gave up halfway through, had to use ai for all the scraping. the worst thing is that it was causing problems and forgetting things and i was always adding them later on, like first i got all the items and that’s it, then i remembered to sort the things, then that not all of them are unlocked, then how to unlock etc etc and thankfully i wasn’t the one that had to scrape all of that data."}, {"post_id": 40078, "ts": "2026-08-03T13:41:49Z", "hours": 1.5744, "text": "**DEVLOG #04 ok so i kinda got lost in my thoughts today so i didn’t do too much but i made it so u can move around icons on the os and added animations when u close/minimize windows, also u can now resize the windows as u like by pulling the window in the corner . i think it’s ready now to ship and i will re-ship with the next mission when i will add more things such as background settings, themes, paint app, actual games etc"}, {"post_id": 39632, "ts": "2026-08-02T19:11:06Z", "hours": 1.3294, "text": "**DEVLOG #03 i made a calculator app using old code from another project and made it match with the whole theme, made the notes app use localStorage so it saves the notes between sessions (there’s a default one tho) and made a lil dock for the open windows rn, also made a lil animations for when there are no windows open but i can’t record rn so u can’t see it, but i will add some micro animations later on to the dock. making this screenshot and being unable to get the browser window in the screen made me realize that i should make it so the windows size can be changed by pulling it on the corner"}, {"post_id": 38831, "ts": "2026-08-01T12:09:00Z", "hours": 2.0381, "text": "**DEVLOG #02 hi humans i changed a lot of the colors and added a background directly from isaac (unused Sheol floor). i added the notes app (which rn only shows a pre-written note, still cant add a new one) a find me app where u can find all of my socials and the browser. the browser was the hard part where i gave up half-way thru because i cant figure out how to search things online that dont block the browser using iframes, so it only shows wikipedia and the website on github pages cuz i wanted to create an infinity effect where u could open the webOS in the browser and do it a lot of times but i cant figure out the resolution etc so u can do it only once rn. also all of the icons are isaac items"}, {"post_id": 38305, "ts": "2026-07-31T16:57:45Z", "hours": 0.8522, "text": "**DEVLOG #01 helo i am making the binding of isaac os. rn it is just very basic since i am following the guide (rn nothing works, i made the windows draggable and closable but they don’t work) and i have 0 ideas on what apps to add, but i will try to make it work and add some cool features"}]...
|
Title: IsaacOS by @slecesama | Stardance
Devlogs: Title: IsaacOS by @slecesama | Stardance
Devlogs:
**DEVLOG #01 helo i am making the binding of isaac os. rn it is just very basic since i am following the guide (rn nothing works, i made the windows draggable and closable but they don’t work) and i have 0 ideas on what apps to add, but i will try to make it work and add some cool features
**DEVLOG #02 hi humans i changed a lot of the colors and added a background directly from isaac (unused Sheol floor). i added the notes app (which rn only shows a pre-written note, still cant add a new one) a find me app where u can find all of my socials and the browser. the browser was the hard part where i gave up half-way thru because i cant figure out how to search things online that dont block the browser using iframes, so it only shows wikipedia and the website on github pages cuz i wanted to create an infinity effect where u could open the webOS in the browser and do it a lot of times but i cant figure out the resolution etc so u can do it only once rn. also all of the icons are isaac items
**DEVLOG #03 i made a calculator app using old code from another project and made it match with the whole theme, made the notes app use localStorage so it saves the notes between sessions (there’s a default one tho) and made a lil dock for the open windows rn, also made a lil animations for when there are no windows open but i can’t record rn so u can’t see it, but i will add some micro animations later on to the dock. making this screenshot and being unable to get the browser window in the screen made me realize that i should make it so the windows size can be changed by pulling it on the corner
**DEVLOG #04 ok so i kinda got lost in my thoughts today so i didn’t do too much but i made it so u can move around icons on the os and added animations when u close/minimize windows, also u can now resize the windows as u like by pulling the window in the corner . i think it’s ready now to ship and i will re-ship with the next mission when i will add more things such as background settings, themes, paint app, actual games etc
**DEVLOG #05 hello! i put a lot of my time in here for making the app that i think will be the most useful one here (or at least for us isaac players), which is the Compendium app! What is Compendium ? Compendium is this app i made that shows every item, trinket, challenge and character of The Binding of Isaac. it works like a little wiki (not so little since there are more than 720 items and trinkets) and shows every item sorting them by the ID ingame, shows their quality and if they have to be unlocked ingame, it shows you how to unlock them. You can also sort it based on what DLCs u have, default is having all of them (steam sale saved a lot of players). same thing even for trinkets but they don’t have quality in game so the only sorting is DLCs and then the last section of the app is the Unlocks where u can choose and see either how to unlock characters, how to unlock challenges and what reward they give u or all the items that have to be unlocked. What i will add in the future (today or tomorrow probably) the app is 90% done and i wanna add a boss section with tips on how to fight them and a reccomended unlock icon on all of the unlocks that are fundamental for progressing in the game. How did i develop it ok so i thought scraping the web for data was easier, turns out it wasnt and i crashed out multiple times. there are SO MANY items, trinkets and things to get data from and getting all of them was not easy, i tried getting them myself but i gave up halfway through, had to use ai for all the scraping. the worst thing is that it was causing problems and forgetting things and i was always adding them later on, like first i got all the items and that’s it, then i remembered to sort the things, then that not all of them are unlocked, then how to unlock etc etc and thankfully i wasn’t the one that had to scrape all of that data.
**DEVLOG #06 ok so it’s been a long journey updating this compendium app, there are a lot of things i wanted to add and it’s still not complete rn, but it’s 99% finished! i added various sections inside the app where u can see all of the unlocks and they are based on what characters u are playing or bosses u are about to kill. other than that i also added a gallery app where i just put a lot of images of isaac and friends, and a themes app where u can change the main colors of the whole OS.
**DEVLOG #07 helloooo! i made a lot of progress since last time, i made an intro (for some reason i cant upload the video here in the devlog :( but i will ship soon and u’ll be able to see it there) of isaac descending into the floor, idk what to add there but i will try to make it prettier! then i made the settings app and a music player that plays my favorite isaac OSTs (i have no idea if they are copyrighted, i hope not) i also made a paint app (peep the tools, all the icons are isaac items as always) and that’s about it i think, made the topbar prettier and idk i feel tired rn so goodbye
**DEVLOG #08 i made widgets! they are draggable, customizable with the themes app and all of em work perfectly! the isaac exclusives are the mom’s voicelines and item of the day widget (where u can reroll once per day using D6). i’ve spent most of the time optimizing and fixing bugs, but the thing that stole most of my time was the themes (i got bored of the black and red colors with that background) so i started making some presets with both backgrounds and icon colors. most of them aren’t still finished but yeah i’ll be getting into it shortly. also made some tweaks in the settings, gallery and compendium app aaand i think that’s all. rn im trying to make a domino/infinity effect using the browser where i can open the webOS multiple times inside the webOS but it starts showing white screen after 2 times so idk how to fix.
**DEVLOG #09 HELLOO i made a select layout on the topbar (blue map) where u can change the dekstop layout and just have a dock with all the apps instead of the normal desktop app icons. also made a tetris (the code is really messed up and doesnt work properly rn, will try to debug) and also made a spotlight to search apps with ctrl + space. also made a lot of tweaks etc but i made them days ago and dont remember them anymore :| this devlog is gonna be shorter because im getting tired of ts so i will try to rush the last things i wanna do and just ship it. it already has a lot of things it doesnt need more tbh
**DEVLOG #10 helloo since i have a dopamine addiction i made a doomscroll app where u can doomscroll (rn there are only like 10 videos, but ill add more) between these videos that i chose about isaac, made a demo app thats just an iframe of the binding of isaac flash version demo gotten from crazy games and a terminal with various commands. also made some new options in the settings app and added it to the topbar, made the hour and date clickable so that they open lil widgets of a clock and a calendar
**DEVLOG #11 i think its ready to ship! i kinda lost my will to update it etc lately so i kinda rushed it at the end, but im still happy with how it turned out!
**DEVLOG #12 made some fixes and changed readme + demo png. ready to ship
Ships:
Welcome to IsaacOS! this is a very cool OS based on the binding of isaac (i am playing it so much rn) which has minimal but essential apps right now but will have many and many more in the future. i made it using only html, css and js and honestly i think it looks great! i rlly like the colors i used, even tho when i will probably re-ship it when it has more apps i will change them so it looks new/updated, but other than that i am very satisfied! it has only a note app, website that is very limited, simple calculator and a find me on socials app, but i have many more that i am currently developing but i thought that i’d like to ship it now so i can see the progress im making. hope u like it! >:3 play the saac, u won’t regret it (T⌓T)
i made the webOS actually functional, with apps that have some utility or functionality (such as the compendium app, my beloved wiki app) and not just the same old stuff such as calculators and notes. tbh i maybe made so many apps that there are 3 columns and covers a part of the desktop, so for that reason i made folders! for the new apps that i made, some of them were actually out of my reach of skills of programming so i had to learn some stuff or use AI for the most complicated stuff, but other than that i would say this project has actually made me re-gain the will of coding that i lost. there are a lot of features that tbh i were to list them all it would take a lot but the thing i focused the most on this project were: making the compendium app an actual useful app that i use regularly when playing the game, and the customization of the os using the themes app. i rlly liked building those two and were the most fun and also challenging part of the whole project. so please try changing stuff in the themes app and make it cool ;) and also use the blue map on the topbar to change the layour of the desktop and tell me which one u like more! i hope u’ll have fun using it and for isaac players, tell me what u would like to change and try the compendium app...
|
1792990623.6729932
|
1793077023.6729932
|
|
36532
|
Baguette Ware Game by @Mk1A | Stardance
|
Mk1A
|
1
|
11.27
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T15:01:00Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Well, I learned a lot from this game and have made multiple new discoveries and coding debugs I din’t knew I needed! I took help from the official discord server for the Godot_Community and other guide pages too. I have additionally used AI for learning path referencing in Godot which I used to re-reference 6 nodes(probably more). Hope I can keep working on this project more :)", "repo": "https://github.com/Mk1A-Falcon/Baguette-ware", "demo": "https://mk1a.itch.io/baguette-ware"}]...
|
[{"post_id": 71803, "ts": "202 [{"post_id": 71803, "ts": "2026-09-21T16:04:00Z", "hours": 0.2717, "text": "Well made a really stupid mistake Made a more detailed readme! and added a link to stardance Attached images + details + movements of each minigame."}, {"post_id": 71774, "ts": "2026-09-21T14:54:06Z", "hours": 0.3161, "text": "Devlog -1 Well made the readme.md and also added extra assets + export packages etc. ship ship ship sahur"}, {"post_id": 71756, "ts": "2026-09-21T13:38:26Z", "hours": 1.9978, "text": "Devlog 10 🥹 Finally, it is complete, took 2 hours but I think it was worth it, I wanted to make a lot of more additions to the game but I think I will hold on for the 2nd Mission since I don’t have much time left! Made end_scene Made win_scene Remade Global script as the game was unplayable on the second playthrough since the total number of lifes/games left did not change. Debugged level_Scene(redirecting scene for each level) Debugged other visual nodes Finally gonna ship this now :)"}, {"post_id": 71621, "ts": "2026-09-21T05:48:23Z", "hours": 0.9997, "text": "Devlog 9 or smth I forgor Made the minigame_2 and also fixed a bit of node and refrencing (yes once again) Also modified the timer_scene nodes and the global script for better visual representation- Made a new background (just used ms paint with the fill bucket Made the script for minigame_2 Made the clickable buttons just the original baguette themes Now I have to just finish the lose and end scenes and I should be able to ship it now :)"}, {"post_id": 71259, "ts": "2026-09-20T15:15:50Z", "hours": 1.1353, "text": "DEBUG Devlog-8 Well finally fixed the pickup problem, just gotta start work on level-2 + winning + ending scenes now! All debugs carried out- the function wasn’t even being called cause the level_scene script did not even refrence it :( AnimationPlayer2d was attached to the whole node rather than the texturerect(imagepart) made the pickups a scene in itself rather than a child node I am so happy that a discord server for the godot community exists with so many people ready to help 🥹"}, {"post_id": 69269, "ts": "2026-09-16T18:19:51Z", "hours": 1.0042, "text": "Devlog 7 bugs bugs bugs Well, bug fixing time Ahh yes the most fun time of any project I guess naming random stuff, random stuff is not the most viable process after all Fixed Referencing for 7 Nodes! Recreated timer_node because the parent node was wrong I know another problem with pickups which I have to fix! #basically each pickup node has animationplayer2d attached to it which resets the location of each pickup to the same exact “key” position so all 3~4 pickups appear at the same location Well A devlog a month keeps the streak away (I def did not sleep before continuining the sticker streak )"}, {"post_id": 65241, "ts": "2026-09-10T07:23:58Z", "hours": 1.0106, "text": "Devlog-6 Fixed script and node for the “themed_timer” or ingame_timer (acc to project) as it was attached to a “RichLabelText” rather than a “Node2d” Added scripts to MINIGAME_1 and a few other scenes, trust Insted of complaining bout the guides, gonna push a pr myself Stole MY end_game assets from @alexxx ’s personal channel Very close to finishing this game now"}, {"post_id": 64424, "ts": "2026-09-08T19:53:17Z", "hours": 0.3575, "text": "Devlog-5 got the pickup animation working and attached a script not much work done cause It was not working for some reason so I had to remake the animation thrice"}, {"post_id": 63753, "ts": "2026-09-07T18:25:20Z", "hours": 1.0575, "text": "DEVLOG-4 (IDK I FORGOR) Well turns out the SD guide is lowk confusing So the guide mentions to put “Jump_velocity=500.0”, sadly, jump_velocity is a negative value I also copy-pasted the code which the guide had, which got flagged as AI so there’s that Well I got the minigame_1 done, I have to start the clicker_minigame. Additionally, I plan to add a runner/platformer + a fully fledged player character with defined movement sprites I haven’t designed the pickups but they should take like 10 minutes at most! Well, I hope I can finish this tomorrow. Byee"}, {"post_id": 61690, "ts": "2026-09-04T18:42:43Z", "hours": 1.2592, "text": "Hiya Devlog no. 3! Well made a lot of updates in this one, made the ingame timer nodes, created a player and started work on the first minigame I will be using complete movement player sprites which I made using MSPaint Well, let’s get started on making the Game now"}, {"post_id": 58763, "ts": "2026-08-31T10:20:40Z", "hours": 0.8356, "text": "DEVLOG 2 Created global script part, additionally added level_scene and created custom bg for it ( main-menu but orange ) Also made the life’s as Baguettes Check the repo lol, every single item is a random name Now I will be beginning work on the minigames themselves and have thought of the first game to be a runner-platformer rather than the guide suggested basic platformer"}, {"post_id": 58348, "ts": "2026-08-30T18:52:11Z", "hours": 0.7733, "text": "Hey Well I guess this is my 2nd actual project on stardance huh So, i introduce to you, BAGUETTE-WARE | a marioware game inspired by my slack-id. Well let’s talk about the project. Turns out I was using GODOT 4.3 which is pretty old now and following the guide was a really big problem for me. Visual glitches on the editor’s side took me 15~20 minutes to debug (still isn’t fixed yet btw) but at the end I got it working and finally finished the MAIN MENU Well here’s a picture of the initial edit of the main menu (I also took like a hour to make that bg )"}]...
|
Title: Baguette Ware Game by @Mk1A | Stardance
De Title: Baguette Ware Game by @Mk1A | Stardance
Devlogs:
Hey Well I guess this is my 2nd actual project on stardance huh So, i introduce to you, BAGUETTE-WARE | a marioware game inspired by my slack-id. Well let’s talk about the project. Turns out I was using GODOT 4.3 which is pretty old now and following the guide was a really big problem for me. Visual glitches on the editor’s side took me 15~20 minutes to debug (still isn’t fixed yet btw) but at the end I got it working and finally finished the MAIN MENU Well here’s a picture of the initial edit of the main menu (I also took like a hour to make that bg )
DEVLOG 2 Created global script part, additionally added level_scene and created custom bg for it ( main-menu but orange ) Also made the life’s as Baguettes Check the repo lol, every single item is a random name Now I will be beginning work on the minigames themselves and have thought of the first game to be a runner-platformer rather than the guide suggested basic platformer
Hiya Devlog no. 3! Well made a lot of updates in this one, made the ingame timer nodes, created a player and started work on the first minigame I will be using complete movement player sprites which I made using MSPaint Well, let’s get started on making the Game now
DEVLOG-4 (IDK I FORGOR) Well turns out the SD guide is lowk confusing So the guide mentions to put “Jump_velocity=500.0”, sadly, jump_velocity is a negative value I also copy-pasted the code which the guide had, which got flagged as AI so there’s that Well I got the minigame_1 done, I have to start the clicker_minigame. Additionally, I plan to add a runner/platformer + a fully fledged player character with defined movement sprites I haven’t designed the pickups but they should take like 10 minutes at most! Well, I hope I can finish this tomorrow. Byee
Devlog-5 got the pickup animation working and attached a script not much work done cause It was not working for some reason so I had to remake the animation thrice
Devlog-6 Fixed script and node for the “themed_timer” or ingame_timer (acc to project) as it was attached to a “RichLabelText” rather than a “Node2d” Added scripts to MINIGAME_1 and a few other scenes, trust Insted of complaining bout the guides, gonna push a pr myself Stole MY end_game assets from @alexxx ’s personal channel Very close to finishing this game now
Devlog 7 bugs bugs bugs Well, bug fixing time Ahh yes the most fun time of any project I guess naming random stuff, random stuff is not the most viable process after all Fixed Referencing for 7 Nodes! Recreated timer_node because the parent node was wrong I know another problem with pickups which I have to fix! #basically each pickup node has animationplayer2d attached to it which resets the location of each pickup to the same exact “key” position so all 3~4 pickups appear at the same location Well A devlog a month keeps the streak away (I def did not sleep before continuining the sticker streak )
DEBUG Devlog-8 Well finally fixed the pickup problem, just gotta start work on level-2 + winning + ending scenes now! All debugs carried out- the function wasn’t even being called cause the level_scene script did not even refrence it :( AnimationPlayer2d was attached to the whole node rather than the texturerect(imagepart) made the pickups a scene in itself rather than a child node I am so happy that a discord server for the godot community exists with so many people ready to help 🥹
Devlog 9 or smth I forgor Made the minigame_2 and also fixed a bit of node and refrencing (yes once again) Also modified the timer_scene nodes and the global script for better visual representation- Made a new background (just used ms paint with the fill bucket Made the script for minigame_2 Made the clickable buttons just the original baguette themes Now I have to just finish the lose and end scenes and I should be able to ship it now :)
Devlog 10 🥹 Finally, it is complete, took 2 hours but I think it was worth it, I wanted to make a lot of more additions to the game but I think I will hold on for the 2nd Mission since I don’t have much time left! Made end_scene Made win_scene Remade Global script as the game was unplayable on the second playthrough since the total number of lifes/games left did not change. Debugged level_Scene(redirecting scene for each level) Debugged other visual nodes Finally gonna ship this now :)
Devlog -1 Well made the readme.md and also added extra assets + export packages etc. ship ship ship sahur
Well made a really stupid mistake Made a more detailed readme! and added a link to stardance Attached images + details + movements of each minigame.
Ships:
Well, I learned a lot from this game and have made multiple new discoveries and coding debugs I din’t knew I needed! I took help from the official discord server for the Godot_Community and other guide pages too. I have additionally used AI for learning path referencing in Godot which I used to re-reference 6 nodes(probably more). Hope I can keep working on this project more :)...
|
1793004611.1695437
|
1793091011.1695437
|
|
43572
|
AKidsDream by @MrCode | Stardance
|
MrCode
|
2
|
190.61
|
2036
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T13:57:00Z", "hours": 107.0, "multiplier": 19.36, "payout": 1877, "blessing": "neutral", "text": "👾 AKidsDream~~(name work in progress)~~ , is a early version of a turn based strategy game , where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. 🏳️🏴Goal Its not just an attempt to make a game , its the challenge of creating modular , future proof system and to learn to clean code , using all my knoweledge of over the past 4 years of learning . (so even if i dont get rich with this game i did learn a lot xdd) What’s🆕 As this isn’t the first ship of the project, the project now contains: Mana💎 & a working card/hand systems Juicy new animations (as you may have seen with thecard drawing) more ℹ️nfo (who is playing and support for multiple local players) Hardships ( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///) Trying to code everything modular and clean takes time, which is valuable resource :( Also the progress feels much slower at the beginning (but i could reuse the modular ability system for the cards which made everything easier:)) As i have invested close to 200hourse, the project has grown so much that sometimes its hard to see how one system may break another , then its another 1 hour debugging", "repo": "https://github.com/MrCode200/AKidsDream", "demo": "https://github.com/MrCode200/AKidsDream/releases/tag/v0.2.0-pre-alpha.1"}, {"ship_num": 2, "ts": "2026-08-09T19:50:41Z", "hours": 72.0, "multiplier": 8.67, "payout": 159, "blessing": "neutral", "text": "👾 AKidsDream(name work in progress), is a early version of a turn based strategy game, where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. A Kid’s Dream 🌜is my attempt to recreate that experience. Not exactly as it was, but from the pieces that remain in my memory. It is a game inspired by childhood imagination, handmade rules, and the joy of turning simple ideas into an adventure. ⚔️ Currently the game is in very early alpha, basically a proof of concept. I would love support, about what you would like to see, Game Design tips and tricks and what a winning condition could be. (destroy objectives vs destory a unit(like a king 🤴)", "repo": "https://github.com/MrCode200/AKidsDream", "demo": "https://github.com/MrCode200/AKidsDream/releases/tag/v0.2.0-pre-alpha.1"}]...
|
[{"post_id": 75690, "ts": "202 [{"post_id": 75690, "ts": "2026-09-30T19:21:12Z", "hours": 11.6108, "text": "Devlog 16: Extensions, Plugins && MODSSSSS Yes, it has been time, for what has given success to most games EVER!!!!!! ➕MODS Hard as hell to implement, as you need to make sure that each coding dependencies are implemented correctly… Had to change hole game structure to be easily extendable/moddable (fun and hard ) But i have to say i am learning more which is awsome But still many bugs and logic to fix/implement lul…"}, {"post_id": 70733, "ts": "2026-09-19T17:44:42Z", "hours": 10.015, "text": "Devlog 15: The Power of Plugins 🔌 Turned the Tween System into a plugin :)) Now it is way easier to reuse animations everywhere 🎞️ Also finished all Card + Hand logic 🃏 and cleaned up lots of code + bugs along the way 😭 The project’s recent work includes a refactor of the ability/card systems plus deck and cardcasting functionality."}, {"post_id": 65311, "ts": "2026-09-10T11:39:01Z", "hours": 10.4142, "text": "Devlog 14: Is it SatisFeelingable enough ☺️ (Help Q&Q: what animation feels more satisfying ?:00) Added clean card animation (in not so clean code 😭😭) More information on who’s turn it is. with bumb up🆙 animations for the Q&Q see the videos <3 Next 🆙: Card Deck and card into effect animations (spawn animations if above works without coding problems, which i feel is a delusional hope🥲 )"}, {"post_id": 62821, "ts": "2026-09-06T10:50:51Z", "hours": 11.515, "text": "Devlog 13: 3rr0Rssss$s ❌ and ✅Results<> Completely rewrote ȩ̷̪̓̈́́́͗͝ŗ̵͔̥̜̹̬̭̯̏̆̽͂̈́̅̐͛̾͘ͅr̸͗̌͌̾̌̾̂́͜ö̷̪̰́͊̆͗̈́̿̏́̀̂r̶̨̮̹͎̹̫͑̅̂̽̾̎͌s , Now each method returns in its chain a Result<TValue, TError> Methods like Map,Bind,Tap etc. make it now super easy to process results and errors :))"}, {"post_id": 61536, "ts": "2026-09-04T14:30:32Z", "hours": 12.2986, "text": "Devlog 12: Cards and MORE Cards 🃏 I have added Cards which can now summon units Also needed to redo the ability validation as now the modular ability system came in handy. I was able to combine both the Ability System and the Cards , so that the cards can use them freely."}, {"post_id": 58885, "ts": "2026-08-31T13:41:36Z", "hours": 8.9453, "text": "Devlog 11: I Hereby SUMMON YOU! (#°Д°) Today we are adding CARDS , 🃏Cards contain MANA Portrait Health Duration (after how many rounds does the card play its effect ) One problem i am encountering is how to identify clicking vs draggin in godot 😵💫, but i believe i could use a workaround"}, {"post_id": 56779, "ts": "2026-08-28T17:55:17Z", "hours": 13.4456, "text": "Devlog 10: MOOORE ANIMATIONSS!!!! Added a TweenComponent🎞️, allowing quick *reactive* and configurabel way to add TWEENS Created AutoGenerated Scripts⚙️ (if you know Godot.SignalNames , in a way i created the same) And for some reason one of my scripts reset so i had to debug it completly from the beginning 😭, but somehow it just got better lol."}, {"post_id": 53811, "ts": "2026-08-24T14:46:01Z", "hours": 11.2481, "text": "Devlog 9: Soo can i remove it?:0 New modular UI animations and able to delete and see order of tiles selected 😃 Tween Component 🎞️ Allows Resources to animate specifics (loop, ping pong) on specific actions (ready, shown etc.) For multiselectable tiles, there is a new layer which shows when which tiles were selected. Allows also the deletion of tiles if still valid."}, {"post_id": 50525, "ts": "2026-08-19T18:26:55Z", "hours": 8.7558, "text": "Devlog 8: So thats how much more i can CUT you😈 100+ hours 🥳 Finally added a UI for Pool Points💯 (How often an ability can be cast) Pool Updates 💧 The pool shows Icon and Count/MaxCount , with custom ANIMATIONS when the count changes Blocking Manager 🫸 The new Blocking Manager keeps track of the game states and automatically, blocks specific ui. Very Dynamic ( •̀ ω •́ )✧ (using enums for options) Next UP: More juicy animations for the Pool count (showing diff, based on current selected tiles, and a crash animation (hopefully 😅, if i can figure that out xd ))"}, {"post_id": 47365, "ts": "2026-08-15T08:27:57Z", "hours": 4.3611, "text": "Devlog 8: Ahhh you, I hit ( ̄ε(# ̄)💥╰╮o( ̄皿 ̄///) Through the new ability System, was finally able to add hit flashes ! But it was such a pain to get the Shaders working 〒▽〒 , they were never firing once, but 3 - 4 times in one row which didn’t make sense for 1 SLAP. If you hit them hard enough they jitter 😱 … Future destination 🛣️ I could imagine updating the system to be reactive to the effect applied to each Unit (so more DMG => More BOOM💥) Also added finally animations (was time).🕺"}, {"post_id": 46304, "ts": "2026-08-13T13:09:07Z", "hours": 3.7408, "text": "Devlog 7: 🐦🔥 HUGE Ability CHANGES Finally finished the new ability system (just took like 14 HOuRs Xdd) The new system introducestwo ways of running abilities (🤫see video): ⛓️Sequential Runs all selected tiles one by one, and casts the effect 📦Batch Runs the effect on all selected tiles. Also Added Context so that Abilities/Effects can now communicate and influence each other : Cost = Base Cost + Selected Tiles ... Damage = Cost * Base Damage (infinite cycle of death 🩻) This will allow huge upgrades to make in a modular way complex abilities super simple and fast ."}, {"post_id": 45761, "ts": "2026-08-12T13:46:07Z", "hours": 11.2067, "text": "Devlog 6: Rebuilding the Ability System Completely restructured the ability system , allowing abilities to be either sequentially or in batches . Also improved the underlying patterns, making abilities easier to modify, reuse, and plug into the game.(see image) Currently implementing EffectTrigger , which allows Effects of abilities to happen on specific Frames or after specific Time etc."}, {"post_id": 44495, "ts": "2026-08-10T09:23:28Z", "hours": 1.1089, "text": "Devlog 5: Camera Movement & Board Centralization Added camera movement and board centralization It feels super smooth ( zooming and moving ) thanks to lerp (love that name xd) 🤫 Also auto centers dynamically based on BOARD SIZE (if you want you can fight your friends on 1000 x 1000 tiles lul)"}, {"post_id": 44174, "ts": "2026-08-09T19:13:05Z", "hours": 0.4558, "text": "Devlog 4: Pre-Alpha Release 🥳🥳 Pre-alpha release is out! ( under review shipping, follow to see when comes live ;)) Also fixed positioning of ability buttons 🔥"}, {"post_id": 44122, "ts": "2026-08-09T18:03:26Z", "hours": 6.4614, "text": "Devlog 3: Big Progress on Units & Turn Logic Made great progress… ( •̀ ω •́ )✧ Added unit sprites Implemented turn logic Overengineered like always, xd but if i every want to make a 2v2 or how many vs how many , it will work Good thing: it now supports local X vs X , which is great for testing. :)) Next up: cool animations hehehe."}, {"post_id": 40688, "ts": "2026-08-04T11:39:41Z", "hours": 1.4419, "text": "Devlog 2: A Super Compact, Dynamic Ability System Drag and drop your Patterns (Cross, etc.) and Tada👀, you’ve got a new ability.💪 Need a special effect? Just plug in one of: DamageEffect SpawnEffect MoveSelfEffect …and many more."}, {"post_id": 40390, "ts": "2026-08-03T21:11:26Z", "hours": 63.7325, "text": "Devlog 1: 50 hours in the bag, joined stardance now! Added Ability system and backend Teams Logic (nothing visual sadly yet…)"}]...
|
Title: AKidsDream by @MrCode | Stardance
Devlogs: Title: AKidsDream by @MrCode | Stardance
Devlogs:
Devlog 1: 50 hours in the bag, joined stardance now! Added Ability system and backend Teams Logic (nothing visual sadly yet…)
Devlog 2: A Super Compact, Dynamic Ability System Drag and drop your Patterns (Cross, etc.) and Tada👀, you’ve got a new ability.💪 Need a special effect? Just plug in one of: DamageEffect SpawnEffect MoveSelfEffect …and many more.
Devlog 3: Big Progress on Units & Turn Logic Made great progress… ( •̀ ω •́ )✧ Added unit sprites Implemented turn logic Overengineered like always, xd but if i every want to make a 2v2 or how many vs how many , it will work Good thing: it now supports local X vs X , which is great for testing. :)) Next up: cool animations hehehe.
Devlog 4: Pre-Alpha Release 🥳🥳 Pre-alpha release is out! ( under review shipping, follow to see when comes live ;)) Also fixed positioning of ability buttons 🔥
Devlog 5: Camera Movement & Board Centralization Added camera movement and board centralization It feels super smooth ( zooming and moving ) thanks to lerp (love that name xd) 🤫 Also auto centers dynamically based on BOARD SIZE (if you want you can fight your friends on 1000 x 1000 tiles lul)
Devlog 6: Rebuilding the Ability System Completely restructured the ability system , allowing abilities to be either sequentially or in batches . Also improved the underlying patterns, making abilities easier to modify, reuse, and plug into the game.(see image) Currently implementing EffectTrigger , which allows Effects of abilities to happen on specific Frames or after specific Time etc.
Devlog 7: 🐦🔥 HUGE Ability CHANGES Finally finished the new ability system (just took like 14 HOuRs Xdd) The new system introducestwo ways of running abilities (🤫see video): ⛓️Sequential Runs all selected tiles one by one, and casts the effect 📦Batch Runs the effect on all selected tiles. Also Added Context so that Abilities/Effects can now communicate and influence each other : Cost = Base Cost + Selected Tiles ... Damage = Cost * Base Damage (infinite cycle of death 🩻) This will allow huge upgrades to make in a modular way complex abilities super simple and fast .
Devlog 8: Ahhh you, I hit ( ̄ε(# ̄)💥╰╮o( ̄皿 ̄///) Through the new ability System, was finally able to add hit flashes ! But it was such a pain to get the Shaders working 〒▽〒 , they were never firing once, but 3 - 4 times in one row which didn’t make sense for 1 SLAP. If you hit them hard enough they jitter 😱 … Future destination 🛣️ I could imagine updating the system to be reactive to the effect applied to each Unit (so more DMG => More BOOM💥) Also added finally animations (was time).🕺
Devlog 8: So thats how much more i can CUT you😈 100+ hours 🥳 Finally added a UI for Pool Points💯 (How often an ability can be cast) Pool Updates 💧 The pool shows Icon and Count/MaxCount , with custom ANIMATIONS when the count changes Blocking Manager 🫸 The new Blocking Manager keeps track of the game states and automatically, blocks specific ui. Very Dynamic ( •̀ ω •́ )✧ (using enums for options) Next UP: More juicy animations for the Pool count (showing diff, based on current selected tiles, and a crash animation (hopefully 😅, if i can figure that out xd ))
Devlog 9: Soo can i remove it?:0 New modular UI animations and able to delete and see order of tiles selected 😃 Tween Component 🎞️ Allows Resources to animate specifics (loop, ping pong) on specific actions (ready, shown etc.) For multiselectable tiles, there is a new layer which shows when which tiles were selected. Allows also the deletion of tiles if still valid.
Devlog 10: MOOORE ANIMATIONSS!!!! Added a TweenComponent🎞️, allowing quick *reactive* and configurabel way to add TWEENS Created AutoGenerated Scripts⚙️ (if you know Godot.SignalNames , in a way i created the same) And for some reason one of my scripts reset so i had to debug it completly from the beginning 😭, but somehow it just got better lol.
Devlog 11: I Hereby SUMMON YOU! (#°Д°) Today we are adding CARDS , 🃏Cards contain MANA Portrait Health Duration (after how many rounds does the card play its effect ) One problem i am encountering is how to identify clicking vs draggin in godot 😵💫, but i believe i could use a workaround
Devlog 12: Cards and MORE Cards 🃏 I have added Cards which can now summon units Also needed to redo the ability validation as now the modular ability system came in handy. I was able to combine both the Ability System and the Cards , so that the cards can use them freely.
Devlog 13: 3rr0Rssss$s ❌ and ✅Results<> Completely rewrote ȩ̷̪̓̈́́́͗͝ŗ̵͔̥̜̹̬̭̯̏̆̽͂̈́̅̐͛̾͘ͅr̸͗̌͌̾̌̾̂́͜ö̷̪̰́͊̆͗̈́̿̏́̀̂r̶̨̮̹͎̹̫͑̅̂̽̾̎͌s , Now each method returns in its chain a Result<TValue, TError> Methods like Map,Bind,Tap etc. make it now super easy to process results and errors :))
Devlog 14: Is it SatisFeelingable enough ☺️ (Help Q&Q: what animation feels more satisfying ?:00) Added clean card animation (in not so clean code 😭😭) More information on who’s turn it is. with bumb up🆙 animations for the Q&Q see the videos <3 Next 🆙: Card Deck and card into effect animations (spawn animations if above works without coding problems, which i feel is a delusional hope🥲 )
Devlog 15: The Power of Plugins 🔌 Turned the Tween System into a plugin :)) Now it is way easier to reuse animations everywhere 🎞️ Also finished all Card + Hand logic 🃏 and cleaned up lots of code + bugs along the way 😭 The project’s recent work includes a refactor of the ability/card systems plus deck and cardcasting functionality.
Devlog 16: Extensions, Plugins && MODSSSSS Yes, it has been time, for what has given success to most games EVER!!!!!! ➕MODS Hard as hell to implement, as you need to make sure that each coding dependencies are implemented correctly… Had to change hole game structure to be easily extendable/moddable (fun and hard ) But i have to say i am learning more which is awsome But still many bugs and logic to fix/implement lul…
Ships:
👾 AKidsDream(name work in progress), is a early version of a turn based strategy game, where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. A Kid’s Dream 🌜is my attempt to recreate that experience. Not exactly as it was, but from the pieces that remain in my memory. It is a game inspired by childhood imagination, handmade rules, and the joy of turning simple ideas into an adventure. ⚔️ Currently the game is in very early alpha, basically a proof of concept. I would love support, about what you would like to see, Game Design tips and tricks and what a winning condition could be. (destroy objectives vs destory a unit(like a king 🤴)
👾 AKidsDream~~(name work in progress)~~ , is a early version of a turn based strategy game , where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. 🏳️🏴Goal Its not just an attempt to make a game , its the challenge of creating modular , future proof system and to learn to clean code , using all my knoweledge of over the past 4 years of learning . (so even if i dont get rich with this game i did learn a lot xdd) What’s🆕 As this isn’t the first ship of the project, the project now contains: Mana💎 & a working card/hand systems Juicy new animations (as you may have seen with thecard drawing) more ℹ️nfo (who is playing and support for multiple local players) Hardships ( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///) Trying to code everything modular and clean takes time, which is valuable resource :( Also the progress feels much slower at the beginning (but i could reuse the modular ability system for the cards which made everything easier:)) As i have invested close to 200hourse, the project has grown so much that sometimes its hard to see how one system may break another , then its another 1 hour debugging...
|
1792979343.917258
|
1793065743.917258
|
|
57820
|
What's Fresh? by @nokira | Stardance
|
nokira
|
1
|
10.0
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T13:29:07Z", "hours": 10.0, "multiplier": 12.43, "payout": 129, "blessing": "neutral", "text": "Having to decide what to eat it’s always hard, that’s why What’s Fresh? exixsts! Plan your weekly meals ahead of time and stop wasting moments of your life. Just select all the meals for the week or day! Want to select what you are going to eat today? Just select your meals in the home page. Want to plan the whole week? Just select the weekly planner on the menu and choose meals for each day! You can search for various meals and use the filters to include only what you’re feeling like eating so don’t feel stressed about knowing what you want to eat :) All of the selected meals are saved locally and each day the daily planner will sync with the meals planned for the week. Overall, I would say that the project was kind of complicated to make. It wasn’t about the code, but more about finding time to make it. I planned on making this right before school started thinking I could make something polished and include all of the features I thought of, but instead, I got submerged with school work so unfortunately, I won’t be able to polish everything.", "repo": "https://github.com/n0kira/MealPlanner", "demo": "https://n0kira.github.io/MealPlanner/"}]...
|
[{"post_id": 71749, "ts": "202 [{"post_id": 71749, "ts": "2026-09-21T13:24:28Z", "hours": 0.9989, "text": "Devlog #7 Done? Hey everyone!! Yesterday I managed to finish the last details of the website. Unfortunately I realized that implementing all the features I planned at the beginning would take much more time compared to what I have with all the School work I have to do. So more polishing on the research for meals and the grocery list aren’t in the app. It’s sad but I really don’t have much time this week and the next one so I can’t make it before the end of the month… But anyways, I am still happy of what I made, so today I am shipping :) Thanks everyone for the support!!"}, {"post_id": 69238, "ts": "2026-09-16T17:15:23Z", "hours": 2.7472, "text": "Devlog #6 Saving Heyyy!! After a Week I finally managed to work for some more time on this project. In the previous days I didn’t post any devlogs but I did work on it for really short amount of times, and with today I managed to implement the saving and synchronized the daily planner with the weekly one. So now if you fill out the week, each day you will see the selected dishes on the “Today” page. I hope in the upcoming days I’ll get some more time like today so I can work more on this!! Thank you guys for reading :) Have a great day"}, {"post_id": 64772, "ts": "2026-09-09T12:57:04Z", "hours": 0.5828, "text": "Devlog #5 Slow progression Hey guys! Unfortunately, I’ve been really busy with school since it started, so I can’t work as much as before. Today all I could do is being able to select the meals, and I also fixed the filters not showing up. Right now, I am mostly focusing on the JavaScript rather than the CSS, but I will work on it too once I finish with the important parts. Byeee thanks for reading!"}, {"post_id": 63583, "ts": "2026-09-07T14:38:07Z", "hours": 0.9917, "text": "Devlog #4 Nothing works Hi guys! Sooo today I tried adding the filters for the search, but it doesn’t really work. I don’t know why, but all the filters do not show. I will look into this tomorrow since today I don’t have any time for it… Hopefully I will get it working quickly so I can start working some more on the styling. That’s everything for today, thanks for reading!! Byee"}, {"post_id": 62870, "ts": "2026-09-06T12:19:34Z", "hours": 0.8247, "text": "Devlog #3 API is working Hey guys! Today I worked a bit more with the API and I think I now fully understand how it works. Now when clicking Lunch and Dinner, the results will have many different dishes ranging from Seafood to Chicken meals. Ignore the style for now because that’s just to test everything. Also, I am planning to add a filter where you can select categories manually so you can filter meals based on your preferences and if you can’t find anything appealing in the starting page, you can always use the search bar, which now isn’t really working but I’ll do it sooner or later :) Thank you, guys, as always for reading Have a great day!!"}, {"post_id": 62136, "ts": "2026-09-05T12:04:38Z", "hours": 1.5342, "text": "Devlog #2 Work in progress Hello everyone! Today I explored TheMealDB which I will use to fetch all meals. Right now, I started experimenting with it, so what you see will be gone in the next devlogs. So right now, I just have it working on the Breakfast button, because it’s the easiest one since TheMealDB has a category breakfast and I can simply request it like that. For Lunch and Dinner there are no dedicated categories, and I will implement a menu where you can choose different kind of meals, like Pasta, Chicken, Seafood and so on, and will fetch the meals based on the choices. That’s everything for today. In the upcoming days I will be slower in posting devlogs and writing code because school is starting… so I won’t have as much free time as I did until now. Bye!! Thanks for reading"}, {"post_id": 60876, "ts": "2026-09-03T14:59:48Z", "hours": 2.6878, "text": "Devlog #1 What’s Fresh? Hii guys! So today I randomly woke up thinking about something to complete the Frictionless mission, and so I thought about doing a Meal Planner application. You basically can: Plan what you’re going to eat today, you can do this in the morning, this way you won’t have to worry about it in the morning Plan your whole week! You can select meals for each day of the week. So if you select noodles for lunch on Monday, if you check the app on Monday morning, you will already see on the “Today’s Meals” page what you had planned before. I think that could be useful for some people, or at least me, because I never plan my meals and end up last minute having to decide Also, one feature I think I’ll add, is to take all the ingredients needed for the meals you chose and generate a grocery list, so you won’t have to manually check each single one and waste time doing it yourself. I attached a picture of what I did now, I’m not too sure about the colors, I love the green and cream (if that’s cream) color but let me know about it! I am willing to change the palette. Bye guys! Have a great day :)"}]...
|
Title: What's Fresh? by @nokira | Stardance
D Title: What's Fresh? by @nokira | Stardance
Devlogs:
Devlog #1 What’s Fresh? Hii guys! So today I randomly woke up thinking about something to complete the Frictionless mission, and so I thought about doing a Meal Planner application. You basically can: Plan what you’re going to eat today, you can do this in the morning, this way you won’t have to worry about it in the morning Plan your whole week! You can select meals for each day of the week. So if you select noodles for lunch on Monday, if you check the app on Monday morning, you will already see on the “Today’s Meals” page what you had planned before. I think that could be useful for some people, or at least me, because I never plan my meals and end up last minute having to decide Also, one feature I think I’ll add, is to take all the ingredients needed for the meals you chose and generate a grocery list, so you won’t have to manually check each single one and waste time doing it yourself. I attached a picture of what I did now, I’m not too sure about the colors, I love the green and cream (if that’s cream) color but let me know about it! I am willing to change the palette. Bye guys! Have a great day :)
Devlog #2 Work in progress Hello everyone! Today I explored TheMealDB which I will use to fetch all meals. Right now, I started experimenting with it, so what you see will be gone in the next devlogs. So right now, I just have it working on the Breakfast button, because it’s the easiest one since TheMealDB has a category breakfast and I can simply request it like that. For Lunch and Dinner there are no dedicated categories, and I will implement a menu where you can choose different kind of meals, like Pasta, Chicken, Seafood and so on, and will fetch the meals based on the choices. That’s everything for today. In the upcoming days I will be slower in posting devlogs and writing code because school is starting… so I won’t have as much free time as I did until now. Bye!! Thanks for reading
Devlog #3 API is working Hey guys! Today I worked a bit more with the API and I think I now fully understand how it works. Now when clicking Lunch and Dinner, the results will have many different dishes ranging from Seafood to Chicken meals. Ignore the style for now because that’s just to test everything. Also, I am planning to add a filter where you can select categories manually so you can filter meals based on your preferences and if you can’t find anything appealing in the starting page, you can always use the search bar, which now isn’t really working but I’ll do it sooner or later :) Thank you, guys, as always for reading Have a great day!!
Devlog #4 Nothing works Hi guys! Sooo today I tried adding the filters for the search, but it doesn’t really work. I don’t know why, but all the filters do not show. I will look into this tomorrow since today I don’t have any time for it… Hopefully I will get it working quickly so I can start working some more on the styling. That’s everything for today, thanks for reading!! Byee
Devlog #5 Slow progression Hey guys! Unfortunately, I’ve been really busy with school since it started, so I can’t work as much as before. Today all I could do is being able to select the meals, and I also fixed the filters not showing up. Right now, I am mostly focusing on the JavaScript rather than the CSS, but I will work on it too once I finish with the important parts. Byeee thanks for reading!
Devlog #6 Saving Heyyy!! After a Week I finally managed to work for some more time on this project. In the previous days I didn’t post any devlogs but I did work on it for really short amount of times, and with today I managed to implement the saving and synchronized the daily planner with the weekly one. So now if you fill out the week, each day you will see the selected dishes on the “Today” page. I hope in the upcoming days I’ll get some more time like today so I can work more on this!! Thank you guys for reading :) Have a great day
Devlog #7 Done? Hey everyone!! Yesterday I managed to finish the last details of the website. Unfortunately I realized that implementing all the features I planned at the beginning would take much more time compared to what I have with all the School work I have to do. So more polishing on the research for meals and the grocery list aren’t in the app. It’s sad but I really don’t have much time this week and the next one so I can’t make it before the end of the month… But anyways, I am still happy of what I made, so today I am shipping :) Thanks everyone for the support!!
Ships:
Having to decide what to eat it’s always hard, that’s why What’s Fresh? exixsts! Plan your weekly meals ahead of time and stop wasting moments of your life. Just select all the meals for the week or day! Want to select what you are going to eat today? Just select your meals in the home page. Want to plan the whole week? Just select the weekly planner on the menu and choose meals for each day! You can search for various meals and use the filters to include only what you’re feeling like eating so don’t feel stressed about knowing what you want to eat :) All of the selected meals are saved locally and each day the daily planner will sync with the meals planned for the week. Overall, I would say that the project was kind of complicated to make. It wasn’t about the code, but more about finding time to make it. I planned on making this right before school started thinking I could make something polished and include all of the features I thought of, but instead, I got submerged with school work so unfortunately, I won’t be able to polish everything....
|
1793005024.6256773
|
1793091424.6256773
|
|
63917
|
AgroSentinel by @DavidSalas | Stardance
|
DavidSalas
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T13:16:09Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "AgroSentinel an autonomous AI agent for agricultural water-stress monitoring, built for Costa Rica’s San Carlos farming region. It follows a perceive-decide-act loop: field data (NDVI, soil moisture, crop type, growth stage) and real NASA climate data feed into deterministic FAO-56 agronomic calculations (reference evapotranspiration, soil water balance, real crop coefficients cited from a Costa Rican engineering thesis), and only then does Claude reason over that already-validated science to decide a dosed irrigation valve’s exact opening percentage, with factor-by-factor reasoning and a stated confidence level. The full system includes a Supabase-backed multi-user database with row-level security, a Telegram bot for natural-language reporting and proactive alerts, and a multi-agent negotiation system where neighboring farms in the same watershed autonomously negotiate shared water through an AI mediator Keeping the AI honest was harder than making it work. Early on, Claude was inventing plausible-sounding numbers (liters saved, days until crisis) with no formula behind them, we had to redesign the pipeline so all agronomic math is computed deterministically in code before Claude ever sees it, and Claude’s job became reasoning over validated data rather than generating numbers itself. That every scientific claim in the project is traceable to a real source Sign up with email or Google. Field data can be entered manually via sliders, so no sensors or drone are required to try a full analysis, pick a crop and soil type, adjust NDVI/humidity/temperature, and hit “Analyze” to see Claude’s real decision.", "repo": "https://github.com/whoisdavid22/whoisdavid22.github.io", "demo": "https://whoisdavid22.github.io/agrosentinel/#"}]...
|
[{"post_id": 71582, "ts": "202 [{"post_id": 71582, "ts": "2026-09-21T02:57:58Z", "hours": 3.4033, "text": "in progress"}, {"post_id": 71186, "ts": "2026-09-20T12:41:43Z", "hours": 7.6581, "text": "AgroSentinel is an autonomous AI agricultural monitoring agent that detects and manages crop water stress in real time. Built for the Intel InNow Technology Fest 2026 in Costa Rica, it follows a perceive-decide-act cycle: it gathers field data (NDVI, soil moisture, temperature, rainfall, crop type, growth stage, drone imagery analyzed with Claude Vision) and enriches it with real climate data from NASA POWER. Before invoking AI, the system runs deterministic agronomic calculations based on the FAO-56 methodology (Hargreaves-Samani reference evapotranspiration, soil water balance, and real crop coefficients cited from a Costa Rican engineering thesis), so Claude reasons over validated science rather than inventing numbers. Claude then decides the exact opening percentage for a dosed irrigation valve, explains its reasoning factor by factor, and states its confidence level."}]...
|
Title: AgroSentinel by @DavidSalas | Stardance
De Title: AgroSentinel by @DavidSalas | Stardance
Devlogs:
AgroSentinel is an autonomous AI agricultural monitoring agent that detects and manages crop water stress in real time. Built for the Intel InNow Technology Fest 2026 in Costa Rica, it follows a perceive-decide-act cycle: it gathers field data (NDVI, soil moisture, temperature, rainfall, crop type, growth stage, drone imagery analyzed with Claude Vision) and enriches it with real climate data from NASA POWER. Before invoking AI, the system runs deterministic agronomic calculations based on the FAO-56 methodology (Hargreaves-Samani reference evapotranspiration, soil water balance, and real crop coefficients cited from a Costa Rican engineering thesis), so Claude reasons over validated science rather than inventing numbers. Claude then decides the exact opening percentage for a dosed irrigation valve, explains its reasoning factor by factor, and states its confidence level.
in progress
Ships:
AgroSentinel an autonomous AI agent for agricultural water-stress monitoring, built for Costa Rica’s San Carlos farming region. It follows a perceive-decide-act loop: field data (NDVI, soil moisture, crop type, growth stage) and real NASA climate data feed into deterministic FAO-56 agronomic calculations (reference evapotranspiration, soil water balance, real crop coefficients cited from a Costa Rican engineering thesis), and only then does Claude reason over that already-validated science to decide a dosed irrigation valve’s exact opening percentage, with factor-by-factor reasoning and a stated confidence level. The full system includes a Supabase-backed multi-user database with row-level security, a Telegram bot for natural-language reporting and proactive alerts, and a multi-agent negotiation system where neighboring farms in the same watershed autonomously negotiate shared water through an AI mediator Keeping the AI honest was harder than making it work. Early on, Claude was inventing plausible-sounding numbers (liters saved, days until crisis) with no formula behind them, we had to redesign the pipeline so all agronomic math is computed deterministically in code before Claude ever sees it, and Claude’s job became reasoning over validated data rather than generating numbers itself. That every scientific claim in the project is traceable to a real source Sign up with email or Google. Field data can be entered manually via sliders, so no sensors or drone are required to try a full analysis, pick a crop and soil type, adjust NDVI/humidity/temperature, and hit “Analyze” to see Claude’s real decision....
|
1792965030.2462838
|
1793051430.2462838
|
|
64434
|
Math Rush by @fadyalber2009 | Stardance
|
fadyalber2009
|
1
|
10.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T12:42:47Z", "hours": 10.0, "multiplier": 1.11, "payout": 11, "blessing": "neutral", "text": "math challenge challenge yourself, solve faster, and become a math master!", "repo": "https://github.com/fady-albert/math", "demo": "https://fady-albert.github.io/math/"}]...
|
[{"post_id": 71732, "ts": "202 [{"post_id": 71732, "ts": "2026-09-21T12:35:55Z", "hours": 10.135, "text": "Upgrade your math skills Challenge yourself, solve faster, and become a math master!"}]...
|
Title: Math Rush by @fadyalber2009 | Stardance
De Title: Math Rush by @fadyalber2009 | Stardance
Devlogs:
Upgrade your math skills Challenge yourself, solve faster, and become a math master!
Ships:
math challenge challenge yourself, solve faster, and become a math master!...
|
1792965074.0311816
|
1793051474.0311816
|
|
58812
|
Cyber Rider by @srauniyar311 | Stardance
|
srauniyar311
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T12:01:33Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made physics based website explaning the concept of Electron in a interactive and beautiful way. Most of the the explaination is done in readme of how this website was build and what were its flaws and how it was fixed", "repo": "https://github.com/srauniyar-bit/Electron", "demo": "https://electron-gold.vercel.app/"}]...
|
[{"post_id": 71724, "ts": "202 [{"post_id": 71724, "ts": "2026-09-21T11:53:49Z", "hours": 3.7561, "text": "Its normal jump game , a first website game making it as simple and understanding the mechanics of the website game"}]...
|
Title: Cyber Rider by @srauniyar311 | Stardance
D Title: Cyber Rider by @srauniyar311 | Stardance
Devlogs:
Its normal jump game , a first website game making it as simple and understanding the mechanics of the website game
Ships:
I have made physics based website explaning the concept of Electron in a interactive and beautiful way. Most of the the explaination is done in readme of how this website was build and what were its flaws and how it was fixed...
|
1793008133.652175
|
1793094533.652175
|
|
64419
|
askHeros by @sushant-vats | Stardance
|
sushant-vats
|
1
|
6.07
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T12:00:47Z", "hours": 5.0, "multiplier": 1.95, "payout": 10, "blessing": "neutral", "text": "I made a web app called askHeros ! One of the biggest challenges was finding a good API to use. A big shoutout to the people in the Hack Club Slack who told me about the Hack Club AI API, that helped me a lot. Another challenge was understanding how the , frontend and backend communicate with each other. This was actually my first time working with that, so figuring out how a request goes from the frontend to the backend and then comes back with a response was a really good learning experience. One small thing to keep in mind: askHeros might not be as fast as AI tools like GPT or Claude. It can take a few extra seconds to think and generate the response, so if it doesn’t answer immediately, just wait a few seconds! That’s pretty much it. Hope you enjoy trying it out!", "repo": "https://github.com/sushant-vats/askHeros", "demo": "https://askheros.sushant-vats.hackclub.app/"}]...
|
[{"post_id": 74776, "ts": "202 [{"post_id": 74776, "ts": "2026-09-28T06:50:40Z", "hours": 1.0703, "text": "Day 02: Made some changes in askHeros based on the suggestion from the reviewer. The main changes were: 1) Hosted askHeros on Hackclub Nest instead of render so it can run 24/7 without going to sleep. 2) Updated the README and some other improvements 3) Removed the parts of project were written using Ai and rewrote them myself. Overall, I cleaned up the project and made the changes suggested during the review"}, {"post_id": 71720, "ts": "2026-09-21T11:37:12Z", "hours": 5.2056, "text": "Day 1: Built askHeros from scratch Today I finished building my first version of askHeros end-to-end!The idea is pretty simple: you choose a superhero, ask them a question, and they explain it in their own way. I wanted each hero to actually feel different, so instead of just changing a few words in the prompt, I made a proper persona system using structured config data for each hero’s personality, voice, and teaching style.On the backend, I set up Node.js + Express and connected it to the Hack Club AI API. Then I built the frontend with a landing page, superhero selection cards, a question box, and an answer screen. I went with a dark comic-book style and gave each hero their own glow color.I also added loading and error states, entrance animations, and made the site responsive so it works on mobile too.After getting everything working locally, I deployed the app on Render and pushed the project to GitHub.Things that went wrongThe biggest challenge was honestly debugging tiny mistakes. Things like missing quotes or using the wrong variable name could completely break something, and sometimes the error wasn’t immediately obvious.I also accidentally exposed my API key while working on the project. GitHub’s secret scanning caught it before it could become a bigger problem, which was a really useful lesson. I learned why environment variables, .env files, and .gitignore are so important when building projects with APIs.Overall, this was a really fun first day. I learned way more by actually building and breaking things than I expected."}]...
|
Title: askHeros by @sushant-vats | Stardance
Devl Title: askHeros by @sushant-vats | Stardance
Devlogs:
Day 1: Built askHeros from scratch Today I finished building my first version of askHeros end-to-end!The idea is pretty simple: you choose a superhero, ask them a question, and they explain it in their own way. I wanted each hero to actually feel different, so instead of just changing a few words in the prompt, I made a proper persona system using structured config data for each hero’s personality, voice, and teaching style.On the backend, I set up Node.js + Express and connected it to the Hack Club AI API. Then I built the frontend with a landing page, superhero selection cards, a question box, and an answer screen. I went with a dark comic-book style and gave each hero their own glow color.I also added loading and error states, entrance animations, and made the site responsive so it works on mobile too.After getting everything working locally, I deployed the app on Render and pushed the project to GitHub.Things that went wrongThe biggest challenge was honestly debugging tiny mistakes. Things like missing quotes or using the wrong variable name could completely break something, and sometimes the error wasn’t immediately obvious.I also accidentally exposed my API key while working on the project. GitHub’s secret scanning caught it before it could become a bigger problem, which was a really useful lesson. I learned why environment variables, .env files, and .gitignore are so important when building projects with APIs.Overall, this was a really fun first day. I learned way more by actually building and breaking things than I expected.
Day 02: Made some changes in askHeros based on the suggestion from the reviewer. The main changes were: 1) Hosted askHeros on Hackclub Nest instead of render so it can run 24/7 without going to sleep. 2) Updated the README and some other improvements 3) Removed the parts of project were written using Ai and rewrote them myself. Overall, I cleaned up the project and made the changes suggested during the review
Ships:
I made a web app called askHeros ! One of the biggest challenges was finding a good API to use. A big shoutout to the people in the Hack Club Slack who told me about the Hack Club AI API, that helped me a lot. Another challenge was understanding how the , frontend and backend communicate with each other. This was actually my first time working with that, so figuring out how a request goes from the frontend to the backend and then comes back with a response was a really good learning experience. One small thing to keep in mind: askHeros might not be as fast as AI tools like GPT or Claude. It can take a few extra seconds to think and generate the response, so if it doesn’t answer immediately, just wait a few seconds! That’s pretty much it. Hope you enjoy trying it out!...
|
1792965071.7791436
|
1793051471.7791436
|
|
63082
|
Vortex Web Browser by @Divij | Stardance
|
Divij
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T11:59:32Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A Web Browser", "repo": "https://github.com/Divij808/Vortex-web-Browser", "demo": "https://github.com/Divij808/Vortex-web-Browser/releases/tag/WebBrowser"}]...
|
[{"post_id": 69595, "ts": "202 [{"post_id": 69595, "ts": "2026-09-17T11:46:29Z", "hours": 0.3942, "text": "I have built a simple web browser with tabs that can retrieve your search results."}]...
|
Title: Vortex Web Browser by @Divij | Stardance
D Title: Vortex Web Browser by @Divij | Stardance
Devlogs:
I have built a simple web browser with tabs that can retrieve your search results.
Ships:
A Web Browser...
|
1792964965.9956791
|
1793051365.9956791
|
|
64109
|
Portfolio Website by @Alan-Betty | Stardance
|
Alan-Betty
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T11:29:12Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Fully Working Portfolio Website Stacked with my projects, achievements etc.. Using Next.js and WebGL. The main center of attraction is the black hole, that follows the user all across the page and interacts with the mouse cursor. There is an Easter Egg at the very bottom. check it out. Try it OUT.", "repo": "https://github.com/Alan-Betty/Alan-Betty", "demo": "https://alan-betty.vercel.app"}]...
|
[{"post_id": 71714, "ts": "202 [{"post_id": 71714, "ts": "2026-09-21T11:24:00Z", "hours": 0.3308, "text": "Portfolio Website using Next.js and WebGL Just Completed MY Portfolio website made using Next.js and WebGL. The main Attraction is the blackhole that lives in the background, following the user throughout the page. It interacts with every mouse movement and can swallow stars. There is an easter egg at the very end of this page. Try it out 😉 This Website contains a lot of the details about me, my achievements, and MY PROJECTS. Hope You Like it."}]...
|
Title: Portfolio Website by @Alan-Betty | Stardanc Title: Portfolio Website by @Alan-Betty | Stardance
Devlogs:
Portfolio Website using Next.js and WebGL Just Completed MY Portfolio website made using Next.js and WebGL. The main Attraction is the blackhole that lives in the background, following the user throughout the page. It interacts with every mouse movement and can swallow stars. There is an easter egg at the very end of this page. Try it out 😉 This Website contains a lot of the details about me, my achievements, and MY PROJECTS. Hope You Like it.
Ships:
I made a Fully Working Portfolio Website Stacked with my projects, achievements etc.. Using Next.js and WebGL. The main center of attraction is the black hole, that follows the user all across the page and interacts with the mouse cursor. There is an Easter Egg at the very bottom. check it out. Try it OUT....
|
1792965045.681803
|
1793051445.681803
|
|
53903
|
MechSim by @rayzchen | Stardance
|
rayzchen
|
1
|
34.0
|
667
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T11:26:58Z", "hours": 34.0, "multiplier": 19.88, "payout": 667, "blessing": "neutral", "text": "MechSim MechSim is a mechanical system simulator that uses Lagrangian mechanics and Runge-Kutta methods to simulate various constrained systems. From expressions of energy it is capable of deriving equations of motion using symbolic differentiation and then stepping through them in time to simulate the motion of the system. How to use The homepage has links to each of the system simulator pages. Each page has an energy label and diagram, playback buttons and sometimes system equations. The Rolling Disk Pendulum has equations of motion too complex to display on the screen. There is also a button to view the Python system file that creates the solver. The page runs best on a landscape desktop orientation. Code structure The project is written in both Python and JavaScript: the main Lagrangian system solver uses Python for its polymorphism and flexible OOP, while the renderer uses JS to efficiently draw the system and update the GUI. Minimal external dependencies are used, so almost all of the code has been written from scratch. Neither component uses nor requires the internals of the other: the system solver simply outputs a few numbers representing the phase state of the system, and the renderer uses those numbers to calculate the positions of objects to draw. Challenges One of the first major issues encountered was how to simplify expressions. Many of the basic rules in algebra are rather complicated to systematically apply, such as collecting like terms or using index laws. In fact, since the expressions obtained from the Euler-Lagrange equations are of a specific format, this symbolic differentiation engine is not fully-featured. Another detail that required significant attention was how to embed Python into a JavaScript powered webpage. The library used for this, PyScript, has two different Python interpreters: Pyodide and MicroPython, the latter of which is 37x smaller in size. The symbolic differentiation engine does not require any external dependencies, but the RK4 time stepper does use NumPy, which is not available on MicroPython. This meant that much of the code needed to be rewritten using ulab, the MicroPython equivalent. In addition to this, many of the CPython-specific implementation details were different, such as dictionary key order and hash function limitations, had varying behaviour on MicroPython and had to be taken account of. One of the techniques I used was dynamically creating each simulation webpage entirely using JavaScript without any frameworks such as jQuery. This meant that each simulation would have almost identical HTML and simply differing diagram drawing JS, which made adding new simulations a matter of copying the template code and editing the rendering script. Merits The system code is extremely intuitive to the point where even non-programmers should be capable of understanding how the system is set up. The most complex system, the Rolling Disk Pendulum, has no less than 7 components exerting classical forces on each other, but the Euler-Lagrange equations convert this simply to a set of simultaneous equations that can be solved instantly for individual accelerations. This results in fluid motion appearing on the screen, no matter how chaotic the system is.", "repo": "https://github.com/rayzchen/mechsim", "demo": "https://rayzchen.github.io/mechsim/"}]...
|
[{"post_id": 71486, "ts": "202 [{"post_id": 71486, "ts": "2026-09-20T22:10:29Z", "hours": 0.3753, "text": "Final fixes Changed the behaviour of the playback button icons to keep sync with the simulation. Also fixed a layering issue in the CSS. The project should now be ready to ship! Temporary deployments can be found at https://rayzchen.github.io/mechsim/"}, {"post_id": 70744, "ts": "2026-09-19T18:11:01Z", "hours": 0.8522, "text": "Playback Controls Added reset, play/pause and step buttons! Temporary deployments can be found at https://rayzchen.github.io/mechsim/"}, {"post_id": 70180, "ts": "2026-09-18T17:06:37Z", "hours": 0.7183, "text": "Energy Bar Added a bar on the left to graphically show the ratio between kinetic and potential energies (the faster things are moving, the more light grey there is). Temporary deployments can be found at https://rayzchen.github.io/mechsim/"}, {"post_id": 70158, "ts": "2026-09-18T16:19:19Z", "hours": 0.7106, "text": "Homepage! Finally able to navigate through the six simulation systems from one place 🔥🔥 Had to wrestle with CSS flexbox and transitions to make nice animations! Temporary deployments can be found at https://rayzchen.github.io/mechsim/"}, {"post_id": 69204, "ts": "2026-09-16T16:21:41Z", "hours": 0.9172, "text": "Cart + Pendulum Added a simple cart and pendulum system, and realised the internal rotation angles were COMPLETELY opposite… Spent half an hour of unlogged time just to find out that all of the systems were symmetric in angles except ONE which had a wrong sign in the rendering code, making it LOOK symmetric… Fixed that without too much of a headache once found :D"}, {"post_id": 69138, "ts": "2026-09-16T13:30:59Z", "hours": 1.0844, "text": "System file viewer Added a button to view the Python code that sets up the physical system. Temporary deployments can be found at https://rayzchen.github.io/mechsim/"}, {"post_id": 65038, "ts": "2026-09-09T20:59:17Z", "hours": 0.6514, "text": "More simulations New simulations added: Swinging Atwood Machine Ball on Slope Simple Pendulum Temporary deployments can be found at https://rayzchen.github.io/mechsim/"}, {"post_id": 64996, "ts": "2026-09-09T19:25:27Z", "hours": 0.8075, "text": "Website structure rewrite To make adding new simulations easier, I restructured the file layout and added more dynamic code to the shared JS to create the elements required rather than copy pasting everything in every file. Also added labels to the tab title and bottom right corner. Also rewrote the drawing code for the rolling disk to add more details. Temporary deployments can be found at https://rayzchen.github.io/mechsim/disk/"}, {"post_id": 56937, "ts": "2026-08-28T23:23:50Z", "hours": 4.4119, "text": "Complex System Demo This system contains a semicircular anulus rocking on a rough plane, with a circular disk inside attached to a compound pendulum, and constrained with three springs. Adjusting the parameters took an awfully long time… Temporary deployments can be found at https://rayzchen.github.io/mechsim/disk.html"}, {"post_id": 56254, "ts": "2026-08-27T22:49:48Z", "hours": 5.4453, "text": "Circular Disks After much headache, two new constraints have been implemented: disk rolling on a plane and disk rolling in a circle. There were also lots of bugs in the LaTeX output, which I just kept encountering one by one, but hopefully they should now all be fixed. Temporary deployments can be found at https://rayzchen.github.io/mechsim/disk.html"}, {"post_id": 55340, "ts": "2026-08-27T02:46:15Z", "hours": 1.0178, "text": "GitHub deployment Temporary deployments can be found at https://rayzchen.github.io/mechsim/pend.html"}, {"post_id": 55304, "ts": "2026-08-27T01:35:48Z", "hours": 5.4156, "text": "LaTeX and more simplification This devlog was supposed to be two separate ones, but Stardance was refusing to calculate logged hours :( There’s a big list of changes here: Added a label to show kinetic and potential energies (and demonstrating conservation of energy!) Finally implemented combining like terms (3x + 2x = 5x) and like powers (sin(x) * sin(x) = sin^2(x)), which provides a huge speed increase since the equations of motion are now simpler Fixed a BUNCH of bugs that were cropping up under MicroPython (annoyingly CPython’s dict keys in order of assignment is an implementation detail that isn’t in MicroPython, and the hashing function in MicroPython is completely unreliable) Added LaTeX mode for converting expressions into strings, which automatically handles subscripts and symbols Added labels to the diagram also with LaTeX, tweaked for visibility"}, {"post_id": 55177, "ts": "2026-08-26T17:39:33Z", "hours": 3.4461, "text": "Officially brought to web! I had to wrestle with PyScript for an incredibly long time, but it’s finally running smoothly! Two big changes to the code are: micropython support, which runs and loads SO much faster than Pyodide (but meant I had to rewrite itertools.product and np.linalg.solve) helper classes to create a mechanical system and create energy formulae, which abstracts the math away into much more of an intuitive system! The code for setting up the system gets simpler and simpler each time…"}, {"post_id": 55036, "ts": "2026-08-26T13:50:10Z", "hours": 0.8836, "text": "PyScript testing Spent some time reading through the documentation of PyScript ( https://pyscript.net/ ) to see how well the code will run in the browser. Got the double pendulum code to run in the browser, and I will start writing a full demo soon."}, {"post_id": 54584, "ts": "2026-08-25T16:39:49Z", "hours": 1.2239, "text": "RK4 solver class I have implemented a class that handles solving, susbtitution and iteration of a system from the lagrangian and tested it with a pendulum-cart setup like the one found at https://www.myphysicslab.com/pendulum/cart-pendulum-en.html ."}, {"post_id": 54508, "ts": "2026-08-25T15:12:57Z", "hours": 1.5611, "text": "Better syntax and other tests The expressions can now be written in a much simpler syntax, making it easier to read! Below is also a test run simulating the angle of a rocking semicircle."}, {"post_id": 54158, "ts": "2026-08-25T00:26:04Z", "hours": 0.7797, "text": "Optimisations The old code used to substitute values and perform thousands of simplifications when they weren’t even necessary. Now the values are directly calculated, resulting in much better execution times."}, {"post_id": 54130, "ts": "2026-08-24T23:11:27Z", "hours": 1.7872, "text": "More complicated math The solver can now handle sin and cos, as well as expanding brackets! Also added the equation of motion solver to obtain a value for acceleration. Tested with a different rendering tool with a double pendulum setup. I will eventually create my own simulation using more math and rendering, this window is not part of the project. TODO: collecting like terms and cancelling down, optimising value substitution"}, {"post_id": 54084, "ts": "2026-08-24T21:19:34Z", "hours": 1.0189, "text": "Differentiation! The symbol engine is now capable of performing partial differentiation with respect to any variable, allowing the use of Euler-Lagrange to form differential equations. See https://en.wikipedia.org/wiki/Euler%E2%80%93Lagrange_equation"}, {"post_id": 54050, "ts": "2026-08-24T20:14:45Z", "hours": 0.4261, "text": "Basic expression manipulation The goal of this project is to write a library that can perform symbolic differentiation and solve for an “equation of motion” which can be used to run a simulation. The code for substituting variables is now complete. Here is a sample of how the substitution works."}]...
|
Title: MechSim by @rayzchen | Stardance
Devlogs:
Title: MechSim by @rayzchen | Stardance
Devlogs:
Basic expression manipulation The goal of this project is to write a library that can perform symbolic differentiation and solve for an “equation of motion” which can be used to run a simulation. The code for substituting variables is now complete. Here is a sample of how the substitution works.
Differentiation! The symbol engine is now capable of performing partial differentiation with respect to any variable, allowing the use of Euler-Lagrange to form differential equations. See https://en.wikipedia.org/wiki/Euler%E2%80%93Lagrange_equation
More complicated math The solver can now handle sin and cos, as well as expanding brackets! Also added the equation of motion solver to obtain a value for acceleration. Tested with a different rendering tool with a double pendulum setup. I will eventually create my own simulation using more math and rendering, this window is not part of the project. TODO: collecting like terms and cancelling down, optimising value substitution
Optimisations The old code used to substitute values and perform thousands of simplifications when they weren’t even necessary. Now the values are directly calculated, resulting in much better execution times.
Better syntax and other tests The expressions can now be written in a much simpler syntax, making it easier to read! Below is also a test run simulating the angle of a rocking semicircle.
RK4 solver class I have implemented a class that handles solving, susbtitution and iteration of a system from the lagrangian and tested it with a pendulum-cart setup like the one found at https://www.myphysicslab.com/pendulum/cart-pendulum-en.html .
PyScript testing Spent some time reading through the documentation of PyScript ( https://pyscript.net/ ) to see how well the code will run in the browser. Got the double pendulum code to run in the browser, and I will start writing a full demo soon.
Officially brought to web! I had to wrestle with PyScript for an incredibly long time, but it’s finally running smoothly! Two big changes to the code are: micropython support, which runs and loads SO much faster than Pyodide (but meant I had to rewrite itertools.product and np.linalg.solve) helper classes to create a mechanical system and create energy formulae, which abstracts the math away into much more of an intuitive system! The code for setting up the system gets simpler and simpler each time…
LaTeX and more simplification This devlog was supposed to be two separate ones, but Stardance was refusing to calculate logged hours :( There’s a big list of changes here: Added a label to show kinetic and potential energies (and demonstrating conservation of energy!) Finally implemented combining like terms (3x + 2x = 5x) and like powers (sin(x) * sin(x) = sin^2(x)), which provides a huge speed increase since the equations of motion are now simpler Fixed a BUNCH of bugs that were cropping up under MicroPython (annoyingly CPython’s dict keys in order of assignment is an implementation detail that isn’t in MicroPython, and the hashing function in MicroPython is completely unreliable) Added LaTeX mode for converting expressions into strings, which automatically handles subscripts and symbols Added labels to the diagram also with LaTeX, tweaked for visibility
GitHub deployment Temporary deployments can be found at https://rayzchen.github.io/mechsim/pend.html
Circular Disks After much headache, two new constraints have been implemented: disk rolling on a plane and disk rolling in a circle. There were also lots of bugs in the LaTeX output, which I just kept encountering one by one, but hopefully they should now all be fixed. Temporary deployments can be found at https://rayzchen.github.io/mechsim/disk.html
Complex System Demo This system contains a semicircular anulus rocking on a rough plane, with a circular disk inside attached to a compound pendulum, and constrained with three springs. Adjusting the parameters took an awfully long time… Temporary deployments can be found at https://rayzchen.github.io/mechsim/disk.html
Website structure rewrite To make adding new simulations easier, I restructured the file layout and added more dynamic code to the shared JS to create the elements required rather than copy pasting everything in every file. Also added labels to the tab title and bottom right corner. Also rewrote the drawing code for the rolling disk to add more details. Temporary deployments can be found at https://rayzchen.github.io/mechsim/disk/
More simulations New simulations added: Swinging Atwood Machine Ball on Slope Simple Pendulum Temporary deployments can be found at https://rayzchen.github.io/mechsim/
System file viewer Added a button to view the Python code that sets up the physical system. Temporary deployments can be found at https://rayzchen.github.io/mechsim/
Cart + Pendulum Added a simple cart and pendulum system, and realised the internal rotation angles were COMPLETELY opposite… Spent half an hour of unlogged time just to find out that all of the systems were symmetric in angles except ONE which had a wrong sign in the rendering code, making it LOOK symmetric… Fixed that without too much of a headache once found :D
Homepage! Finally able to navigate through the six simulation systems from one place 🔥🔥 Had to wrestle with CSS flexbox and transitions to make nice animations! Temporary deployments can be found at https://rayzchen.github.io/mechsim/
Energy Bar Added a bar on the left to graphically show the ratio between kinetic and potential energies (the faster things are moving, the more light grey there is). Temporary deployments can be found at https://rayzchen.github.io/mechsim/
Playback Controls Added reset, play/pause and step buttons! Temporary deployments can be found at https://rayzchen.github.io/mechsim/
Final fixes Changed the behaviour of the playback button icons to keep sync with the simulation. Also fixed a layering issue in the CSS. The project should now be ready to ship! Temporary deployments can be found at https://rayzchen.github.io/mechsim/
Ships:
MechSim MechSim is a mechanical system simulator that uses Lagrangian mechanics and Runge-Kutta methods to simulate various constrained systems. From expressions of energy it is capable of deriving equations of motion using symbolic differentiation and then stepping through them in time to simulate the motion of the system. How to use The homepage has links to each of the system simulator pages. Each page has an energy label and diagram, playback buttons and sometimes system equations. The Rolling Disk Pendulum has equations of motion too complex to display on the screen. There is also a button to view the Python system file that creates the solver. The page runs best on a landscape desktop orientation. Code structure The project is written in both Python and JavaScript: the main Lagrangian system solver uses Python for its polymorphism and flexible OOP, while the renderer uses JS to efficiently draw the system and update the GUI. Minimal external dependencies are used, so almost all of the code has been written from scratch. Neither component uses nor requires the internals of the other: the system solver simply outputs a few numbers representing the phase state of the system, and the renderer uses those numbers to calculate the positions of objects to draw. Challenges One of the first major issues encountered was how to simplify expressions. Many of the basic rules in algebra are rather complicated to systematically apply, such as collecting like terms or using index laws. In fact, since the expressions obtained from the Euler-Lagrange equations are of a specific format, this symbolic differentiation engine is not fully-featured. Another detail that required significant attention was how to embed Python into a JavaScript powered webpage. The library used for this, PyScript, has two different Python interpreters: Pyodide and MicroPython, the latter of which is 37x smaller in size. The symbolic differentiation engine does not require any external dependencies, but the RK4 time stepper does use NumPy, which is not available on MicroPython. This meant that much of the code needed to be rewritten using ulab, the MicroPython equivalent. In addition to this, many of the CPython-specific implementation details were different, such as dictionary key order and hash function limitations, had varying behaviour on MicroPython and had to be taken account of. One of the techniques I used was dynamically creating each simulation webpage entirely using JavaScript without any frameworks such as jQuery. This meant that each simulation would have almost identical HTML and simply differing diagram drawing JS, which made adding new simulations a matter of copying the template code and editing the rendering script. Merits The system code is extremely intuitive to the point where even non-programmers should be capable of understanding how the system is set up. The most complex system, the Rolling Disk Pendulum, has no less than 7 components exerting classical forces on each other, but the Euler-Lagrange equations convert this simply to a set of simultaneous equations that can be solved instantly for individual accelerations. This results in fluid motion appearing on the screen, no matter how chaotic the system is....
|
1793008125.6508908
|
1793094525.6508908
|
|
64362
|
CatPage by @CatPowerz | Stardance
|
CatPowerz
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T11:02:22Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Cat New Tab is a non-guided Give Your Website A Pulse website, from which I learned HTML/CSS/JS very well. It was hard thinking of a good extra function, but it works! Test it out for free! It’s online!", "repo": "https://github.com/CatPowerz/CatNewTab", "demo": "https://catpowerz.github.io/CatNewTab"}]...
|
[{"post_id": 71707, "ts": "202 [{"post_id": 71707, "ts": "2026-09-21T10:59:19Z", "hours": 1.4611, "text": "Cat New Tab is done, a sleek, useful, simple app that just works and lets you search DuckDuckGo whilst seeing cats in between! You can also get a useful cat fact using the free API."}]...
|
Title: CatPage by @CatPowerz | Stardance
Devlogs: Title: CatPage by @CatPowerz | Stardance
Devlogs:
Cat New Tab is done, a sleek, useful, simple app that just works and lets you search DuckDuckGo whilst seeing cats in between! You can also get a useful cat fact using the free API.
Ships:
Cat New Tab is a non-guided Give Your Website A Pulse website, from which I learned HTML/CSS/JS very well. It was hard thinking of a good extra function, but it works! Test it out for free! It’s online!...
|
1792965064.0961723
|
1793051464.0961723
|
|
36007
|
virtual scale by @anchith | Stardance
|
anchith
|
1
|
19.0
|
166
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T10:25:25Z", "hours": 19.0, "multiplier": 8.61, "payout": 166, "blessing": "neutral", "text": "virtual-scale I made a simple Java tool for visualizing real world measurements on your screen. In the project, you can draw lines and view their real world measurements in various units. You can also import images, and then define a known measurement to accurately measure other parts of the image. The project has a ScaleLibrary tool in the backend, that has all the conversion and measurement tools. Creating this was an interesting but also challenging experience and I got to learn about displays, DPI, and more. I made the entire project in Java, with no external dependencies or libraries.", "repo": "https://github.com/koino2/virtual-scale", "demo": "https://github.com/koino2/virtual-scale/releases/tag/release"}]...
|
[{"post_id": 71694, "ts": "202 [{"post_id": 71694, "ts": "2026-09-21T10:15:36Z", "hours": 0.8969, "text": "shipping time! I did some final last minute changes to polish everything up, like fixing a grid bug, making a unit parser thing for measurements, and a bunch more. Then I built it into a jar and now I’m going to ship!"}, {"post_id": 71616, "ts": "2026-09-21T05:17:08Z", "hours": 7.4208, "text": "GUIs and other stuff The main thing that I did in these 7 hours was making a graphical interface for the app. I first designed the UI in the Netbeans Form Editor because it’s really easy to make it in there, then I exported all the code generated by that and then spent a lot of time wiring everything up and making the GUI stuff actually do something. It has a bunch of new features and settings like: Snapping Line colour Units Zoom Image stuff which took very long to implement because it needed a lot of backend stuff I also briefly overwrote a bunch of code and accidentally deleted the source folder but I managed to retrieve everything from the recycle bin I then made another GUI for the initialization screen - where you choose the calibration method (manual or reported) in a similar way. Did a lot of backend work as well, like changing how the image system calibrates stuff. Also I made a nice readme and I’m going to ship soon!"}, {"post_id": 69122, "ts": "2026-09-16T12:53:35Z", "hours": 2.4922, "text": "more improvements I added a file selection screen to choose which image to view. There is also a nice grid background now which took way too long woa you can put emojis now? I also made a bunch of other small QoL improvements too, and this is how it looks now! (not much of a visual difference compared to before )"}, {"post_id": 66074, "ts": "2026-09-11T17:17:54Z", "hours": 4.9775, "text": "Image measurement! I implemented another system where you can import an image, then draw a line and say how long that line is. Then the whole image stuff will be scaled proportional to that and then you can measure it and stuff! I also added a bunch of other small things like improving the scale library backend, adding camera controls, etc. It’s kind of barebones rn and this took way too long anyway, I’m going to add some menus/interfaces to tie everything together and some other QoL next ig. Here’s a picture of a maze where I selected the big horizontal line and defined it as 170mm, and there’s some measurements on it."}, {"post_id": 60158, "ts": "2026-09-02T10:50:28Z", "hours": 1.9089, "text": "Measure stuff I implemented some basic drawing tools with swing and now you can click and draw lines with real measurements displayed. Also there are some snapping features and other QoL stuff."}, {"post_id": 55594, "ts": "2026-08-27T15:28:11Z", "hours": 1.6364, "text": "virtual-scale I’m making a virtual scale! When modelling or designing stuff, it’s very easy to lose a sense of how big a measurement actually is. I constantly find myself grabbing a ruler just to visualize a distance. So I’m making a little virtual ruler that displays real-world measurements directly on your screen. It uses your screen’s dots-per-inch count (basically how many pixels are in an inch of the screen) to show accurate distances. Today, I worked on the actual scale library/backend of the app and worked on the scale calibration, unit conversion and scale systems."}]...
|
Title: virtual scale by @anchith | Stardance
Devl Title: virtual scale by @anchith | Stardance
Devlogs:
virtual-scale I’m making a virtual scale! When modelling or designing stuff, it’s very easy to lose a sense of how big a measurement actually is. I constantly find myself grabbing a ruler just to visualize a distance. So I’m making a little virtual ruler that displays real-world measurements directly on your screen. It uses your screen’s dots-per-inch count (basically how many pixels are in an inch of the screen) to show accurate distances. Today, I worked on the actual scale library/backend of the app and worked on the scale calibration, unit conversion and scale systems.
Measure stuff I implemented some basic drawing tools with swing and now you can click and draw lines with real measurements displayed. Also there are some snapping features and other QoL stuff.
Image measurement! I implemented another system where you can import an image, then draw a line and say how long that line is. Then the whole image stuff will be scaled proportional to that and then you can measure it and stuff! I also added a bunch of other small things like improving the scale library backend, adding camera controls, etc. It’s kind of barebones rn and this took way too long anyway, I’m going to add some menus/interfaces to tie everything together and some other QoL next ig. Here’s a picture of a maze where I selected the big horizontal line and defined it as 170mm, and there’s some measurements on it.
more improvements I added a file selection screen to choose which image to view. There is also a nice grid background now which took way too long woa you can put emojis now? I also made a bunch of other small QoL improvements too, and this is how it looks now! (not much of a visual difference compared to before )
GUIs and other stuff The main thing that I did in these 7 hours was making a graphical interface for the app. I first designed the UI in the Netbeans Form Editor because it’s really easy to make it in there, then I exported all the code generated by that and then spent a lot of time wiring everything up and making the GUI stuff actually do something. It has a bunch of new features and settings like: Snapping Line colour Units Zoom Image stuff which took very long to implement because it needed a lot of backend stuff I also briefly overwrote a bunch of code and accidentally deleted the source folder but I managed to retrieve everything from the recycle bin I then made another GUI for the initialization screen - where you choose the calibration method (manual or reported) in a similar way. Did a lot of backend work as well, like changing how the image system calibrates stuff. Also I made a nice readme and I’m going to ship soon!
shipping time! I did some final last minute changes to polish everything up, like fixing a grid bug, making a unit parser thing for measurements, and a bunch more. Then I built it into a jar and now I’m going to ship!
Ships:
virtual-scale I made a simple Java tool for visualizing real world measurements on your screen. In the project, you can draw lines and view their real world measurements in various units. You can also import images, and then define a known measurement to accurately measure other parts of the image. The project has a ScaleLibrary tool in the backend, that has all the conversion and measurement tools. Creating this was an interesting but also challenging experience and I got to learn about displays, DPI, and more. I made the entire project in Java, with no external dependencies or libraries....
|
1793005030.492505
|
1793091430.492505
|
|
63209
|
my APOD site by @kawish_jaykar91 | Stardance
|
kawish_jaykar91
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T10:09:26Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a NASA APOD website using NASA’s API to show the astronomy picture of the day, and I added a time machine so you can browse APODs from different dates. The hardest part was getting the date navigation and URL syncing to work properly without breaking the page. I’m pretty proud of how the UI turned out because I wanted it to feel like a proper space experience and not just some basic API project. To test it just open the site and play around with the Previous, Next, Today and date picker buttons, thats pretty much it lol.", "repo": "https://github.com/kawishjaykar91-beep/nasa-apod", "demo": "https://kawishjaykar91-beep.github.io/nasa-apod/"}]...
|
[{"post_id": 71688, "ts": "202 [{"post_id": 71688, "ts": "2026-09-21T09:51:07Z", "hours": 1.045, "text": "Today i worked on my NASA APOD project. I connected it to NASA’s API so it can show the Astronomy picture of the day, then gave the whole site a more spacey and cinematic vibe. I also added the time machine feature so you can browse APODs from different dates.Got the site deployed on GitHub Pages too, so we’re pretty much locked in The final result came out pretty clean ngl."}]...
|
Title: my APOD site by @kawish_jaykar91 | Stardanc Title: my APOD site by @kawish_jaykar91 | Stardance
Devlogs:
Today i worked on my NASA APOD project. I connected it to NASA’s API so it can show the Astronomy picture of the day, then gave the whole site a more spacey and cinematic vibe. I also added the time machine feature so you can browse APODs from different dates.Got the site deployed on GitHub Pages too, so we’re pretty much locked in The final result came out pretty clean ngl.
Ships:
I made a NASA APOD website using NASA’s API to show the astronomy picture of the day, and I added a time machine so you can browse APODs from different dates. The hardest part was getting the date navigation and URL syncing to work properly without breaking the page. I’m pretty proud of how the UI turned out because I wanted it to feel like a proper space experience and not just some basic API project. To test it just open the site and play around with the Previous, Next, Today and date picker buttons, thats pretty much it lol....
|
1792964974.5811718
|
1793051374.5811718
|
|
27788
|
Self balancing robot- QuadCat by @MaxMadeGG | Star Self balancing robot- QuadCat by @MaxMadeGG | Stardance...
|
MaxMadeGG
|
1
|
0.32
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T08:57:47Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The project is now shipped due that the event ends soon and that my ESP32 is dead and the new one arrives too late so i decided to submit what i have, which is the main thing…the working PCB with the FOC loop i created so you can still build the robot because there is basically everything in the repo just the code isn’t done and tuned. Have fun! Made :)", "repo": "https://github.com/MaxMadeGG/Self-balancing-robot--QuadCat", "demo": ""}]...
|
[{"post_id": 72741, "ts": "202 [{"post_id": 72741, "ts": "2026-09-23T17:03:51Z", "hours": 0.3189, "text": "Thank you for the great decision of Hack club and if you guys want to continue following my self balancing robot go to> https://stardance.hackclub.com/projects/65148"}, {"post_id": 70581, "ts": "2026-09-19T12:03:35Z", "hours": 1.5503, "text": "fixed the body and sending to the printer to print it again and i will enjoy two hours changing the filament for color T_T i don’t have the AMS lite thingy XD"}, {"post_id": 70096, "ts": "2026-09-18T13:25:27Z", "hours": 1.4169, "text": "finished the body now printing and let’s hope it works :D"}, {"post_id": 69670, "ts": "2026-09-17T15:26:47Z", "hours": 5.1669, "text": "The new PCB arrived so i was soldering for 2hrs then started making the motors work and after 2hrs i finally managed to make work one then after 1hr i found out that in1 was swapped with EN in the code so that’s why it wasn’t working then made work the servos which worked immediately then made run motors and servos at the same time which worked so wonderful! then started finishing the body-shell which i will finish tomorrow and send to the printer and then i will assemble all and solder all permanently :D hyped for tomorrow"}, {"post_id": 68733, "ts": "2026-09-15T17:16:18Z", "hours": 1.1003, "text": "I made a completely new design(why? check out previous posts)…it’s kinda a box which is not what i wanted but it looks good even not finished :D Btw reminds me of a star-wars robot it wasn’t intentional…still waiting for the new PCB fingers crossed that it arrives before the end of Stardance"}, {"post_id": 68050, "ts": "2026-09-14T13:03:29Z", "hours": 0.4669, "text": "So i’m still making the body and still thinking of how to put the laser sensor at the front that it doesn’t look odd…if you have any ideas then please feel free to tell me in comments :D (this design at the base wasn’t thought that there will be a laser sensor)"}, {"post_id": 67460, "ts": "2026-09-13T15:57:30Z", "hours": 0.5836, "text": "Thinking about how to implement the laser sensors into the body-shell design that it isn’t odd and fixing some stuff in Fusion. I also made a small wooden table next to my desk that i can have more place for my projects. Still waiting for the v2.0 PCB and idk if i will have time to finish this robot before the end of stardance but at least i think i will have a working PCB which is the main thing of the robot"}, {"post_id": 65337, "ts": "2026-09-10T12:42:50Z", "hours": 0.2833, "text": "I unsoldered everything and unplugged. Now waiting that the new PCB v2.0 arrives—–––> if you want to know more: https://youtu.be/JHu94_pjOXo"}, {"post_id": 64916, "ts": "2026-09-09T17:09:01Z", "hours": 0.8167, "text": "After too much problems making the motor want to spin and finding other problems i decided to make a new PCB with all the stuff fixed and reviewed hundreds of times —––> if you want to know more: https://youtu.be/JHu94_pjOXo"}, {"post_id": 63618, "ts": "2026-09-07T15:22:32Z", "hours": 1.5503, "text": "Ok this is funny…i’ve been trying to make work my motors with the custom PCB for 3days and now i found out that the motor i was testing was using the encoder of the other motor that i wasn’t using so yeah pretty stupid lol…and look at the video what i can do with it, i can make spin the other motor by turning one by hand. Anyway i did manage to make work one motor perfectly but the other one is another story and now the battery is dead so i’m charging 😭"}, {"post_id": 60929, "ts": "2026-09-03T16:31:38Z", "hours": 3.6669, "text": "Ok so i finished soldering the stuff on the PCB…i basically was soldering and soldering and soldering…for 3hrs almost 4…ehm anyway now i will code the thing and then let’s see if the PCB works…ah you’re lucky i forgot to post this so you will know if the PCB works…and like yes it works but i have to fix some little problems :)"}, {"post_id": 60362, "ts": "2026-09-02T17:29:39Z", "hours": 0.9667, "text": "The PCB has finally arrived so i started soldering the stuff but it’s late rn so i will finsih tomorrow"}, {"post_id": 59641, "ts": "2026-09-01T15:41:52Z", "hours": 0.3503, "text": "Ok so bad and good news…i have the laser sensors but i destroyed one a little like he works but the small chip is a little cooked so it reads stuff at only max 7cm of it which could work anyway…the bad news…uhh the PCB is stuck somewhere due to douane stuff so it will arrive in one week for the best so it could arrive in one month(next time i order a PCB somewhere in EU never again in china…sorry jlcpcb or pcbway if you wanted to sponsor me)….anyway now i made the part for my robot leg and it’s currently printing so we will see :D"}, {"post_id": 59618, "ts": "2026-09-01T15:14:12Z", "hours": 0.9169, "text": "Hi this is a old thing i have made but because it didn’t sync due to some Hackatime problems i’m posting it today after one week…tho i don’t remember what i did so yeah😅 anyway now i’m gonna model a part in Fusion for my leg and you will know more in the next post!🙃"}, {"post_id": 54497, "ts": "2026-08-25T14:49:47Z", "hours": 2.2503, "text": "So as i said i will make my own FOC controller which turned into a blowed up ESP32…jk jk in fact it worked super nicely it actually works! So now just waiting that the PCB arrives and the laser sensors for wall avidance. and the breakdown of today is: i’m happy https://youtu.be/9f9dHl2CsRY?si=nJjeVBc7lghW3pOh"}, {"post_id": 53839, "ts": "2026-08-24T15:10:11Z", "hours": 0.5333, "text": "Hi guys has been a while since, right? But today i’m back with a new idea for my robot which is adding laser sensors!🌟 For wall avoidance…anyway today i upgraded my PCB to the max fixed all small things that could be a problem and then tried to make the motor spin with simple FOC library but didn’t work 😭yeah didn’t :( after trying to make it work for 4hrs no wait 5hrs i decided that i will make my own thing…we will see in next episode if it will work or not…oh wait i forgot that i managed to make the motors spin without the FOC!!! which was wonderful to see🎉 the code that worked was this one: void setup() { ledcAttach(16, 20000, 8); ledcAttach(17, 20000, 8); ledcAttach(18, 20000, 8); pinMode(33, OUTPUT); digitalWrite(33, HIGH); } void loop() { static int a = 0; ledcWrite(16, 128 + 100 * sin(a * 0.01)); ledcWrite(17, 128 + 100 * sin(a * 0.01 + 2.09)); ledcWrite(18, 128 + 100 * sin(a * 0.01 + 4.19)); a++; delayMicroseconds(200); } also i have a YT and a VID will drop soon so please be sure to sub, thx: https://www.youtube.com/@Made-g4u"}, {"post_id": 43147, "ts": "2026-08-08T07:59:02Z", "hours": 0.6333, "text": "ok i plugged all and i also changed the voltage of the boost converter and it didn’t blow up so that’s great…and now i’m gonna write some code(claude) to test the motor…uhh just for the final complete code i will write it myself. Also if you want to support more my 💩 projects https://www.youtube.com/@Made-g4u"}, {"post_id": 41237, "ts": "2026-08-05T10:04:09Z", "hours": 1.4169, "text": "Updated🛠️ my custom PCB that it fits inside the body. Also next i might fix the model of the body because there are some minor faults that i did. I might maybe retry tomorrow the boost converter with a multimeter that i will buy…uhh yea i don’t have a multimeter😅 anyway if it blows up💥 again😤 after changing the Voltage then the board might have another problem than the Voltage that was wrong…🚮"}, {"post_id": 40722, "ts": "2026-08-04T13:15:47Z", "hours": 2.6675, "text": "Made the body, now it will go to the printer lets hope it works. Also i might finish testing the stuff on the bread board next week or in 1-2 weeks. Tomorrow i will make the wheels i think"}, {"post_id": 39962, "ts": "2026-08-03T09:23:45Z", "hours": 1.0167, "text": "uhh ok this is nice…idk why but the boost converter blow up after i finished plugging all together, no polarity reverse or stuff i just plugged and then after 2 secs pshh 💥pow big 💨smoke going off…so yeah interesting🤔, i will try to change the V of the boost to 10V and then if my other boost converter blows up💥 again then it must be a cheap, low quality one that i bought…this project is the most unlucky one i’m working on so far😢…wish me luck🙏. Below photo of almost all plugged(without the boost)."}, {"post_id": 39362, "ts": "2026-08-02T09:17:57Z", "hours": 0.2669, "text": "prepared stuff that i can start making the main body later because now i wont be at home for some time"}, {"post_id": 38710, "ts": "2026-08-01T07:49:11Z", "hours": 0.3503, "text": "I made a part that i forgot to do."}, {"post_id": 38134, "ts": "2026-07-31T11:13:59Z", "hours": 0.7336, "text": "finishing legs for the robot, next have to make the body and other stuff so lets hope the legs work. Btw i blew up my controller 😅 and found out i forgot to buy smth XD"}, {"post_id": 37506, "ts": "2026-07-30T09:34:58Z", "hours": 0.55, "text": "I created my own Dupont wires because yesterday my wiring wasn’t pretty nice and it didn’t work so lets hope it works now! :D btw it’s pretty a mess all these wires"}, {"post_id": 36994, "ts": "2026-07-29T13:25:37Z", "hours": 0.2833, "text": "soldering and cliping all on a breadboard, i also printed a holder for the motor that i can test all next will finish clip all and then program it"}, {"post_id": 36351, "ts": "2026-07-28T12:28:46Z", "hours": 0.4167, "text": "I’ve made a pcb holder stand that i can weld stuff without headaches. Btw all the parts have arrived so i can continue!"}, {"post_id": 29500, "ts": "2026-07-16T14:04:08Z", "hours": 3.1667, "text": "I was making the pcb that i didn’t finish yet i’m taking a little pause of this stupid unresponsive PC and easyEDA. this is the only screenshot i can show you, i have made more but this…PC doesn’t work i can’t do even ctrl+v or take a screenshot"}, {"post_id": 28858, "ts": "2026-07-15T12:31:18Z", "hours": 0.3675, "text": "i started fixing the body but then realized that i don’t have the physical parts yet so i don’t know the size of them and if i fix it now then i will maybe need to fix it again so it would be a waste of time. So i will wait that the parts arrive and then continue making the body"}, {"post_id": 28788, "ts": "2026-07-15T09:05:55Z", "hours": 0.7508, "text": "I’ve been finalizing the legs a little then looking if it all fits and unfortunately i did some calculation fault somewhere because the body is a little too big like maybe too much. Next i will finish the parts and fix the body size and fix that it’s not all at the front because if you noticed the body is too much at the front so too much weight."}, {"post_id": 27553, "ts": "2026-07-13T07:15:45Z", "hours": 0.6342, "text": "again 3D modeling- almost finished the body"}, {"post_id": 21550, "ts": "2026-07-03T15:54:00Z", "hours": 0.5339, "text": "a little of modeling the body"}, {"post_id": 21504, "ts": "2026-07-03T14:29:36Z", "hours": 0.6667, "text": "i have been modeling the leg parts and a little the main body"}, {"post_id": 20768, "ts": "2026-07-02T13:46:14Z", "hours": 1.8325, "text": "Brainstorming, thinking and a lot of 3D modeling mostly fighting with painful Fusion 360 lolll tired"}]...
|
Title: Self balancing robot- QuadCat by @MaxMadeGG Title: Self balancing robot- QuadCat by @MaxMadeGG | Stardance
Devlogs:
Brainstorming, thinking and a lot of 3D modeling mostly fighting with painful Fusion 360 lolll tired
i have been modeling the leg parts and a little the main body
a little of modeling the body
again 3D modeling- almost finished the body
I’ve been finalizing the legs a little then looking if it all fits and unfortunately i did some calculation fault somewhere because the body is a little too big like maybe too much. Next i will finish the parts and fix the body size and fix that it’s not all at the front because if you noticed the body is too much at the front so too much weight.
i started fixing the body but then realized that i don’t have the physical parts yet so i don’t know the size of them and if i fix it now then i will maybe need to fix it again so it would be a waste of time. So i will wait that the parts arrive and then continue making the body
I was making the pcb that i didn’t finish yet i’m taking a little pause of this stupid unresponsive PC and easyEDA. this is the only screenshot i can show you, i have made more but this…PC doesn’t work i can’t do even ctrl+v or take a screenshot
I’ve made a pcb holder stand that i can weld stuff without headaches. Btw all the parts have arrived so i can continue!
soldering and cliping all on a breadboard, i also printed a holder for the motor that i can test all next will finish clip all and then program it
I created my own Dupont wires because yesterday my wiring wasn’t pretty nice and it didn’t work so lets hope it works now! :D btw it’s pretty a mess all these wires
finishing legs for the robot, next have to make the body and other stuff so lets hope the legs work. Btw i blew up my controller 😅 and found out i forgot to buy smth XD
I made a part that i forgot to do.
prepared stuff that i can start making the main body later because now i wont be at home for some time
uhh ok this is nice…idk why but the boost converter blow up after i finished plugging all together, no polarity reverse or stuff i just plugged and then after 2 secs pshh 💥pow big 💨smoke going off…so yeah interesting🤔, i will try to change the V of the boost to 10V and then if my other boost converter blows up💥 again then it must be a cheap, low quality one that i bought…this project is the most unlucky one i’m working on so far😢…wish me luck🙏. Below photo of almost all plugged(without the boost).
Made the body, now it will go to the printer lets hope it works. Also i might finish testing the stuff on the bread board next week or in 1-2 weeks. Tomorrow i will make the wheels i think
Updated🛠️ my custom PCB that it fits inside the body. Also next i might fix the model of the body because there are some minor faults that i did. I might maybe retry tomorrow the boost converter with a multimeter that i will buy…uhh yea i don’t have a multimeter😅 anyway if it blows up💥 again😤 after changing the Voltage then the board might have another problem than the Voltage that was wrong…🚮
ok i plugged all and i also changed the voltage of the boost converter and it didn’t blow up so that’s great…and now i’m gonna write some code(claude) to test the motor…uhh just for the final complete code i will write it myself. Also if you want to support more my 💩 projects https://www.youtube.com/@Made-g4u
Hi guys has been a while since, right? But today i’m back with a new idea for my robot which is adding laser sensors!🌟 For wall avoidance…anyway today i upgraded my PCB to the max fixed all small things that could be a problem and then tried to make the motor spin with simple FOC library but didn’t work 😭yeah didn’t :( after trying to make it work for 4hrs no wait 5hrs i decided that i will make my own thing…we will see in next episode if it will work or not…oh wait i forgot that i managed to make the motors spin without the FOC!!! which was wonderful to see🎉 the code that worked was this one: void setup() { ledcAttach(16, 20000, 8); ledcAttach(17, 20000, 8); ledcAttach(18, 20000, 8); pinMode(33, OUTPUT); digitalWrite(33, HIGH); } void loop() { static int a = 0; ledcWrite(16, 128 + 100 * sin(a * 0.01)); ledcWrite(17, 128 + 100 * sin(a * 0.01 + 2.09)); ledcWrite(18, 128 + 100 * sin(a * 0.01 + 4.19)); a++; delayMicroseconds(200); } also i have a YT and a VID will drop soon so please be sure to sub, thx: https://www.youtube.com/@Made-g4u
So as i said i will make my own FOC controller which turned into a blowed up ESP32…jk jk in fact it worked super nicely it actually works! So now just waiting that the PCB arrives and the laser sensors for wall avidance. and the breakdown of today is: i’m happy https://youtu.be/9f9dHl2CsRY?si=nJjeVBc7lghW3pOh
Hi this is a old thing i have made but because it didn’t sync due to some Hackatime problems i’m posting it today after one week…tho i don’t remember what i did so yeah😅 anyway now i’m gonna model a part in Fusion for my leg and you will know more in the next post!🙃
Ok so bad and good news…i have the laser sensors but i destroyed one a little like he works but the small chip is a little cooked so it reads stuff at only max 7cm of it which could work anyway…the bad news…uhh the PCB is stuck somewhere due to douane stuff so it will arrive in one week for the best so it could arrive in one month(next time i order a PCB somewhere in EU never again in china…sorry jlcpcb or pcbway if you wanted to sponsor me)….anyway now i made the part for my robot leg and it’s currently printing so we will see :D
The PCB has finally arrived so i started soldering the stuff but it’s late rn so i will finsih tomorrow
Ok so i finished soldering the stuff on the PCB…i basically was soldering and soldering and soldering…for 3hrs almost 4…ehm anyway now i will code the thing and then let’s see if the PCB works…ah you’re lucky i forgot to post this so you will know if the PCB works…and like yes it works but i have to fix some little problems :)
Ok this is funny…i’ve been trying to make work my motors with the custom PCB for 3days and now i found out that the motor i was testing was using the encoder of the other motor that i wasn’t using so yeah pretty stupid lol…and look at the video what i can do with it, i can make spin the other motor by turning one by hand. Anyway i did manage to make work one motor perfectly but the other one is another story and now the battery is dead so i’m charging 😭
After too much problems making the motor want to spin and finding other problems i decided to make a new PCB with all the stuff fixed and reviewed hundreds of times —––> if you want to know more: https://youtu.be/JHu94_pjOXo
I unsoldered everything and unplugged. Now waiting that the new PCB v2.0 arrives—–––> if you want to know more: https://youtu.be/JHu94_pjOXo
Thinking about how to implement the laser sensors into the body-shell design that it isn’t odd and fixing some stuff in Fusion. I also made a small wooden table next to my desk that i can have more place for my projects. Still waiting for the v2.0 PCB and idk if i will have time to finish this robot before the end of stardance but at least i think i will have a working PCB which is the main thing of the robot
So i’m still making the body and still thinking of how to put the laser sensor at the front that it doesn’t look odd…if you have any ideas then please feel free to tell me in comments :D (this design at the base wasn’t thought that there will be a laser sensor)
I made a completely new design(why? check out previous posts)…it’s kinda a box which is not what i wanted but it looks good even not finished :D Btw reminds me of a star-wars robot it wasn’t intentional…still waiting for the new PCB fingers crossed that it arrives before the end of Stardance
The new PCB arrived so i was soldering for 2hrs then started making the motors work and after 2hrs i finally managed to make work one then after 1hr i found out that in1 was swapped with EN in the code so that’s why it wasn’t working then made work the servos which worked immediately then made run motors and servos at the same time which worked so wonderful! then started finishing the body-shell which i will finish tomorrow and send to the printer and then i will assemble all and solder all permanently :D hyped for tomorrow
finished the body now printing and let’s hope it works :D
fixed the body and sending to the printer to print it again and i will enjoy two hours changing the filament for color T_T i don’t have the AMS lite thingy XD
Thank you for the great decision of Hack club and if you guys want to continue following my self balancing robot go to> https://stardance.hackclub.com/projects/65148
Ships:
The project is now shipped due that the event ends soon and that my ESP32 is dead and the new one arrives too late so i decided to submit what i have, which is the main thing…the working PCB with the FOC loop i created so you can still build the robot because there is basically everything in the repo just the code isn’t done and tuned. Have fun! Made :)...
|
1793008075.9323466
|
1793094475.9323466
|
|
63388
|
Explorer's World by @nicolenmg | Stardance
|
nicolenmg
|
1
|
3.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T08:44:04Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website about the solar system, it’s supposed to show you all the 8 planets and other celestial bodies. it was difficult making my transitions and linking other pages together to form one thing but AI helped with the transitions. The website is set to be an interactive colorful one, not like the ordinary ones. Work is still in progress.", "repo": "https://github.com/nicolenmg/Rocket-Site-3", "demo": "https://nicolenmg.github.io/Rocket-Site-3/"}]...
|
[{"post_id": 71698, "ts": "202 [{"post_id": 71698, "ts": "2026-09-21T10:28:56Z", "hours": 1.3589, "text": "Made some changes to the interface of my actual planet site, still a work in progress"}, {"post_id": 70914, "ts": "2026-09-20T01:00:07Z", "hours": 1.1075, "text": "I’m trying to make my actual website more interesting…….so frustrated"}, {"post_id": 70071, "ts": "2026-09-18T12:03:43Z", "hours": 0.5811, "text": "I am currently inputting information about the planets in my codes"}]...
|
Title: Explorer's World by @nicolenmg | Starda Title: Explorer's World by @nicolenmg | Stardance
Devlogs:
I am currently inputting information about the planets in my codes
I’m trying to make my actual website more interesting…….so frustrated
Made some changes to the interface of my actual planet site, still a work in progress
Ships:
I made a website about the solar system, it’s supposed to show you all the 8 planets and other celestial bodies. it was difficult making my transitions and linking other pages together to form one thing but AI helped with the transitions. The website is set to be an interactive colorful one, not like the ordinary ones. Work is still in progress....
|
1792964988.2043872
|
1793051388.2043872
|
|
35806
|
Planet Viewer 3D by @colgation | Stardance
|
colgation
|
3
|
8.0
|
113
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T08:29:14Z", "hours": 3.0, "multiplier": 15.64, "payout": 48, "blessing": "neutral", "text": "I made a 3D Planet Viewer that features 5 whole unqiue planetary systems fully rendered in 3d planet by planet, with a nebula 3d background. Every single planet has a arduously made information panel, and a help section can be found on the bottom right of each page. Additionally, I experimented with CSS animations as well as a randomly generating constellation home screen!", "repo": "https://github.com/194500-cpu/APOD", "demo": "https://194500-cpu.github.io/APOD/"}, {"ship_num": 2, "ts": "2026-09-20T03:11:48Z", "hours": 4.0, "multiplier": 12.46, "payout": 65, "blessing": "neutral", "text": "I made a 3d planet viewer fully equipped with 3 differnet planetary systems that runs on browser! It uses parameters in the the link to pass variables across pages, and has a nebula background that rotates alongside the camera. Planets can be zoomed in on and rotated. Alongside this, each individual planet has a description of itself and some statistics. I hope all of you learn something useful from this project and are amazed by the 3d models! -Colgation", "repo": "https://github.com/194500-cpu/APOD", "demo": "https://194500-cpu.github.io/APOD/"}, {"ship_num": 3, "ts": "2026-09-15T08:55:31Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 3d Planet displaying website, that shows realistic interactive models of the 8 planets using three js. It it fully deployed on github pages, and has clean minimalistic UI and a next button with JS that reacts to the mouse clicking and hovering above it.", "repo": "https://github.com/194500-cpu/APOD", "demo": "https://194500-cpu.github.io/APOD/"}]...
|
[{"post_id": 71664, "ts": "202 [{"post_id": 71664, "ts": "2026-09-21T08:24:01Z", "hours": 0.4797, "text": "Finished the dedicated help panel. What was really hard was getting the parameters with js including all the planet, solar system and etc. I ended up having to bulk up the code on each page in order to do this, but it turned out great."}, {"post_id": 71656, "ts": "2026-09-21T07:53:28Z", "hours": 0.3108, "text": "Added a button to remove info, in order to increase UX for mobile/small screen users. I also added a constellation background. Shipping soon! In JS, the main thing I tried to do was a smooth transition. On top of other complications, hiding and showing the box started to break its location, so I had to learn a bit more about flex boxes."}, {"post_id": 71651, "ts": "2026-09-21T07:35:13Z", "hours": 0.8006, "text": "Huge CSS upgrade for the index.html, I had an original idea of a tree, however it came out like this: (a timeline/distance measuring like line) I accidentally moved the cards above the line, which ended up looking even better, so I kind of improved it unintentionally like the time a person accidentally invented chocolate chip cookies."}, {"post_id": 71640, "ts": "2026-09-21T06:38:15Z", "hours": 0.3572, "text": "Added over 7 new textures, for two whole systems. I will now enter some information for each one. My next move will be further cleaning UI. It was a pain to source rectangle sheets for these planets, as real photographs do not exist yet for many exoplanets. It took me some time to decide on an impression that I found reasonable and enjoyed."}, {"post_id": 71526, "ts": "2026-09-21T00:27:42Z", "hours": 0.2539, "text": "Added two more systems, expect planet textures in the next devlog. Tau Ceti and 55 Cancri were chosen because of either their iconic portrayal in movies or high likelihood of confirmed planets. I enjoyed getting to finally just add more content to the site."}, {"post_id": 71476, "ts": "2026-09-20T21:55:56Z", "hours": 0.3339, "text": "Added a new system and managed to fix the seams in the nebula. I took in the feedback from the previous ship and hope to use it as a springboard into further polishing and developing my project."}, {"post_id": 70955, "ts": "2026-09-20T03:07:47Z", "hours": 0.2744, "text": "Final log before ship: added Desktop and mobile support, alongside final fixes and reviews. I made a good readme, and plan on shipping very soon. Below is a snapshot from accessing the site on desktop"}, {"post_id": 70945, "ts": "2026-09-20T02:46:22Z", "hours": 0.3981, "text": "Added info and 3d rendering of each planet, cleaned up href links with document even listeners. Planning on polishing css and shipping! In terms of the Alpha Centauri System, I have only included Proxima Centauri b as a test, but the other two planets are candidates and not confirmed yet, thus they will nto be added yet to the final project."}, {"post_id": 70929, "ts": "2026-09-20T01:58:10Z", "hours": 0.585, "text": "Got the images for all the Trappist 1 planets. I am planning on adding the Alpha Centauri system soon, once I fix the params system."}, {"post_id": 70251, "ts": "2026-09-18T20:10:35Z", "hours": 0.2847, "text": "Added images in place of generic text, removed background to match the style of catalog. I am planning on using these systems as a starting point and add more later."}, {"post_id": 70244, "ts": "2026-09-18T19:42:57Z", "hours": 0.4958, "text": "With some help, I was able to create the outline for the System selection. It uses basic css and manual placing to create the tree, though I might replace it."}, {"post_id": 69863, "ts": "2026-09-17T23:02:09Z", "hours": 0.3158, "text": "Lots of UI cleanup and now planning to expand into other Planetary Systems. Possibly will add stars/asteroids. A key change for the catalog “menu” was to remove the card like background, making the UI much cleaner."}, {"post_id": 69856, "ts": "2026-09-17T22:39:05Z", "hours": 0.735, "text": "Added a description and information (all hand typed and researched) for Mercury and Venus. Hoping to get the rest done within a hour. (Probably will end up using AI to help me write out the stats, so I can work on bigger features)"}, {"post_id": 69039, "ts": "2026-09-16T08:20:04Z", "hours": 0.55, "text": "Lots of attempts at trying to render the planet in the center of the screen. I first tried making the back button margin top larger, but it didn’t work, as the three.js ignores this. I ended up changing the camera position in order to move the planet up, without breaking the system of being able to rotate the planet with your mouse."}, {"post_id": 68793, "ts": "2026-09-15T19:20:23Z", "hours": 0.665, "text": "Created a catalog viewer that displays all planets nicely. I separated the website into two pages: catalog and 3d Viewer. Alongside that, I am planning to expand beyond our solar system and add more planets!"}, {"post_id": 68536, "ts": "2026-09-15T08:43:41Z", "hours": 0.2664, "text": "All planets have been added! I used a smart system that imports a png rectangle texture and wraps it around a colorless sphere."}, {"post_id": 68524, "ts": "2026-09-15T08:18:10Z", "hours": 0.2564, "text": "Made a next button with slight help of w3schools, which reacts to clicks and mouse hovering."}, {"post_id": 68521, "ts": "2026-09-15T08:01:11Z", "hours": 0.3014, "text": "Here is the beginning of my website, which will have the 8 planets in a 3d rotatable format."}, {"post_id": 68513, "ts": "2026-09-15T07:38:49Z", "hours": 0.2506, "text": "Started up the Github page! API errors, but I will try to fix that…"}]...
|
Title: Planet Viewer 3D by @colgation | Stardance
Title: Planet Viewer 3D by @colgation | Stardance
Devlogs:
Started up the Github page! API errors, but I will try to fix that…
Here is the beginning of my website, which will have the 8 planets in a 3d rotatable format.
Made a next button with slight help of w3schools, which reacts to clicks and mouse hovering.
All planets have been added! I used a smart system that imports a png rectangle texture and wraps it around a colorless sphere.
Created a catalog viewer that displays all planets nicely. I separated the website into two pages: catalog and 3d Viewer. Alongside that, I am planning to expand beyond our solar system and add more planets!
Lots of attempts at trying to render the planet in the center of the screen. I first tried making the back button margin top larger, but it didn’t work, as the three.js ignores this. I ended up changing the camera position in order to move the planet up, without breaking the system of being able to rotate the planet with your mouse.
Added a description and information (all hand typed and researched) for Mercury and Venus. Hoping to get the rest done within a hour. (Probably will end up using AI to help me write out the stats, so I can work on bigger features)
Lots of UI cleanup and now planning to expand into other Planetary Systems. Possibly will add stars/asteroids. A key change for the catalog “menu” was to remove the card like background, making the UI much cleaner.
With some help, I was able to create the outline for the System selection. It uses basic css and manual placing to create the tree, though I might replace it.
Added images in place of generic text, removed background to match the style of catalog. I am planning on using these systems as a starting point and add more later.
Got the images for all the Trappist 1 planets. I am planning on adding the Alpha Centauri system soon, once I fix the params system.
Added info and 3d rendering of each planet, cleaned up href links with document even listeners. Planning on polishing css and shipping! In terms of the Alpha Centauri System, I have only included Proxima Centauri b as a test, but the other two planets are candidates and not confirmed yet, thus they will nto be added yet to the final project.
Final log before ship: added Desktop and mobile support, alongside final fixes and reviews. I made a good readme, and plan on shipping very soon. Below is a snapshot from accessing the site on desktop
Added a new system and managed to fix the seams in the nebula. I took in the feedback from the previous ship and hope to use it as a springboard into further polishing and developing my project.
Added two more systems, expect planet textures in the next devlog. Tau Ceti and 55 Cancri were chosen because of either their iconic portrayal in movies or high likelihood of confirmed planets. I enjoyed getting to finally just add more content to the site.
Added over 7 new textures, for two whole systems. I will now enter some information for each one. My next move will be further cleaning UI. It was a pain to source rectangle sheets for these planets, as real photographs do not exist yet for many exoplanets. It took me some time to decide on an impression that I found reasonable and enjoyed.
Huge CSS upgrade for the index.html, I had an original idea of a tree, however it came out like this: (a timeline/distance measuring like line) I accidentally moved the cards above the line, which ended up looking even better, so I kind of improved it unintentionally like the time a person accidentally invented chocolate chip cookies.
Added a button to remove info, in order to increase UX for mobile/small screen users. I also added a constellation background. Shipping soon! In JS, the main thing I tried to do was a smooth transition. On top of other complications, hiding and showing the box started to break its location, so I had to learn a bit more about flex boxes.
Finished the dedicated help panel. What was really hard was getting the parameters with js including all the planet, solar system and etc. I ended up having to bulk up the code on each page in order to do this, but it turned out great.
Ships:
I made a 3d Planet displaying website, that shows realistic interactive models of the 8 planets using three js. It it fully deployed on github pages, and has clean minimalistic UI and a next button with JS that reacts to the mouse clicking and hovering above it.
I made a 3d planet viewer fully equipped with 3 differnet planetary systems that runs on browser! It uses parameters in the the link to pass variables across pages, and has a nebula background that rotates alongside the camera. Planets can be zoomed in on and rotated. Alongside this, each individual planet has a description of itself and some statistics. I hope all of you learn something useful from this project and are amazed by the 3d models! -Colgation
I made a 3D Planet Viewer that features 5 whole unqiue planetary systems fully rendered in 3d planet by planet, with a nebula 3d background. Every single planet has a arduously made information panel, and a help section can be found on the bottom right of each page. Additionally, I experimented with CSS animations as well as a randomly generating constellation home screen!...
|
1793008213.019787
|
1793094613.019787
|
|
25559
|
an overly-asthetic personal website by @Jeremy_W | an overly-asthetic personal website by @Jeremy_W | Stardance...
|
Jeremy_W
|
1
|
41.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T07:36:20Z", "hours": 41.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I tried to make a personal website and give it the most aesthetic tailwind effects I could give it", "repo": "https://github.com/khwongjeremy-netizen/Make-da-best-personal-website-ever", "demo": "https://khwongjeremy-netizen.github.io/Make-da-best-personal-website-ever/index.html"}]...
|
[{"post_id": 62659, "ts": "202 [{"post_id": 62659, "ts": "2026-09-06T04:08:38Z", "hours": 1.5033, "text": "This time, I wokred on adding finishing touches to ship the project. I have deployed it on gihtub and you can access it via link"}, {"post_id": 57686, "ts": "2026-08-29T22:32:59Z", "hours": 2.0222, "text": "Hi, from two hours I succesffully deployed my first few images into my projects page. this willl help better present the projects ath I have recently been working on. On top of that OI have uniqley styled these pages to have thier own matching colour scheme"}, {"post_id": 53327, "ts": "2026-08-23T20:02:24Z", "hours": 1.3681, "text": "I worked on making the website links more accesible on all links, adding to it;s interactability while fixiign up on a. few more issues and adjustments. i am running otu of Ideas for my website. I’ll be finnishing this up soon."}, {"post_id": 52135, "ts": "2026-08-22T07:07:54Z", "hours": 1.105, "text": "added a navigation ection on my contacts page. now my website can be througuhgly traversed accrsoss all pages I’ve jsut been polishing up and adding more details and features like underlines bars etc."}, {"post_id": 51830, "ts": "2026-08-21T18:03:41Z", "hours": 1.0936, "text": "I am logging off an hour of work I have made, I added more hover effcts to the sectiosn of the projects page for more interactivity"}, {"post_id": 51474, "ts": "2026-08-21T06:21:11Z", "hours": 2.9911, "text": "I am not sure why I logged 3 hours of this, but I just tried working more on thje layout just polishing some pages of the website."}, {"post_id": 48654, "ts": "2026-08-17T04:17:19Z", "hours": 2.2561, "text": "Creaeted the baseline for this clean aeshtetic for my contacts page, I amde it kind fo absic and i am runnning out of images to put here soI just amde a bse tempalte for now I am planning on mkaing this a little more cooler with some features later. To be honest, I don’t think this website has done too good of a job of what it’s intended to do, I mean it is interactive but, not what I envision it to be at it’s peak… I’m not sure yet but I’ll keep trying. I was really inspired by those websites that had won awards like nk studios and igloo.inc. But I understand those were prodcued by teams of professionals"}, {"post_id": 44994, "ts": "2026-08-11T04:00:05Z", "hours": 1.8119, "text": "Today I really tried to create the scrollign dial wheel feature on my website, but it proved ot be really challenging. I ran into multiple errors and complications with importing libraries using suitable libraries and finding good ways to test code. I ended up going back to square one with no animations, just divs. Which is arguable better than what I origionally had, because the animation then looked atrocious. It being slow, choppy and delayed."}, {"post_id": 43468, "ts": "2026-08-08T19:04:45Z", "hours": 1.2328, "text": "Got started working on the projects tab on my website, I want to make like a dail formation on loike a row to reveal my projects that I have built across the years"}, {"post_id": 43134, "ts": "2026-08-08T07:15:10Z", "hours": 1.1653, "text": "Update on Personal Portoflio:: -Created another category for my stories page -This will lead into my next page where it will be about projects I have wroked on and other greate work I have done, Photography, codig, building, etc. I also did try to add anothe interactive background but unfortunately I ran into a bunch of errors and I didn’t know how to solve alot of them -I will liekly work on this project for longer durations in the next upcomming weeks and days. while balanacing other responsibilites and habits as well."}, {"post_id": 35655, "ts": "2026-07-27T07:24:03Z", "hours": 0.7811, "text": "I lowkey made the prject worse< I typed in some fo the ocntent heere for the storty making it drasticllt shorter and mroe consicce then the last one. I tried putting in some animation stuff ofr it but it hasn;t worked."}, {"post_id": 34469, "ts": "2026-07-25T06:16:41Z", "hours": 1.2956, "text": "I started working on my story page, of my jounrye to becommming an engineer. I started styling the webpage and got the basic layout of it down, ttomorrow I will focus on the animations and foinal touches and texgt of the story page."}, {"post_id": 33749, "ts": "2026-07-23T22:14:38Z", "hours": 1.1364, "text": "So I added this section popup fro my images and I added in some text for the images of my website. So that will pretty much conclude my first age, I am happy with this design and I will move onto the nxt page"}, {"post_id": 33308, "ts": "2026-07-23T03:13:09Z", "hours": 2.1403, "text": "MWHAHAAHHAHA GUYS I am back and now after beng finnished my header for my. opening page I am moving onto the iamges where I styled them and gave them a fading in intro, I lowk didn’t work on much today and I know I have to do like homework and sstuff so Imma leave it there."}, {"post_id": 31627, "ts": "2026-07-20T05:43:00Z", "hours": 1.2494, "text": "So, I decided to work on it for a little bit more, this time I got started on teh dropdown feature of. my homepage webstie. this is. ahuge part as this helsp show who i am and what I like and it should be relevant to nayone chekcing my website. this took a while to input, but it still needs a little tweaking to be considered done."}, {"post_id": 31584, "ts": "2026-07-20T03:04:11Z", "hours": 1.8481, "text": "HAHA! after 2 weeks of summer school, a hackathon later and practicing arduino stuff. I am back on this project! I found it really challenging to find a good color pallet to maket this thing interactable, so maybe color pallete is like a later thing, ut I gave it a 3d interactable bacgkround header!! woohoo!! thius is one of my goals when tryuing to replicate those really cool websites so I’m really proud. for a second it did wokr but I kinda. broke it again becasue I tried adding some new code. I will probably fix it tomorrow. the colopallete must wait"}, {"post_id": 25738, "ts": "2026-07-10T05:32:17Z", "hours": 1.0089, "text": "I tried getting gemini to create an example of what I had wanted for my overly-aesthetic website, I use ai to generate code which I then manually check over and type on my own finding out and discovering my mechanics while being given a somewhat of a image or refrence of what I want, but following the code gemini had created was found confusing when I tried to tell it how it would create my draft of my personal website, not only did I run into errors trying to type the code but i had found that it had included alot of weird divs created and language used that seemingly served no purpose to my idea of the website, rather than being helpful it was kind of fluffy and being extra so I lowkey ran into wasting an hour of coding, however I found a good website refrence that I was fascinated by it’s simple and effective design that I could adopt into my own website, in the future I will closely analyze this website and use ais to teach me more about this type of design."}, {"post_id": 25169, "ts": "2026-07-09T06:55:21Z", "hours": 1.2892, "text": "Since getting an inspiration and refrence from other websites. I have restarted the project and started working on hte basic html layout fo the first two pages, I’ll try to style them in a really interactive and visually apppealing style that resembles most modern websites."}, {"post_id": 24519, "ts": "2026-07-08T03:48:37Z", "hours": 0.2767, "text": "I was pretty unsatisfieied with the vision of my resulting outcome of my website, it still in a way seemede a little generic broing and balnd even with the extensive hover and intractive freatures so I topok today to draw inspriation from 3 other websitesl. i created an md file to map out my thoughts and since I kinda got a bit busier with summer school I will be stalling toay and picking up pace when I get the oppportunity."}, {"post_id": 23860, "ts": "2026-07-07T01:30:45Z", "hours": 0.6308, "text": "I finnished up on the fading in effect for the timeline/story of my website protfolio I haven’t added any imagees tho. I’ll work on all the tailwind and mechanics first then I’ll move to importing images, and finding a better colour scheme and making the layout more visually appealing"}, {"post_id": 23819, "ts": "2026-07-06T23:54:30Z", "hours": 0.8631, "text": "I started working on the scroll- flow-in timeline mechanic of my story tab in the website, currently it’s not done and I think it’s a little broken but I’ll finnish it up later."}, {"post_id": 23230, "ts": "2026-07-06T01:42:29Z", "hours": 0.9997, "text": "I added a new music list onto the portfolio webstie talking about all the favourite songs I like, I also stared working on the story page that talked about how i came onto this personal path. I faced some small typos but overall got through it. I am planning on adding a similar effect I had with my lists to the small description on the “my story” page. I am planning to style this like a timeline. where boxes adn their yeaers will slowly reveal themselves as you scroll down"}, {"post_id": 22682, "ts": "2026-07-05T07:32:27Z", "hours": 0.5531, "text": "worked on adding the list changing image feature on all of the lists of my home page. Now I just have to add a music taste list and add links to each of the lits items and that should be it for the home page. it sitll looks a little 2d and basic…. the styling color pa;llet literally has only 3-4 colors and uses only 2 most of the time…. so I am gonna have to change that up. yt that’s just a simple code fix. I had this problem where the image kept being at the bottom of the lsit isntead of opening up on the side and it was because I realzied I hadn’t used flexbox propoerties so once I appleid them to both items of teh list and the image I was able to get a smooth visual expression of my interests with a clean smooth layout, aesthetic and appeal. Lowkey midnight motivation pushed me throguh some key changes in the website that’s probably it for the night I am gonna turn the monitor off."}, {"post_id": 22582, "ts": "2026-07-05T03:25:47Z", "hours": 1.6742, "text": "I worked to implement the swtich image freature to all lists, i haven’t found suitabele images for it tho and I am kinda lazy for it … ;("}, {"post_id": 21940, "ts": "2026-07-04T04:21:09Z", "hours": 2.1508, "text": "So, I added a reveal list contents feature to each of the lists using javascript, origionally I ahd to make a unique function for each lsit which was super tedious and annoying and it was just really bad coding rpactices so I deciced to wokr to make my code shorter, more organized and readable, this project, has already come along way thenw hen I had first started it 2 weeks ago… I still am thinking of what kind of images I should add but to be hoenst , finding an image that perfectly represent the topic and adding it is a bit of a drag and kinda disrupts the coding workflow flow-state I sually get into in coding so, I’m gonna have to trian my mind for that. I usually am not that good at using javascript so it was good that I got able to practice it well here."}, {"post_id": 21292, "ts": "2026-07-03T04:30:40Z", "hours": 0.7961, "text": "Worked to make the effect for one of the lsits apply to all lists for the home page. Also planning to add more imgaes to teh website in the future."}, {"post_id": 21135, "ts": "2026-07-02T22:48:18Z", "hours": 1.1833, "text": "I figured out the layout of styling the lists for my portfolio websote and it’s comming together alot. better now. I’ve made a list have special animations when hovereed that reveal it’s contents and I’ve figured out some JS to make a quote appear when you click on my profile. next time I will focus on giving that effect to all of the lists !! a Huge challenge was actually getting the animatiosn right. I had so many unbeleivable typos which was annoying to work with. Some of the syntax also still confused me and I did not yet understnad the meaning of some commands like “overflow-hidden”. but Learning is definitely part of the process here! Although the aesthetic is kinda nice the color pallete is a bit too simple I’lll try and make it more flashy and expressive rather than deep, dark and lowkey"}, {"post_id": 20529, "ts": "2026-07-02T04:33:54Z", "hours": 1.3314, "text": "I proofread and revised parts of my descirption for my personal website, since the goal is overly-aesthetic and interactivness I went ahead and added a profile-hover name reveal feature. Additionally making it minamalisitc while also intractive this is a major drafting and learning leap for my project as I learned more mechanics about tailwind and set the tone on future design of the website. Overall. I am very proud of my work today. Although I had initially struggled with styling the image correctly and somehwo it would never update, I had finally realzied that it was ebcause my tailwind css wasn’t reading my html correctly and I now had a deeper understandin gof where errors like those came from when using tailwind."}, {"post_id": 17453, "ts": "2026-06-28T07:31:31Z", "hours": 0.6325, "text": "Since my personal profiel information was now. alittle outdated and needed some updating I worked to add in those updates I am near running a dead end on how to make this overly aesthetic so when I hit that roadblock I am gonna start planning out how I actually want my own website to look"}, {"post_id": 16768, "ts": "2026-06-27T07:18:40Z", "hours": 0.27, "text": "Not much was done today B Ut I mostyl focused on adding links to the personal website lists. on my home page and I got stared on inputting basics for images. i want tsi to be interactive and a profile that provides the depth of my charceter so I should include links, refernces etc that lead to my hobbies, projects, likes and more I will work more on these features in the morning,"}, {"post_id": 16152, "ts": "2026-06-26T07:56:57Z", "hours": 0.6483, "text": "So I started on moving the css styling components from the origional website ot it;s outer parts to salvage supplies"}, {"post_id": 15521, "ts": "2026-06-25T06:41:24Z", "hours": 1.2978, "text": "overall I worked on connectin gthis repository to this program and I got to work trasnfering the tailwind design styles on my home page across other pages. My overall goal is to learn how to use tailwind and create a project for my own so trying to use aistrictly as likea. google but never let it automate writing code for me. Trying to learn the basics of tailwind for now and then when I ge tmore proficient at it I can master some more creative design options"}]...
|
Title: an overly-asthetic personal website by @Jer Title: an overly-asthetic personal website by @Jeremy_W | Stardance
Devlogs:
overall I worked on connectin gthis repository to this program and I got to work trasnfering the tailwind design styles on my home page across other pages. My overall goal is to learn how to use tailwind and create a project for my own so trying to use aistrictly as likea. google but never let it automate writing code for me. Trying to learn the basics of tailwind for now and then when I ge tmore proficient at it I can master some more creative design options
So I started on moving the css styling components from the origional website ot it;s outer parts to salvage supplies
Not much was done today B Ut I mostyl focused on adding links to the personal website lists. on my home page and I got stared on inputting basics for images. i want tsi to be interactive and a profile that provides the depth of my charceter so I should include links, refernces etc that lead to my hobbies, projects, likes and more I will work more on these features in the morning,
Since my personal profiel information was now. alittle outdated and needed some updating I worked to add in those updates I am near running a dead end on how to make this overly aesthetic so when I hit that roadblock I am gonna start planning out how I actually want my own website to look
I proofread and revised parts of my descirption for my personal website, since the goal is overly-aesthetic and interactivness I went ahead and added a profile-hover name reveal feature. Additionally making it minamalisitc while also intractive this is a major drafting and learning leap for my project as I learned more mechanics about tailwind and set the tone on future design of the website. Overall. I am very proud of my work today. Although I had initially struggled with styling the image correctly and somehwo it would never update, I had finally realzied that it was ebcause my tailwind css wasn’t reading my html correctly and I now had a deeper understandin gof where errors like those came from when using tailwind.
I figured out the layout of styling the lists for my portfolio websote and it’s comming together alot. better now. I’ve made a list have special animations when hovereed that reveal it’s contents and I’ve figured out some JS to make a quote appear when you click on my profile. next time I will focus on giving that effect to all of the lists !! a Huge challenge was actually getting the animatiosn right. I had so many unbeleivable typos which was annoying to work with. Some of the syntax also still confused me and I did not yet understnad the meaning of some commands like “overflow-hidden”. but Learning is definitely part of the process here! Although the aesthetic is kinda nice the color pallete is a bit too simple I’lll try and make it more flashy and expressive rather than deep, dark and lowkey
Worked to make the effect for one of the lsits apply to all lists for the home page. Also planning to add more imgaes to teh website in the future.
So, I added a reveal list contents feature to each of the lists using javascript, origionally I ahd to make a unique function for each lsit which was super tedious and annoying and it was just really bad coding rpactices so I deciced to wokr to make my code shorter, more organized and readable, this project, has already come along way thenw hen I had first started it 2 weeks ago… I still am thinking of what kind of images I should add but to be hoenst , finding an image that perfectly represent the topic and adding it is a bit of a drag and kinda disrupts the coding workflow flow-state I sually get into in coding so, I’m gonna have to trian my mind for that. I usually am not that good at using javascript so it was good that I got able to practice it well here.
I worked to implement the swtich image freature to all lists, i haven’t found suitabele images for it tho and I am kinda lazy for it … ;(
worked on adding the list changing image feature on all of the lists of my home page. Now I just have to add a music taste list and add links to each of the lits items and that should be it for the home page. it sitll looks a little 2d and basic…. the styling color pa;llet literally has only 3-4 colors and uses only 2 most of the time…. so I am gonna have to change that up. yt that’s just a simple code fix. I had this problem where the image kept being at the bottom of the lsit isntead of opening up on the side and it was because I realzied I hadn’t used flexbox propoerties so once I appleid them to both items of teh list and the image I was able to get a smooth visual expression of my interests with a clean smooth layout, aesthetic and appeal. Lowkey midnight motivation pushed me throguh some key changes in the website that’s probably it for the night I am gonna turn the monitor off.
I added a new music list onto the portfolio webstie talking about all the favourite songs I like, I also stared working on the story page that talked about how i came onto this personal path. I faced some small typos but overall got through it. I am planning on adding a similar effect I had with my lists to the small description on the “my story” page. I am planning to style this like a timeline. where boxes adn their yeaers will slowly reveal themselves as you scroll down
I started working on the scroll- flow-in timeline mechanic of my story tab in the website, currently it’s not done and I think it’s a little broken but I’ll finnish it up later.
I finnished up on the fading in effect for the timeline/story of my website protfolio I haven’t added any imagees tho. I’ll work on all the tailwind and mechanics first then I’ll move to importing images, and finding a better colour scheme and making the layout more visually appealing
I was pretty unsatisfieied with the vision of my resulting outcome of my website, it still in a way seemede a little generic broing and balnd even with the extensive hover and intractive freatures so I topok today to draw inspriation from 3 other websitesl. i created an md file to map out my thoughts and since I kinda got a bit busier with summer school I will be stalling toay and picking up pace when I get the oppportunity.
Since getting an inspiration and refrence from other websites. I have restarted the project and started working on hte basic html layout fo the first two pages, I’ll try to style them in a really interactive and visually apppealing style that resembles most modern websites.
I tried getting gemini to create an example of what I had wanted for my overly-aesthetic website, I use ai to generate code which I then manually check over and type on my own finding out and discovering my mechanics while being given a somewhat of a image or refrence of what I want, but following the code gemini had created was found confusing when I tried to tell it how it would create my draft of my personal website, not only did I run into errors trying to type the code but i had found that it had included alot of weird divs created and language used that seemingly served no purpose to my idea of the website, rather than being helpful it was kind of fluffy and being extra so I lowkey ran into wasting an hour of coding, however I found a good website refrence that I was fascinated by it’s simple and effective design that I could adopt into my own website, in the future I will closely analyze this website and use ais to teach me more about this type of design.
HAHA! after 2 weeks of summer school, a hackathon later and practicing arduino stuff. I am back on this project! I found it really challenging to find a good color pallet to maket this thing interactable, so maybe color pallete is like a later thing, ut I gave it a 3d interactable bacgkround header!! woohoo!! thius is one of my goals when tryuing to replicate those really cool websites so I’m really proud. for a second it did wokr but I kinda. broke it again becasue I tried adding some new code. I will probably fix it tomorrow. the colopallete must wait
So, I decided to work on it for a little bit more, this time I got started on teh dropdown feature of. my homepage webstie. this is. ahuge part as this helsp show who i am and what I like and it should be relevant to nayone chekcing my website. this took a while to input, but it still needs a little tweaking to be considered done.
MWHAHAAHHAHA GUYS I am back and now after beng finnished my header for my. opening page I am moving onto the iamges where I styled them and gave them a fading in intro, I lowk didn’t work on much today and I know I have to do like homework and sstuff so Imma leave it there.
So I added this section popup fro my images and I added in some text for the images of my website. So that will pretty much conclude my first age, I am happy with this design and I will move onto the nxt page
I started working on my story page, of my jounrye to becommming an engineer. I started styling the webpage and got the basic layout of it down, ttomorrow I will focus on the animations and foinal touches and texgt of the story page.
I lowkey made the prject worse< I typed in some fo the ocntent heere for the storty making it drasticllt shorter and mroe consicce then the last one. I tried putting in some animation stuff ofr it but it hasn;t worked.
Update on Personal Portoflio:: -Created another category for my stories page -This will lead into my next page where it will be about projects I have wroked on and other greate work I have done, Photography, codig, building, etc. I also did try to add anothe interactive background but unfortunately I ran into a bunch of errors and I didn’t know how to solve alot of them -I will liekly work on this project for longer durations in the next upcomming weeks and days. while balanacing other responsibilites and habits as well.
Got started working on the projects tab on my website, I want to make like a dail formation on loike a row to reveal my projects that I have built across the years
Today I really tried to create the scrollign dial wheel feature on my website, but it proved ot be really challenging. I ran into multiple errors and complications with importing libraries using suitable libraries and finding good ways to test code. I ended up going back to square one with no animations, just divs. Which is arguable better than what I origionally had, because the animation then looked atrocious. It being slow, choppy and delayed.
Creaeted the baseline for this clean aeshtetic for my contacts page, I amde it kind fo absic and i am runnning out of images to put here soI just amde a bse tempalte for now I am planning on mkaing this a little more cooler with some features later. To be honest, I don’t think this website has done too good of a job of what it’s intended to do, I mean it is interactive but, not what I envision it to be at it’s peak… I’m not sure yet but I’ll keep trying. I was really inspired by those websites that had won awards like nk studios and igloo.inc. But I understand those were prodcued by teams of professionals
I am not sure why I logged 3 hours of this, but I just tried working more on thje layout just polishing some pages of the website.
I am logging off an hour of work I have made, I added more hover effcts to the sectiosn of the projects page for more interactivity
added a navigation ection on my contacts page. now my website can be througuhgly traversed accrsoss all pages I’ve jsut been polishing up and adding more details and features like underlines bars etc.
I worked on making the website links more accesible on all links, adding to it;s interactability while fixiign up on a. few more issues and adjustments. i am running otu of Ideas for my website. I’ll be finnishing this up soon.
Hi, from two hours I succesffully deployed my first few images into my projects page. this willl help better present the projects ath I have recently been working on. On top of that OI have uniqley styled these pages to have thier own matching colour scheme
This time, I wokred on adding finishing touches to ship the project. I have deployed it on gihtub and you can access it via link
Ships:
I tried to make a personal website and give it the most aesthetic tailwind effects I could give it...
|
1793008204.226456
|
1793094604.226456
|
|
64301
|
Planetary Dodge by @ianl | Stardance
|
ianl
|
1
|
3.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T06:31:02Z", "hours": 3.0, "multiplier": 1.95, "payout": 5, "blessing": "neutral", "text": "I made a very simple game that I thought would just take an hour or two. It is a game that uses Emojis to simulate a spaceship traveling through space, and there are objects that the spaceship has to avoid. One thing that was very difficult for me was the small amount of mathematics that were used in the Javascript file. I messed up a lot of times on the JS Math functions, but then again, I am very rusty at JS. This has been a learning experience and I hope you enjoy my site! (yes, it’s basic and the UI isn’t the best.)", "repo": "https://github.com/inaianl/planetary-dodge/", "demo": "https://planetarydodge.ourdevbox.site/"}]...
|
[{"post_id": 71632, "ts": "202 [{"post_id": 71632, "ts": "2026-09-21T06:25:54Z", "hours": 0.2519, "text": "I think my game is completely finished now! I know that I stated it was finished previously, but I have just added the last finishing touches. I am really glad with how it came out because I have not programmed in a long time. I learned from this project that I need to work on improving my UI design skills. I used to be really good at UI! Maybe one day!!"}, {"post_id": 71617, "ts": "2026-09-21T05:18:02Z", "hours": 2.2642, "text": "Just finished my game! It took me about 2 hours. Laying out the basics was pretty easy, but I needed help with a lot of the more complex parts."}]...
|
Title: Planetary Dodge by @ianl | Stardance
Devlo Title: Planetary Dodge by @ianl | Stardance
Devlogs:
Just finished my game! It took me about 2 hours. Laying out the basics was pretty easy, but I needed help with a lot of the more complex parts.
I think my game is completely finished now! I know that I stated it was finished previously, but I have just added the last finishing touches. I am really glad with how it came out because I have not programmed in a long time. I learned from this project that I need to work on improving my UI design skills. I used to be really good at UI! Maybe one day!!
Ships:
I made a very simple game that I thought would just take an hour or two. It is a game that uses Emojis to simulate a spaceship traveling through space, and there are objects that the spaceship has to avoid. One thing that was very difficult for me was the small amount of mathematics that were used in the Javascript file. I messed up a lot of times on the JS Math functions, but then again, I am very rusty at JS. This has been a learning experience and I hope you enjoy my site! (yes, it’s basic and the UI isn’t the best.)...
|
1792965059.8538215
|
1793051459.8538215
|
|
64373
|
Computer Science GCSE revision website by @hollyma Computer Science GCSE revision website by @hollymarielise | Stardance...
|
hollymarielise
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T06:16:27Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This was my first website on JavaScript html and css. Its for my HPQ, which I have just started. The project isnt finished yet, but i need to ship smth before this website ends on the 30th. Iit was pretty difficult to work on the buttons and their function and design but i worked it out.", "repo": "https://github.com/hollymarielise-lang/Snake-Game", "demo": "https://compscirevision.netlify.app/choose.html"}]...
|
[{"post_id": 71628, "ts": "202 [{"post_id": 71628, "ts": "2026-09-21T06:09:30Z", "hours": 4.5628, "text": "First time designing buttons and background myself"}]...
|
Title: Computer Science GCSE revision website by @ Title: Computer Science GCSE revision website by @hollymarielise | Stardance
Devlogs:
First time designing buttons and background myself
Ships:
This was my first website on JavaScript html and css. Its for my HPQ, which I have just started. The project isnt finished yet, but i need to ship smth before this website ends on the 30th. Iit was pretty difficult to work on the buttons and their function and design but i worked it out....
|
1792965066.073563
|
1793051466.073563
|
|
30784
|
My first slack bot! by @kratak | Stardance
|
kratak
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T06:06:08Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Ship Check out the repo for the full project details! Here’s a quick recap of what kratakbot can do: Available Commands: /kratakbot-ping - Check bot latency /kratakbot-catfact - Get a cat fact /kratakbot-joke - Get a random joke /kratakbot-quote - Get an inspirational quote /kratakbot-help - View all commands The build process was fairly easy overall.", "repo": "https://github.com/Kratak78/slackbot-stardance_challenge", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354?skip_today=1"}]...
|
[{"post_id": 71619, "ts": "202 [{"post_id": 71619, "ts": "2026-09-21T05:33:31Z", "hours": 0.9583, "text": "Version 1.0 I made this slack bot for the challenge like 2 months ago or so but kinda forgot about it till now, so im finally making this devblog and also ship it right after. The bot is on nest so it should run 24/7 and it is on the hack club slack. commands: /kratakbot-ping - shows latency /kratakbot-catfact - returns a random cat fact /kratakbot-joke - returns a random joke /kratakbot-quote - returns a random quote It was my first time using javascript and also my first time making a slack bot, so I have definitely learned something new."}]...
|
Title: My first slack bot! by @kratak | Stardance
Title: My first slack bot! by @kratak | Stardance
Devlogs:
Version 1.0 I made this slack bot for the challenge like 2 months ago or so but kinda forgot about it till now, so im finally making this devblog and also ship it right after. The bot is on nest so it should run 24/7 and it is on the hack club slack. commands: /kratakbot-ping - shows latency /kratakbot-catfact - returns a random cat fact /kratakbot-joke - returns a random joke /kratakbot-quote - returns a random quote It was my first time using javascript and also my first time making a slack bot, so I have definitely learned something new.
Ships:
Ship Check out the repo for the full project details! Here’s a quick recap of what kratakbot can do: Available Commands: /kratakbot-ping - Check bot latency /kratakbot-catfact - Get a cat fact /kratakbot-joke - Get a random joke /kratakbot-quote - Get an inspirational quote /kratakbot-help - View all commands The build process was fairly easy overall....
|
1793004838.2732673
|
1793091238.2732673
|
|
20896
|
Mr.BentOver by @Adarsh | Stardance
|
Adarsh
|
1
|
6.0
|
33
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T06:06:05Z", "hours": 6.0, "multiplier": 5.17, "payout": 33, "blessing": "neutral", "text": "This is my fun project so i build this project for fun and this is a bentover this reads our discord conversation and its judges in a GIF and we can call him by $Bentover . The hardest part building was a import override and also deployement", "repo": "https://github.com/stairmoss/Mr.BentOver", "demo": "https://discord.com/oauth2/authorize?client_id=1550551463011287100&permissions=274878114816&integration_type=0&scope=bot"}]...
|
[{"post_id": 70614, "ts": "202 [{"post_id": 70614, "ts": "2026-09-19T13:42:01Z", "hours": 0.4358, "text": "added requirements.txt and Readme file"}, {"post_id": 70566, "ts": "2026-09-19T11:32:20Z", "hours": 1.6689, "text": "integrated discord to the project and made all the things working . in the way there were many bugs and error and i solved with using AI gemini guidance"}, {"post_id": 70176, "ts": "2026-09-18T16:54:28Z", "hours": 1.7661, "text": "so i finished the terminal version of bentover and now i have to connect to the discord bot and also i got a huge error and i got confused and it took so much time to solve it was .. [ ImportError: cannot import name ‘get_gif’ from partially initialized module ‘Gif_search’ (most likely due to a circular import) ]"}, {"post_id": 69972, "ts": "2026-09-18T04:36:42Z", "hours": 2.5331, "text": "made the the AI to decide the search phrase of the conversation but its on terminal and not interated with the dicord"}]...
|
Title: Mr.BentOver by @Adarsh | Stardance
Devlogs Title: Mr.BentOver by @Adarsh | Stardance
Devlogs:
made the the AI to decide the search phrase of the conversation but its on terminal and not interated with the dicord
so i finished the terminal version of bentover and now i have to connect to the discord bot and also i got a huge error and i got confused and it took so much time to solve it was .. [ ImportError: cannot import name ‘get_gif’ from partially initialized module ‘Gif_search’ (most likely due to a circular import) ]
integrated discord to the project and made all the things working . in the way there were many bugs and error and i solved with using AI gemini guidance
added requirements.txt and Readme file
Ships:
This is my fun project so i build this project for fun and this is a bentover this reads our discord conversation and its judges in a GIF and we can call him by $Bentover . The hardest part building was a import override and also deployement...
|
1793004698.2169642
|
1793091098.2169642
|
|
36348
|
Chess Bot by @GunRattler28 | Stardance
|
GunRattler28
|
1
|
143.67
|
2096
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T06:00:32Z", "hours": 127.0, "multiplier": 16.58, "payout": 2096, "blessing": "neutral", "text": "I’m finally shipping the chess bot! So excited to see what people think of it :) . Before you try my project I highly suggest reading the README (on my github page https://github.com/GunRattler28/Chess-Bot ). It has a full list of all controls which will help you understand how to play. Anways, can’t wait to see what you guys think of it!", "repo": "https://github.com/GunRattler28/Chess-Bot", "demo": "https://github.com/GunRattler28/Chess-Bot/releases"}]...
|
[{"post_id": 80354, "ts": "202 [{"post_id": 80354, "ts": "2026-10-17T11:49:41Z", "hours": 0.8044, "text": "So, I’ve actually decided to work on making my bot playable on a website since that was one of the main things people said they would have wanted last ship and stardance is ending soon. But thats not why I’m posting. I’m posting because I spent the last 40 minutes rooting out a bug that caused my premoves to not be played. My first step was playing the release version that can be downloaded to see if the bug was there as well. Luckily it wasn’t so I went to my current commit on my main branch and kepy undoing commits (and saving them with git stash ) until the bug was gone. I then found that the bug only became a thing after I merged my commenting branch. Because of this I did the same thing of undoing commits and saving them on the commenting branch til I found the commit that caused the bug. I then went through all the changes until I found the problem. Then I fixed the bug, merged the fix to main then merged main into my other branches so that they would have the bug fix as well. I’ve already done some research and have found that pygbag seems to fit my needs for turning my pygame program into a website pretty well. Due to this I will probably use pygbag to get a website version of my chess bot up and running! Attached is a screenshot of the commit that caused the bug. Before the commit is on the left and after the commit is on the right. Try to find what caused the bug! If you can’t check the comments of the post as I am gonna say what the problem was there. I also attached a photo of how my git tree looks now and… it looks sooo messy lol."}, {"post_id": 79553, "ts": "2026-10-14T16:01:16Z", "hours": 2.835, "text": "I started getting bored of just commenting my code so I created a new branch in which I am trying to make my bot be able to play other bots. After some research, I found that the engine needs to be able to take in moves in the form of algebraic notation (a type of shorthand notation for moves. for example: Be4). Because of this I read a Wikipedia page on algebraic notation and made a function to convert between it and the parameters my makeMove() takes, that being: startRow , startColumn , endRow and endColumn . I have done this by first checking if the move is a castle (notated by O-O or O-O-O) then forming the full start and end coordinates by hardcoding the column values and finding the row based off the colour that is castling. Then I find what piece is moving (shown by the first letter) and if there is a promotion (shown by ‘=’ sign). Algebraic also has characters to show captures (x), checkmates (#) and checks (+), however the engine does not need these and so they are removed in 3 separate while loops. At this point I am left with just the end coordinates and maybe a combination of start coordinates. To find the full start coordinates (as they are all I am missing) I loop through the specific bitboard for the piece and whenever I find a square where there is a piece, I check whether it matches with the start coordinates I have, and if it does whether it can legally reach the end square. If it can then that is my piece and I return its start coordinates and the end coordinates it moves to (which is given in the input string). Currently, this function lives inside a random file in my project folder but my next step will be to properly integrate it into the rest of the code."}, {"post_id": 78191, "ts": "2026-10-09T22:40:08Z", "hours": 7.2036, "text": "Yup! I did what I said I would last time, and finished commenting ALL of logic.py . I don’t think I can describe how long this took and how annoying it was to have to go through 750+ lines of code and add comments explaining things. And then I realise that there’s just random stuff that I don’t even need. Anyway, I’m pretty satisfied that I managed to comment so much. This is definitely the largest file and so I’m happy I’ve gotten it out of the way. There’s not really much I can’t say like explaining and stuff because all I’ve done for the last 5 hours is explain stuff. Anyway once I’ve commented everything, I’ll probably make another devlog and then go and work on something else."}, {"post_id": 72816, "ts": "2026-09-23T19:46:37Z", "hours": 5.8231, "text": "Thanks for all the positive feedback and constructive criticism on my ship! Working to improve where people said and I am starting by trying to add comments to my code to explain what is happening. So far I’ve fully commented 3 / 7 files and am around 30% through commenting logic.py which contains most of the complicated code. Its taking a while but I really hope that this will help people understand what I am doing and that they will like my project more because of this. Next I am going to continue adding comments to logic.py and will probably have to make a devlog after just that since the file is pretty big and has slightly complicated stuff in it. Once again thanks to all the people who rated the project or gave feedback!"}, {"post_id": 71494, "ts": "2026-09-20T22:33:25Z", "hours": 2.5339, "text": "I’ve made a few small changes that help slightly speed the bot up. I stopped checking whether I have surpassed the time limit every move I search and instead every 2048 moves I search. This is better as it removes thousands of unnecessary library calls which each add a small amount of time to how long each move takes to search. Since computers are very fast 2048 doesn’t actually take long at all but it massively reduces the amount of times the pygame library is called. I also changed my move ordering to sort manually instead of with in a lambda function since this lambda functions are more inefficient. I am next going to ship the project!!!"}, {"post_id": 69354, "ts": "2026-09-16T21:16:32Z", "hours": 3.3497, "text": "Premoves finished! My premoves are now fully implemented and the branch is merged. Making the move with middle click removes that specific premove. Middle clicking a random square clears all premoves and arrows. I also added principal variation search (pvs) which is just searching moves that aren’t the previous best move with a tight move score boundary then researching them normally if they are better than expected. I am probably going to ship soon and so will start polishing the project up now."}, {"post_id": 63850, "ts": "2026-09-07T20:35:48Z", "hours": 6.9336, "text": "Way better premoves. I’ve updated my premove system to store multiple premoves. I did this by storing eaach premove as a tuple of ( startRow , startColumn , endRow , endColumn ). These tuples contain all the data I need to know and can be easily appended into an array. To clear a premove you can either do the same move again which removes that specific premove or tap the middle mouse button anywhere which clears all premoves and arrows. I also render a translucent version of the piece that I’ve moved to its premove destination and remove the texture for where it was originally. This helps you keep track of what your premoves are actually doing. I do this by drawing the board normally then looping through each move in the premoves array and drawing that piece at its correct destination in reduced alpha. Next I am going to try to improve my bot further so that I can push to a depth of around 10 during midgame."}, {"post_id": 59871, "ts": "2026-09-01T21:01:21Z", "hours": 5.3678, "text": "I’ve added FEN strings! FEN strings (Forsyth-Edwards Notation) are a way to store positions of chess games. They are used by many chess engines to allow players to start from different positions or midway through games. Adding these wasn’t too difficult as the strings are formatted in a nice way. I simply split up the FEN string into its 6 parts and set my variables to the value in the FEN string. To test if it worked I inputted the FEN string 4kb1r/p2n1ppp/4q3/4p1B1/4P3/1Q6/PPP2PPP/2KR4 w k - 1 16 which gives the position of the famous opera game directly before the queen sacrifice. I then set the bot colour to white and was glad to see that it immediately found the best move (the queen sacrifice). I also added premoves so that I can choose my move in advance. I did this by just storing the move I make when it is the bot’s turn and playing it as soon as the bot plays. However I can only premove 1 move ahead. Next I will try to allow the user to premove multiple moves ahead."}, {"post_id": 52243, "ts": "2026-08-22T10:35:52Z", "hours": 2.8078, "text": "Quiescent search is amazing! After adding it my bot instantly became better. A quiescent search just means that when evaluating a board state to a certain depth even if you reach that depth you need to evaluate until a quiet move (a move that isn’t a capture). This means that even if the bot reaches the max depth in the middle of a piece trade it won’t just think the move is amazing since all it can see it won a piece. Since I added the bot, when tested against other bots it has made 0 blunders! In fact it beat Li, a bot rated 2000 on chess.com ! I’m really proud of this and think it is really cool to say that my bot has beaten a 2000 rated bot. However, it only beat the bot once and so it could just be lucky. I was going to test it in 2 more games against the same bot but found myself getting bored of manually inputting moves into chess.com and my bot to get them to play each other. Therefore, I’m planning on making my bot able to play other bots on its own. To do this I will need to download the other bots and make my bot give properly formatted inputs and outputs."}, {"post_id": 51300, "ts": "2026-08-20T21:17:05Z", "hours": 3.5539, "text": "Massive improvements in depth! I added 2 changes: null move pruning and late move reduction. Null move pruning is when the bot ‘passes its turn’, when searching for the best move. The bot then evaluates the board at a reduced depth after letting the opponent play twice in a row. If it is still in a winning position then that means it is winning by a lot. This means that it can prune this branch since the opponent wouldn’t let the game get to this state and would make a better decision earlier in the tree. Since the opponent wouldn’t let the game get to this it means that further analysis isn’t necessary. Late move reduction works on the basis that I have good move ordering, which I just worked on so I would hope I do. Late move reduction means that I search the later moves at a reduced depth since the best moves are at the start and so later moves are likely bad. If they turn out to be good after the reduced evaluation depth then they are researched at the full depth. This helps reduce the amount of moves which need to be evaluated by a lot. Together null move pruning and late move reduction have taken my depth from around 6 - 7 in midgame to around depth 7 - 10 in midgame! In endgame this is even more. When I tested it in endgame it got to a depth of 13! My next change is something called quiescent search which will boost the bot’s elo by massive amounts as it should mostly stop the bot from making blunders."}, {"post_id": 50191, "ts": "2026-08-19T10:05:52Z", "hours": 1.9161, "text": "Move ordering improved! I’ve merged my SCRUM-29/move-ordering branch with main and now have my improved move ordering in main. This has let me go from a depth of 5 to almost always a depth of at least 6. I then merged main into SCRUM-42/improve-maintainability so that I could add comments to the code I added from the move ordering branch. Next I am going to add some comments explaining what things do."}, {"post_id": 48364, "ts": "2026-08-16T17:56:17Z", "hours": 4.4589, "text": "I’ve massively improved my organisation! I’m now properly utilising branches which is allowing me to work on multiple changes at the same time. Currently I am working on 2 branches. One is about improving my maintainability by adding comments so that other people can understand what I am doing and why. This also has the added benefit of me being able to make some small improvements and bug fixes as I am reading through all of my code. The second branch is about move ordering which is super important as it makes my alpha beta pruning more effective. Working on these changes on branches is useful because it not only keeps it organised and easy to see what each commit is for but also means that if I decide I don’t want the change anymore it is easy to remove as it isn’t mixed in with all the other changes. To help with this I’ve also created a Jira board which helps me keep my ideas organised. My branches are called SCRUM-NUMBER/NAME . The scrum number is given to me by Jira. As well as improving my organisation I also further improved my zobrist hashing by replacing using modulo on the hash to get the index of the transposition with using an and gate between my hash and the table size - 1 (which is just all 1s and a single 0 on the left most digit since the table size is a power of 2). I also stored my castle rights as a single 4 digit binary digit where each digit represents whether a certain rook has castling rights or not. My logic with this was since the point of bitboards is 12 integer is better than 64 integers, a single 4 digit integer is better than a dictionary of 4 values but I am not actually sure if this is true or not. On the maintainability branch so far I have added comments to all of main.py . On the move ordering branch I have improved my sorting from just sorting by most valuable capture and least valuable attacker which is only good for captures to also scoring promotions very highly. I also instantly push the previous best move to the front of the queue and score moves which cutoff branches in alpha beta pruning highly as well. Next I will try to add comments to one of my other files and improve my move ordering by not using lambda functions."}, {"post_id": 47220, "ts": "2026-08-15T00:10:15Z", "hours": 4.5128, "text": "I’ve improved my endgame condition. When testing the bot I found that during endgame it would sometimes move its king to the corners of the board. I realised that this was because it saw a queen on the board and due to the poor endgame condition it thought this meant that it wasn’t endgame and instead used the early / mid game position bonus table which rewards staying safe in the corners. However in endgame moving the king to the corner isn’t good as it makes checkmates easier for the opponent and means that the king isn’t used to help checkmate the opponent, which is crucial in certain endgames such as a king and queen against just a king. In situations like this the king is necessary in achieving a checkmate. I changed it to being if there is less than (2 black queens and 2 white queens and less than 16 pieces) or if there is less than 5 pieces not including pawns. This is more accurate and ensures the king actually helps win and tries to stop a checkmate on itself. I also improved my zobrist hashing by fully incrementing it. Previously I incremented it for everything except castling and en passant however now these are implemented as well. I also noticed that the bot would walk its king towards the centre of the board during the opening which puzzled me until I read through my code and realised its because I set totalPieces to 0, asked if it was endgame, and afterwards set totalPieces to the true value. This was pretty difficult to find as I couldn’t see it by just seeing if it thought it was endgame at the end of a move. This makes sure I can actually get my hashes in O(1) time. Next I am going to try and make my arrows darker when over each other."}, {"post_id": 46626, "ts": "2026-08-14T00:35:40Z", "hours": 3.7133, "text": "I’ve added a better endgame condition! Now endgame is determined if (there are no queens and less than 16 pieces on the board) or if there is less than 8 pieces on the board. This is better because it means when pawns promote the king doesn’t run to the corners or use the other position bonus table. I also improved my bot’s 3 fold repetition check when searching for moves by using a dictionary with hashes as keys and number of times they have appeared as values. This lets me check if I have been in the position 3 times before in O(1) instead of O(n) . I also improved my makeMove() and previousMove() functions by checking if its the bot searching for moves and if it is then only storing the key information instead of everything. To help simplify previousMove() I instead created a seperate function called unmakeMove() (clearly related to makeMove() ) to undo moves when the bot is searching. I also changed the time the bot has to move from 3 seconds to 1.5 seconds so that it feels snappier. Probably cos I have 0 patience when I want to test if the bot works :). Next I am going to try and make my bot faster by improving the move ordering so that alpha beta pruning can be more effective."}, {"post_id": 46469, "ts": "2026-08-13T18:10:03Z", "hours": 6.67, "text": "Iterative deepening! The bot now searches depths in an ascending order instead of descending. This is only possible thanks to my transposition tables but means that I can give the bot a time limit. Once the time limit is reached it just return the best move of the highest depth its fully searched. This means that I can search to different depths in different positions whilst making sure I always play within the time limit. This is good as it means I can have a high depth during the opening and endgame whilst having a medium depth during mid game instead of having a medium depth everywhere to ensure moves at midgame don’t take too long. Midgame usually has a lower depth due to the high number or possible moves that can be played. I can also easily change the time limit with just a single variable. This means I can get my bot to play faster but also worse or take longer but play better. I added incremental evaluation. This means that for each move, instead of looping through all 12 bitboards and recalculating the evaluation score from scratch I instead update it from the current evaluation score. So when I move a piece I subtract its old it’s material value and then add the material value if it still exists. The same happens for the position bonuses. This takes my time complexity from O(n) to O(1) which is a massive upgrade. These changes lets my depth in early game and endgame almost always stay at 7 whilst during midgame hover between depth 6 and depth 7. Currently I determine if I am in endgame if both queens are gone and the total amount of pieces is below 16 however I feel that this isn’t a good measure and I should improve this. Next I will try to improve efficiency by improving my move ordering so that the alpha beta pruning is more efficient."}, {"post_id": 45212, "ts": "2026-08-11T15:18:18Z", "hours": 7.8964, "text": "Transposition tables! I’ve added zobrist hashing so that I can create a dictionary that contains all of the board states I have already evaluated. Since many different moves can lead to the same position it means that I can save computing power by just getting the score of that board state instead of having to re-evaluate the board again. Zobrist hashes are just a way to represent the board in hash. This is useful as I can use them as the keys in my dictionary and quickly see if the current board state has been evaluated yet. I also fixed a bug that let the bot play illegal moves as there wasn’t a legality check after the aspiration window failed. An abort flag was also added that is set to True when the user undos or redos a move. This lets me instantly stop that thread’s search for the best move ensuring it doesn’t use unneccessary computing power. Next I am going to try and implement iterative deepening so that I can force the bot to move within a certain amount of time. This would let me make the bot play different ‘time controls’ by altering how long it has to think about what move it should play. I tested it against some bots from chess.com and it managed to beat Wally (a 1800 bot) but lost to Li (a 2000 bot)"}, {"post_id": 43276, "ts": "2026-08-08T13:19:50Z", "hours": 9.4272, "text": "Improved efficiency! I’ve improved the efficiency of the bot by sorting the possible moves better. This is useful as it means when the alpha beta pruning goes over everything it searches the best trees first. This means that it can prune more branches. I also removed some random integer conversions on my bitboards as they did nothing, since the bitboards are already integers. I also removed a restriction that didn’t let the player do anything on the bot’s turn. Now the player can draw during the bot’s turn. I also went across all of my code and changed it to use (row, column) instead of (column, row). This helps keep things cleaner. I then also changed the bot calculations from from using the fullyLegalMoves() function to the movementLegalMoves function(). fullyLegalMoves() just makes sure that the king isnt in check after the move. If it is then it undoes the move. By insteading doing this in my bot.py it means I can just not undo the move and immediately remove that move. This means that I don’t need to undo the move more times than needed. This is very helful as undoing a move takes up computing power. I also completely replaced the piece names with integers as this would be slightly better and I could use bit operations with integers. As well as this I also added a timer that shows how long the bot took to make its move. By adding all of these changes the bot reduced its time on the first move as white from ~4 seconds (with depth 4) to 3 seconds (with depth 5). This shows that it is much more efficient as, time taken increases exponentially as depth increases. As well as this 3 seconds is the earliest the bot can move and so the true speed is likely much less."}, {"post_id": 40993, "ts": "2026-08-04T21:24:23Z", "hours": 1.4964, "text": "Better arrows! I don’t remember where but there is one place where drawing arrows in a knights movement creates an L shaped arrow instead of just a normal arrow. I love this and so implemented it into my program. I also added aspiration windows. Aspiration windows work on the basis that moves don’t usually swing the score by a lot. This means that when going down paths we can set the lower and upper bounds to previous score ± window size. This helps prune more paths. If we find that the score is actually higher than we expect we search again but without the aspiration window. This helps remove lots of the obviously bad paths which makes the program much more efficient. Next I am going to add zobrist hashing so that I can use transposition tables."}, {"post_id": 40821, "ts": "2026-08-04T16:15:52Z", "hours": 2.5794, "text": "Colour randomisation! The colour you play as is chosen at random at the start of the game. The board is also automatically rotated so that you are at the bottom and the bot is at the top. This also helps to show which colour you are playing as. I also show the last move by making the starting square #97C997 and the ending square #8DCE8D. I did this as when I asked I watched someone play it I noticed that they would often undo the move, to see what the bot just did, then redo the move again. This helps make everything feel more polished. I like the ending square colour ( #8DCE8D ) but I’m not sure if I like the starting square colour ( #97C997 ). These colours are very easy to change though and so I can quickly edit them to test out different colours. I also realised that when I eventually ship the project most people who download it won’t have the font I use ( dynapuff ) installed. I tested it out to see what it is like without it and found that it crashed. To fix this, I implemented a try - except statement which sees if dynapuff exists on the user’s computer. If it does then it uses dynapuff which is how it is supposed to be played but if they don’t have the font it uses arial instead. Due to the strange spacing of dynapuff I used double spaces between the words on the game over messages, but when using arial the double spaces look quite strange. I also tweaked some of the position bonus values to further encourage castling. Next I am going to try to add a file to reward moves which keep keep the king safe."}, {"post_id": 40296, "ts": "2026-08-03T18:45:17Z", "hours": 10.2542, "text": "I’ve added position bonuses! I created a new file which rewards moves which place certain pieces in certain areas. For example pawns are rewarded for controlling the centre and pushing to the 7th rank (so that they can promote). The bot now tries to control squares and this means it now has proper openings. I also completely updated the file structure to split the responsibilities more clearly. I also updated main.py and logic.py and made them classes. Making logic.py a class means that I can use it for both the player actions and bot actions without them interfering. This also makes my previousMove() much cleaner as it means when the bot uses it, it doesn’t interfere with when the player uses it. Due to the new file structure it means that I can easily change the weights of each of the different modules to change how the bot plays easily. Later I will add a slider or at least a setting that lets the player control these modules. As well as this I also changed it so that drawing the same arrow again removes the arrow. Next I am going to try add another module that rewards moves which keep the king safe."}, {"post_id": 37668, "ts": "2026-07-30T15:47:33Z", "hours": 7.4286, "text": "I’ve added a bot! The main point of this was to link the new file I made ( bot.py ) to main.py . The bot currently just chooses moves based off of what would result in the best material difference between white (player) and black (bot). It calculates these moves with a depth of 4. Since the main point wasn’t to actually make a bot in one go the bot isn’t very good currently. However I still added alpha beta pruning. Alpha beta pruning works by storing the best guaranteed outcome for you (alpha) and the best guaranteed outcome for the opponent (beta). Whenever it finds a path where the opponent can force a move that is worse than the alpha, it immediately stops going down that path. The same happens for beta. I also removed some duplicated code in main.py and fixed the undo and redo move logic as I forgot to check if it still worked properly after switching from tkinter to pygame. Currently you can only tap the buttons and but can’t hold to go back multiple moves. Undoing and redoing moves with a bot was a bit confusing for me and so I decided to make it so that when undoing and redoing there is 3 seconds before the bot moves. During these 3 seconds you can go forwards or backwards to reset the timer. I used threading so that the bot starts to calculate what move it would make at the same time as the 3 seconds are passing. This means that if you decide to stay on the turn you don’t need to wait as long. I also blurred the background of the the promotion GUI so that it is grabs the players attention. Next I am going to try and add a better bot by assigning each possible move a score that is based off of the squares it controls, offensive and defensive opportunities and potentials for forks (when 2 pieces are being attacked by 1 piece so only one piece can move out of danger)."}, {"post_id": 36896, "ts": "2026-07-29T08:41:59Z", "hours": 1.9431, "text": "I’ve split my file into 5 now. There is moveGeneration.py which calculates all the legal moves, moveExecution.py which actually moves the pieces, updateBoard.py which updates the board, gui.py which handles graphics (like arrows, promotion page and clicks) and main.py which says what functions should happen when an input is given and has a while loop for while the game is running (as is needed by pygame). Splitting the file makes it much easier to debug, keep track and add features instead of just having one ~1000 line file where everything is jumbled up. Next I am going to start work on the actual bot."}, {"post_id": 36538, "ts": "2026-07-28T18:38:30Z", "hours": 1.1517, "text": "Insufficient material and 50 move rule! These were the last things I needed to add before step 1 was complete. Now the next step is to actually add the bot! I’ve got everything I need down for a game of chess before 2 players. I added insufficient material by creating a new insufficientMaterial() . Inside the function are some if statements that determine whether winning is still possible (not assisted by opponent going into the corner). I also added the 50 move rule by checking moves since last pawn advancement or capture and if it exceeds 50 then end the game. I also made it so that once the game ends you can go undo moves and continue playing instead of just having the game end. Next I am going to try to clean up my code, split the code into multiple files and optimise it."}, {"post_id": 36025, "ts": "2026-07-27T20:54:24Z", "hours": 1.3014, "text": "En passant has been added. I find if it is legal by making sure the pawn capturing is on its fifth rank and the pawn being captured is moved 2 forward. Thats all I need for en passant (also only available for the first go it is there). I also made my program more efficient by ensuring I only rely on an array for finding what piece is on an index and drawing. Everything else uses bitboards which helps me fully utilise bitboards. I now have 2 things left: 50 move rule and Insufficient Material. Both of these end in a draw and are the last things I need for my program to have all the rules of chess! Next I will add the 50 move rule"}, {"post_id": 34600, "ts": "2026-07-25T13:43:51Z", "hours": 2.65, "text": "I was so unimpressed by how my old arrows looked I just completely switched libraries! I now use pygame instead of tkinter. It offers much more graphical customisability and now I can draw arrows (and other shapes) with true transparency instead of just stipples. One of the main downsides of pygame is that it constantly redraws each frame. This takes computing power and drains battery. To stop this I created a redraw boolean which tells my script when to redraw. This means instead of redrawing every single frame I redraw whenever something actually changes. Due to pygame I also customised the arrows so that the tails are rounded. This means that multiple arrows from the same point looks much cleaner. I also get true translucency instead of stipples and I added an icon!"}, {"post_id": 34132, "ts": "2026-07-24T17:06:08Z", "hours": 4.1839, "text": "Need to get your strategies into something you can see? Lines let you do just that. Right clicking and dragging draws a line that follows your cursor around. Right clicking again places the line. The lines are automatically centred so that they snap to the centre of the squares. If you line starts and ends at the same place it creates a circle instead. I also spent lots of time making sure my bitboards are used properly as when I created the array last time I used it for more than I intended and lost most of the arrays of bitboards. I also noticed that the promotion GUI wasn’t properly centred and so fixed that. I don’t really like the lines as they use stipples instead of a solid colour and overall don’t look nice but tkinter doesn’t offer transparency apart from stipples and doesn’t allow lots of customisation of the arrows. Next I will likely try to add en passant."}, {"post_id": 33646, "ts": "2026-07-23T18:39:22Z", "hours": 4.0794, "text": "Finally, promotions! This was the last major part of chess that I didn’t have. I added it by finding the row of the piece when I move something. I hardcoded it so that it knows when the pawn is at the last row. When at the last row, it runs a choosePromotion() function. That function then creates a frame inside of my window. I then loop for each of the choices of the pieces I can choose. For each of these pieces I create a button with the piece (in the correct colour) in the centre. The frame waits until I pick a choice before adding a 1 on that piece’s bitboard at the correct location and removes the 1 on the pawn bitboard. Thats all I need to do to register a promotion! The rest of the time I spent optimising my code and realising that I didn’t have to use just a bitboard or an array, I could use both. Knowing that, I removed my getPiece() function and instead used an array to find the piece at a row and column. This is more efficient as arrays have a lookup time of O(1) whereas the getPiece() function has a lookup time of O(n) in the worst case. This is because my getPiece() function worked by cycling through each bitboard to find what piece was at a certain coordinate. This meant that I could also remove my totalPieces bitboard since this was only used in the getPiece() function to avoid cycling through all 12 bitboards if there was nothing there. Overall I’m really happy with how everything is going as I have all I really need for a proper game of 2 player chess. Next I am going to try and add the small things I am still missing such as En passant and the 50 move rule."}, {"post_id": 33388, "ts": "2026-07-23T09:22:55Z", "hours": 1.5583, "text": "Stalemates and three-fold repetition have now been added. Stalemates are calculated if legalMoves(turnColour) returns none but the king is not in check. I find if there is three-fold repetition by storing a hash of the board every move. This is stored in a dictionary as dictionaries are much better than arrays for lookups. After each move I see if that board state is in the dictionary. If it is I increase its value by 1. If not I set its value to 1. I then see how many times its reached that board state and if it is 3 times I end the game and show bright red text saying ‘Three-fold Repetition! Nobody wins!’. The hash includes piece positions, turn colour and castling rights as these are 3 of the 4 criteria that FIDE use. The fourth is en passant however that has not been added yet. Next I will add pawn promotions as this is the last major thing I don’t have."}, {"post_id": 33184, "ts": "2026-07-22T21:11:59Z", "hours": 2.3886, "text": "Castling! I’ve actually added castling this time. The castling also works with undo / redo move so that it undoes and redoes the move correctly. I’m starting to think my python file is getting a bit big now so I also created a few helper functions to help reduce code duplication. Its 572 lines currently. Luckily I am quite close to finishing the actual board and getting everything ready for a 2 person game of chess. This was my first goal so that the bot just becomes one of the players. Once I’m ready for a 2 person game of chess I’ll try to create another python file for the bot. This will help me keep track of what is doing what. Next I am going to add pawn promotion as that’s one of the biggest things that I don’t have yet. It is essential in late game and so is one of my priorities."}, {"post_id": 32902, "ts": "2026-07-22T11:18:43Z", "hours": 2.9108, "text": "Ever misclick and sell the game? Well not anymore! You can now undo moves by tapping the left arrow on the keybord and also redo those same moves if you change your mind by tapping the right arrow ! I did this by adding a saveMove() function which I run after every move I make. This saves the details of the last move to the moveHistory array: Piece Moved Start Position End Position Piece Captured (Just “” if None) Turn Colour Moves so far In my undoMove() function I remove the last move done and add it to an array called redoHistory . I then set all the details to the last entry in moveHistory . I do the same in my redoMove() function excpet I use the last entry in redoHistory instead. I’ve allowed undos after checkmate so that you can look for what went wrong and try other moves that might’ve stopped it. I also added sound! You’ll be able to see / hear all of this if the video uploads instead of just a screenshot. Next I am going to add castling (for real this time)."}, {"post_id": 32585, "ts": "2026-07-21T21:11:56Z", "hours": 2.6961, "text": "The game can now end! I have added a check to see if it is checkmate. When it is checkmate bright red text appears on the screen that says “Checkmate! WINNER wins!” (it says the colour which won not WINNER). I have also changed it so that when a player is in check they are forced to make a move that stops them from being in check. The only circles that come up are ones which would block the check to make it a bit easier for players. I’ve also made it so that my new function blockCheck() takes the calculations made by calculateLegalMoves() and uses it to display and allow only legal moves. As well as this anywhere that used to call calculateLegalMoves() now calls blockCheck instead. By making sure each function does 1 task it makes debugging easier ( not that anything would ever go wrong… ). Next I am going to try and add castling as this is a crucial mechanic that is used often."}, {"post_id": 32399, "ts": "2026-07-21T15:39:28Z", "hours": 2.8764, "text": "I’ve added better red and green overlays that are translucent so that you can see through them an easily know what piece you are taking. But most importantly, I’ve added check detection. I created a few new functions to do this. The first function I created was the isSquareAttacked(row, column, atkColour) function. It works by cycling through the bitboards and checking if they are atkColour or not. If they are find the type of piece and those pieces could attack the king. I think this will be helpful when I start to actually make the bot. I also created a simple findKing(colour) function to see where the king is so that I can parse that information into the isSquareAttacked() function. I then get a boolean. If it is true (the king is in check) I add the red overlay to the king so that the player easily knows they are in check but I don’t actually force them to block the attack yet. I think the overlay should be different but am not sure what to make it (gimme some ideas). I also created a slidingMoves() function as in my calculateLegalMoves() function I had ~40 lines of almost fully repeated code. Next I am going to force the player to block the check and end the game if it is checkmate."}, {"post_id": 32072, "ts": "2026-07-20T23:45:34Z", "hours": 0.9622, "text": "Finally took the time to change the piece textures so that black has an actual piece colour and you don’t get confused about whose pieces are whose"}, {"post_id": 31762, "ts": "2026-07-20T12:27:13Z", "hours": 3.4017, "text": "I’ve added dots to show where you can move when you click on a piece. If the position you want to move the piece to the dot is green but if it has an enemy piece the dot is red. Sadly, tkinter (the library I’m using) doesn’t support transparency. Because of this the dot takes up some of piece you want to capture. I can fix this by instead of drawing a circle drawing a translucent image… but tbh i rly cba. I will eventually do it to make it look better and actually add black pieces but i want to focus on getting things to actually work for now. The reason why this took me so long to implement is because as I was making the function to draw the dots I found that it was doing something very similar to my validMove() function but it was MUCH more efficient. In the old function I went through every square on the board and looked if the piece selected could get there. This is very inefficient and would build up quickly when I call the function 1000s of times per second (when I eventually add the bot). In my new function I look at the selected piece and have an array of each of the places it can move relative to its position. I then add the dots to those places if they are able to move there. This ended up with me just completely removing the old function and knowing its a valid move if there is a dot there. Next I am going to add something to see if the king is in check and maybe add some text when it is checkmate."}, {"post_id": 31082, "ts": "2026-07-19T06:07:07Z", "hours": 2.55, "text": "I’ve implemented bitboards instead of an array to store my board. At first I didn’t understand why bitboards were so good but after an amazing youtube video ( here ) I understand them and love them. I use them by having a 64 bit long integer (wow thats long) that represents the 8 by 8 board. Each bit can either be a 0 or 1 and represent whether there is a piece there or not. But you might think then how do you know what type of piece each 1 is? Thats why I use 12 bitboards (technically theres 1 more I added for extra efficiency but I don’t need that). Each of these 12 bitboards represents a type of piece in a specific colour (for example: white pawns and black pawns have 2 different bitboards). Then when I want to move pieces I create a position integer which is just 63 zeroes and a single 1 where the piece should be. I then invert this and use an AND statement so that all of the results for the AND are true where there are pieces apart from where I set the 1 at the start (though it is now a 0)."}, {"post_id": 30753, "ts": "2026-07-18T16:10:19Z", "hours": 3.6586, "text": "Added move legality. You can now mostly only make legal moves however I have not added something to checks if the king is in check. I made sure the move was legal by taking the startRow startColumn and endRow endColumn. I then look at what piece is being moved and ensure it is ok. If it isn’t nothing happens when you try to click and you have to make another move. I made sure that the correct colour moves as well. I also haven’t added pawn promotions, castling or en passant (tbh im not 100% certain on the rules of en passant). I couldn’t add castling as I don’t have a move history so would have no way of knowing if the king or rook have moved before. I’m now working on converting my current way of storing the board (a 2D array) into bitboards. After some research I found that bitboards are more than 5 times more efficient than arrays!"}, {"post_id": 30312, "ts": "2026-07-17T19:23:30Z", "hours": 2.0086, "text": "I can now move pieces! But there is no legality check yet. I also added a green outline if you select a piece. It works by listening for a click. Then when it gets a click it takes mouseX and mouseY and divides by positionSize to find which row and column it is on. It then checks against the board to see what is on that position. If it is a piece then it creates an outline and sets that as the active square. If it is empty AND active square has a value, it moves the piece."}, {"post_id": 30018, "ts": "2026-07-17T08:18:30Z", "hours": 1.4367, "text": "I’ve finally decided to actually making a chess bot and stick to it! So far I’ve set up the chess board for just visuals. Everything right now is purely visual. I am using python and the tkinter library."}]...
|
Title: Chess Bot by @GunRattler28 | Stardance
Dev Title: Chess Bot by @GunRattler28 | Stardance
Devlogs:
I’ve finally decided to actually making a chess bot and stick to it! So far I’ve set up the chess board for just visuals. Everything right now is purely visual. I am using python and the tkinter library.
I can now move pieces! But there is no legality check yet. I also added a green outline if you select a piece. It works by listening for a click. Then when it gets a click it takes mouseX and mouseY and divides by positionSize to find which row and column it is on. It then checks against the board to see what is on that position. If it is a piece then it creates an outline and sets that as the active square. If it is empty AND active square has a value, it moves the piece.
Added move legality. You can now mostly only make legal moves however I have not added something to checks if the king is in check. I made sure the move was legal by taking the startRow startColumn and endRow endColumn. I then look at what piece is being moved and ensure it is ok. If it isn’t nothing happens when you try to click and you have to make another move. I made sure that the correct colour moves as well. I also haven’t added pawn promotions, castling or en passant (tbh im not 100% certain on the rules of en passant). I couldn’t add castling as I don’t have a move history so would have no way of knowing if the king or rook have moved before. I’m now working on converting my current way of storing the board (a 2D array) into bitboards. After some research I found that bitboards are more than 5 times more efficient than arrays!
I’ve implemented bitboards instead of an array to store my board. At first I didn’t understand why bitboards were so good but after an amazing youtube video ( here ) I understand them and love them. I use them by having a 64 bit long integer (wow thats long) that represents the 8 by 8 board. Each bit can either be a 0 or 1 and represent whether there is a piece there or not. But you might think then how do you know what type of piece each 1 is? Thats why I use 12 bitboards (technically theres 1 more I added for extra efficiency but I don’t need that). Each of these 12 bitboards represents a type of piece in a specific colour (for example: white pawns and black pawns have 2 different bitboards). Then when I want to move pieces I create a position integer which is just 63 zeroes and a single 1 where the piece should be. I then invert this and use an AND statement so that all of the results for the AND are true where there are pieces apart from where I set the 1 at the start (though it is now a 0).
I’ve added dots to show where you can move when you click on a piece. If the position you want to move the piece to the dot is green but if it has an enemy piece the dot is red. Sadly, tkinter (the library I’m using) doesn’t support transparency. Because of this the dot takes up some of piece you want to capture. I can fix this by instead of drawing a circle drawing a translucent image… but tbh i rly cba. I will eventually do it to make it look better and actually add black pieces but i want to focus on getting things to actually work for now. The reason why this took me so long to implement is because as I was making the function to draw the dots I found that it was doing something very similar to my validMove() function but it was MUCH more efficient. In the old function I went through every square on the board and looked if the piece selected could get there. This is very inefficient and would build up quickly when I call the function 1000s of times per second (when I eventually add the bot). In my new function I look at the selected piece and have an array of each of the places it can move relative to its position. I then add the dots to those places if they are able to move there. This ended up with me just completely removing the old function and knowing its a valid move if there is a dot there. Next I am going to add something to see if the king is in check and maybe add some text when it is checkmate.
Finally took the time to change the piece textures so that black has an actual piece colour and you don’t get confused about whose pieces are whose
I’ve added better red and green overlays that are translucent so that you can see through them an easily know what piece you are taking. But most importantly, I’ve added check detection. I created a few new functions to do this. The first function I created was the isSquareAttacked(row, column, atkColour) function. It works by cycling through the bitboards and checking if they are atkColour or not. If they are find the type of piece and those pieces could attack the king. I think this will be helpful when I start to actually make the bot. I also created a simple findKing(colour) function to see where the king is so that I can parse that information into the isSquareAttacked() function. I then get a boolean. If it is true (the king is in check) I add the red overlay to the king so that the player easily knows they are in check but I don’t actually force them to block the attack yet. I think the overlay should be different but am not sure what to make it (gimme some ideas). I also created a slidingMoves() function as in my calculateLegalMoves() function I had ~40 lines of almost fully repeated code. Next I am going to force the player to block the check and end the game if it is checkmate.
The game can now end! I have added a check to see if it is checkmate. When it is checkmate bright red text appears on the screen that says “Checkmate! WINNER wins!” (it says the colour which won not WINNER). I have also changed it so that when a player is in check they are forced to make a move that stops them from being in check. The only circles that come up are ones which would block the check to make it a bit easier for players. I’ve also made it so that my new function blockCheck() takes the calculations made by calculateLegalMoves() and uses it to display and allow only legal moves. As well as this anywhere that used to call calculateLegalMoves() now calls blockCheck instead. By making sure each function does 1 task it makes debugging easier ( not that anything would ever go wrong… ). Next I am going to try and add castling as this is a crucial mechanic that is used often.
Ever misclick and sell the game? Well not anymore! You can now undo moves by tapping the left arrow on the keybord and also redo those same moves if you change your mind by tapping the right arrow ! I did this by adding a saveMove() function which I run after every move I make. This saves the details of the last move to the moveHistory array: Piece Moved Start Position End Position Piece Captured (Just “” if None) Turn Colour Moves so far In my undoMove() function I remove the last move done and add it to an array called redoHistory . I then set all the details to the last entry in moveHistory . I do the same in my redoMove() function excpet I use the last entry in redoHistory instead. I’ve allowed undos after checkmate so that you can look for what went wrong and try other moves that might’ve stopped it. I also added sound! You’ll be able to see / hear all of this if the video uploads instead of just a screenshot. Next I am going to add castling (for real this time).
Castling! I’ve actually added castling this time. The castling also works with undo / redo move so that it undoes and redoes the move correctly. I’m starting to think my python file is getting a bit big now so I also created a few helper functions to help reduce code duplication. Its 572 lines currently. Luckily I am quite close to finishing the actual board and getting everything ready for a 2 person game of chess. This was my first goal so that the bot just becomes one of the players. Once I’m ready for a 2 person game of chess I’ll try to create another python file for the bot. This will help me keep track of what is doing what. Next I am going to add pawn promotion as that’s one of the biggest things that I don’t have yet. It is essential in late game and so is one of my priorities.
Stalemates and three-fold repetition have now been added. Stalemates are calculated if legalMoves(turnColour) returns none but the king is not in check. I find if there is three-fold repetition by storing a hash of the board every move. This is stored in a dictionary as dictionaries are much better than arrays for lookups. After each move I see if that board state is in the dictionary. If it is I increase its value by 1. If not I set its value to 1. I then see how many times its reached that board state and if it is 3 times I end the game and show bright red text saying ‘Three-fold Repetition! Nobody wins!’. The hash includes piece positions, turn colour and castling rights as these are 3 of the 4 criteria that FIDE use. The fourth is en passant however that has not been added yet. Next I will add pawn promotions as this is the last major thing I don’t have.
Finally, promotions! This was the last major part of chess that I didn’t have. I added it by finding the row of the piece when I move something. I hardcoded it so that it knows when the pawn is at the last row. When at the last row, it runs a choosePromotion() function. That function then creates a frame inside of my window. I then loop for each of the choices of the pieces I can choose. For each of these pieces I create a button with the piece (in the correct colour) in the centre. The frame waits until I pick a choice before adding a 1 on that piece’s bitboard at the correct location and removes the 1 on the pawn bitboard. Thats all I need to do to register a promotion! The rest of the time I spent optimising my code and realising that I didn’t have to use just a bitboard or an array, I could use both. Knowing that, I removed my getPiece() function and instead used an array to find the piece at a row and column. This is more efficient as arrays have a lookup time of O(1) whereas the getPiece() function has a lookup time of O(n) in the worst case. This is because my getPiece() function worked by cycling through each bitboard to find what piece was at a certain coordinate. This meant that I could also remove my totalPieces bitboard since this was only used in the getPiece() function to avoid cycling through all 12 bitboards if there was nothing there. Overall I’m really happy with how everything is going as I have all I really need for a proper game of 2 player chess. Next I am going to try and add the small things I am still missing such as En passant and the 50 move rule.
Need to get your strategies into something you can see? Lines let you do just that. Right clicking and dragging draws a line that follows your cursor around. Right clicking again places the line. The lines are automatically centred so that they snap to the centre of the squares. If you line starts and ends at the same place it creates a circle instead. I also spent lots of time making sure my bitboards are used properly as when I created the array last time I used it for more than I intended and lost most of the arrays of bitboards. I also noticed that the promotion GUI wasn’t properly centred and so fixed that. I don’t really like the lines as they use stipples instead of a solid colour and overall don’t look nice but tkinter doesn’t offer transparency apart from stipples and doesn’t allow lots of customisation of the arrows. Next I will likely try to add en passant.
I was so unimpressed by how my old arrows looked I just completely switched libraries! I now use pygame instead of tkinter. It offers much more graphical customisability and now I can draw arrows (and other shapes) with true transparency instead of just stipples. One of the main downsides of pygame is that it constantly redraws each frame. This takes computing power and drains battery. To stop this I created a redraw boolean which tells my script when to redraw. This means instead of redrawing every single frame I redraw whenever something actually changes. Due to pygame I also customised the arrows so that the tails are rounded. This means that multiple arrows from the same point looks much cleaner. I also get true translucency instead of stipples and I added an icon!
En passant has been added. I find if it is legal by making sure the pawn capturing is on its fifth rank and the pawn being captured is moved 2 forward. Thats all I need for en passant (also only available for the first go it is there). I also made my program more efficient by ensuring I only rely on an array for finding what piece is on an index and drawing. Everything else uses bitboards which helps me fully utilise bitboards. I now have 2 things left: 50 move rule and Insufficient Material. Both of these end in a draw and are the last things I need for my program to have all the rules of chess! Next I will add the 50 move rule
Insufficient material and 50 move rule! These were the last things I needed to add before step 1 was complete. Now the next step is to actually add the bot! I’ve got everything I need down for a game of chess before 2 players. I added insufficient material by creating a new insufficientMaterial() . Inside the function are some if statements that determine whether winning is still possible (not assisted by opponent going into the corner). I also added the 50 move rule by checking moves since last pawn advancement or capture and if it exceeds 50 then end the game. I also made it so that once the game ends you can go undo moves and continue playing instead of just having the game end. Next I am going to try to clean up my code, split the code into multiple files and optimise it.
I’ve split my file into 5 now. There is moveGeneration.py which calculates all the legal moves, moveExecution.py which actually moves the pieces, updateBoard.py which updates the board, gui.py which handles graphics (like arrows, promotion page and clicks) and main.py which says what functions should happen when an input is given and has a while loop for while the game is running (as is needed by pygame). Splitting the file makes it much easier to debug, keep track and add features instead of just having one ~1000 line file where everything is jumbled up. Next I am going to start work on the actual bot.
I’ve added a bot! The main point of this was to link the new file I made ( bot.py ) to main.py . The bot currently just chooses moves based off of what would result in the best material difference between white (player) and black (bot). It calculates these moves with a depth of 4. Since the main point wasn’t to actually make a bot in one go the bot isn’t very good currently. However I still added alpha beta pruning. Alpha beta pruning works by storing the best guaranteed outcome for you (alpha) and the best guaranteed outcome for the opponent (beta). Whenever it finds a path where the opponent can force a move that is worse than the alpha, it immediately stops going down that path. The same happens for beta. I also removed some duplicated code in main.py and fixed the undo and redo move logic as I forgot to check if it still worked properly after switching from tkinter to pygame. Currently you can only tap the buttons and but can’t hold to go back multiple moves. Undoing and redoing moves with a bot was a bit confusing for me and so I decided to make it so that when undoing and redoing there is 3 seconds before the bot moves. During these 3 seconds you can go forwards or backwards to reset the timer. I used threading so that the bot starts to calculate what move it would make at the same time as the 3 seconds are passing. This means that if you decide to stay on the turn you don’t need to wait as long. I also blurred the background of the the promotion GUI so that it is grabs the players attention. Next I am going to try and add a better bot by assigning each possible move a score that is based off of the squares it controls, offensive and defensive opportunities and potentials for forks (when 2 pieces are being attacked by 1 piece so only one piece can move out of danger).
I’ve added position bonuses! I created a new file which rewards moves which place certain pieces in certain areas. For example pawns are rewarded for controlling the centre and pushing to the 7th rank (so that they can promote). The bot now tries to control squares and this means it now has proper openings. I also completely updated the file structure to split the responsibilities more clearly. I also updated main.py and logic.py and made them classes. Making logic.py a class means that I can use it for both the player actions and bot actions without them interfering. This also makes my previousMove() much cleaner as it means when the bot uses it, it doesn’t interfere with when the player uses it. Due to the new file structure it means that I can easily change the weights of each of the different modules to change how the bot plays easily. Later I will add a slider or at least a setting that lets the player control these modules. As well as this I also changed it so that drawing the same arrow again removes the arrow. Next I am going to try add another module that rewards moves which keep the king safe.
Colour randomisation! The colour you play as is chosen at random at the start of the game. The board is also automatically rotated so that you are at the bottom and the bot is at the top. This also helps to show which colour you are playing as. I also show the last move by making the starting square #97C997 and the ending square #8DCE8D. I did this as when I asked I watched someone play it I noticed that they would often undo the move, to see what the bot just did, then redo the move again. This helps make everything feel more polished. I like the ending square colour ( #8DCE8D ) but I’m not sure if I like the starting square colour ( #97C997 ). These colours are very easy to change though and so I can quickly edit them to test out different colours. I also realised that when I eventually ship the project most people who download it won’t have the font I use ( dynapuff ) installed. I tested it out to see what it is like without it and found that it crashed. To fix this, I implemented a try - except statement which sees if dynapuff exists on the user’s computer. If it does then it uses dynapuff which is how it is supposed to be played but if they don’t have the font it uses arial instead. Due to the strange spacing of dynapuff I used double spaces between the words on the game over messages, but when using arial the double spaces look quite strange. I also tweaked some of the position bonus values to further encourage castling. Next I am going to try to add a file to reward moves which keep keep the king safe.
Better arrows! I don’t remember where but there is one place where drawing arrows in a knights movement creates an L shaped arrow instead of just a normal arrow. I love this and so implemented it into my program. I also added aspiration windows. Aspiration windows work on the basis that moves don’t usually swing the score by a lot. This means that when going down paths we can set the lower and upper bounds to previous score ± window size. This helps prune more paths. If we find that the score is actually higher than we expect we search again but without the aspiration window. This helps remove lots of the obviously bad paths which makes the program much more efficient. Next I am going to add zobrist hashing so that I can use transposition tables.
Improved efficiency! I’ve improved the efficiency of the bot by sorting the possible moves better. This is useful as it means when the alpha beta pruning goes over everything it searches the best trees first. This means that it can prune more branches. I also removed some random integer conversions on my bitboards as they did nothing, since the bitboards are already integers. I also removed a restriction that didn’t let the player do anything on the bot’s turn. Now the player can draw during the bot’s turn. I also went across all of my code and changed it to use (row, column) instead of (column, row). This helps keep things cleaner. I then also changed the bot calculations from from using the fullyLegalMoves() function to the movementLegalMoves function(). fullyLegalMoves() just makes sure that the king isnt in check after the move. If it is then it undoes the move. By insteading doing this in my bot.py it means I can just not undo the move and immediately remove that move. This means that I don’t need to undo the move more times than needed. This is very helful as undoing a move takes up computing power. I also completely replaced the piece names with integers as this would be slightly better and I could use bit operations with integers. As well as this I also added a timer that shows how long the bot took to make its move. By adding all of these changes the bot reduced its time on the first move as white from ~4 seconds (with depth 4) to 3 seconds (with depth 5). This shows that it is much more efficient as, time taken increases exponentially as depth increases. As well as this 3 seconds is the earliest the bot can move and so the true speed is likely much less.
Transposition tables! I’ve added zobrist hashing so that I can create a dictionary that contains all of the board states I have already evaluated. Since many different moves can lead to the same position it means that I can save computing power by just getting the score of that board state instead of having to re-evaluate the board again. Zobrist hashes are just a way to represent the board in hash. This is useful as I can use them as the keys in my dictionary and quickly see if the current board state has been evaluated yet. I also fixed a bug that let the bot play illegal moves as there wasn’t a legality check after the aspiration window failed. An abort flag was also added that is set to True when the user undos or redos a move. This lets me instantly stop that thread’s search for the best move ensuring it doesn’t use unneccessary computing power. Next I am going to try and implement iterative deepening so that I can force the bot to move within a certain amount of time. This would let me make the bot play different ‘time controls’ by altering how long it has to think about what move it should play. I tested it against some bots from chess.com and it managed to beat Wally (a 1800 bot) but lost to Li (a 2000 bot)
Iterative deepening! The bot now searches depths in an ascending order instead of descending. This is only possible thanks to my transposition tables but means that I can give the bot a time limit. Once the time limit is reached it just return the best move of the highest depth its fully searched. This means that I can search to different depths in different positions whilst making sure I always play within the time limit. This is good as it means I can have a high depth during the opening and endgame whilst having a medium depth during mid game instead of having a medium depth everywhere to ensure moves at midgame don’t take too long. Midgame usually has a lower depth due to the high number or possible moves that can be played. I can also easily change the time limit with just a single variable. This means I can get my bot to play faster but also worse or take longer but play better. I added incremental evaluation. This means that for each move, instead of looping through all 12 bitboards and recalculating the evaluation score from scratch I instead update it from the current evaluation score. So when I move a piece I subtract its old it’s material value and then add the material value if it still exists. The same happens for the position bonuses. This takes my time complexity from O(n) to O(1) which is a massive upgrade. These changes lets my depth in early game and endgame almost always stay at 7 whilst during midgame hover between depth 6 and depth 7. Currently I determine if I am in endgame if both queens are gone and the total amount of pieces is below 16 however I feel that this isn’t a good measure and I should improve this. Next I will try to improve efficiency by improving my move ordering so that the alpha beta pruning is more efficient.
I’ve added a better endgame condition! Now endgame is determined if (there are no queens and less than 16 pieces on the board) or if there is less than 8 pieces on the board. This is better because it means when pawns promote the king doesn’t run to the corners or use the other position bonus table. I also improved my bot’s 3 fold repetition check when searching for moves by using a dictionary with hashes as keys and number of times they have appeared as values. This lets me check if I have been in the position 3 times before in O(1) instead of O(n) . I also improved my makeMove() and previousMove() functions by checking if its the bot searching for moves and if it is then only storing the key information instead of everything. To help simplify previousMove() I instead created a seperate function called unmakeMove() (clearly related to makeMove() ) to undo moves when the bot is searching. I also changed the time the bot has to move from 3 seconds to 1.5 seconds so that it feels snappier. Probably cos I have 0 patience when I want to test if the bot works :). Next I am going to try and make my bot faster by improving the move ordering so that alpha beta pruning can be more effective.
I’ve improved my endgame condition. When testing the bot I found that during endgame it would sometimes move its king to the corners of the board. I realised that this was because it saw a queen on the board and due to the poor endgame condition it thought this meant that it wasn’t endgame and instead used the early / mid game position bonus table which rewards staying safe in the corners. However in endgame moving the king to the corner isn’t good as it makes checkmates easier for the opponent and means that the king isn’t used to help checkmate the opponent, which is crucial in certain endgames such as a king and queen against just a king. In situations like this the king is necessary in achieving a checkmate. I changed it to being if there is less than (2 black queens and 2 white queens and less than 16 pieces) or if there is less than 5 pieces not including pawns. This is more accurate and ensures the king actually helps win and tries to stop a checkmate on itself. I also improved my zobrist hashing by fully incrementing it. Previously I incremented it for everything except castling and en passant however now these are implemented as well. I also noticed that the bot would walk its king towards the centre of the board during the opening which puzzled me until I read through my code and realised its because I set totalPieces to 0, asked if it was endgame, and afterwards set totalPieces to the true value. This was pretty difficult to find as I couldn’t see it by just seeing if it thought it was endgame at the end of a move. This makes sure I can actually get my hashes in O(1) time. Next I am going to try and make my arrows darker when over each other.
I’ve massively improved my organisation! I’m now properly utilising branches which is allowing me to work on multiple changes at the same time. Currently I am working on 2 branches. One is about improving my maintainability by adding comments so that other people can understand what I am doing and why. This also has the added benefit of me being able to make some small improvements and bug fixes as I am reading through all of my code. The second branch is about move ordering which is super important as it makes my alpha beta pruning more effective. Working on these changes on branches is useful because it not only keeps it organised and easy to see what each commit is for but also means that if I decide I don’t want the change anymore it is easy to remove as it isn’t mixed in with all the other changes. To help with this I’ve also created a Jira board which helps me keep my ideas organised. My branches are called SCRUM-NUMBER/NAME . The scrum number is given to me by Jira. As well as improving my organisation I also further improved my zobrist hashing by replacing using modulo on the hash to get the index of the transposition with using an and gate between my hash and the table size - 1 (which is just all 1s and a single 0 on the left most digit since the table size is a power of 2). I also stored my castle rights as a single 4 digit binary digit where each digit represents whether a certain rook has castling rights or not. My logic with this was since the point of bitboards is 12 integer is better than 64 integers, a single 4 digit integer is better than a dictionary of 4 values but I am not actually sure if this is true or not. On the maintainability branch so far I have added comments to all of main.py . On the move ordering branch I have improved my sorting from just sorting by most valuable capture and least valuable attacker which is only good for captures to also scoring promotions very highly. I also instantly push the previous best move to the front of the queue and score moves which cutoff branches in alpha beta pruning highly as well. Next I will try to add comments to one of my other files and improve my move ordering by not using lambda functions.
Move ordering improved! I’ve merged my SCRUM-29/move-ordering branch with main and now have my improved move ordering in main. This has let me go from a depth of 5 to almost always a depth of at least 6. I then merged main into SCRUM-42/improve-maintainability so that I could add comments to the code I added from the move ordering branch. Next I am going to add some comments explaining what things do.
Massive improvements in depth! I added 2 changes: null move pruning and late move reduction. Null move pruning is when the bot ‘passes its turn’, when searching for the best move. The bot then evaluates the board at a reduced depth after letting the opponent play twice in a row. If it is still in a winning position then that means it is winning by a lot. This means that it can prune this branch since the opponent wouldn’t let the game get to this state and would make a better decision earlier in the tree. Since the opponent wouldn’t let the game get to this it means that further analysis isn’t necessary. Late move reduction works on the basis that I have good move ordering, which I just worked on so I would hope I do. Late move reduction means that I search the later moves at a reduced depth since the best moves are at the start and so later moves are likely bad. If they turn out to be good after the reduced evaluation depth then they are researched at the full depth. This helps reduce the amount of moves which need to be evaluated by a lot. Together null move pruning and late move reduction have taken my depth from around 6 - 7 in midgame to around depth 7 - 10 in midgame! In endgame this is even more. When I tested it in endgame it got to a depth of 13! My next change is something called quiescent search which will boost the bot’s elo by massive amounts as it should mostly stop the bot from making blunders.
Quiescent search is amazing! After adding it my bot instantly became better. A quiescent search just means that when evaluating a board state to a certain depth even if you reach that depth you need to evaluate until a quiet move (a move that isn’t a capture). This means that even if the bot reaches the max depth in the middle of a piece trade it won’t just think the move is amazing since all it can see it won a piece. Since I added the bot, when tested against other bots it has made 0 blunders! In fact it beat Li, a bot rated 2000 on chess.com ! I’m really proud of this and think it is really cool to say that my bot has beaten a 2000 rated bot. However, it only beat the bot once and so it could just be lucky. I was going to test it in 2 more games against the same bot but found myself getting bored of manually inputting moves into chess.com and my bot to get them to play each other. Therefore, I’m planning on making my bot able to play other bots on its own. To do this I will need to download the other bots and make my bot give properly formatted inputs and outputs.
I’ve added FEN strings! FEN strings (Forsyth-Edwards Notation) are a way to store positions of chess games. They are used by many chess engines to allow players to start from different positions or midway through games. Adding these wasn’t too difficult as the strings are formatted in a nice way. I simply split up the FEN string into its 6 parts and set my variables to the value in the FEN string. To test if it worked I inputted the FEN string 4kb1r/p2n1ppp/4q3/4p1B1/4P3/1Q6/PPP2PPP/2KR4 w k - 1 16 which gives the position of the famous opera game directly before the queen sacrifice. I then set the bot colour to white and was glad to see that it immediately found the best move (the queen sacrifice). I also added premoves so that I can choose my move in advance. I did this by just storing the move I make when it is the bot’s turn and playing it as soon as the bot plays. However I can only premove 1 move ahead. Next I will try to allow the user to premove multiple moves ahead.
Way better premoves. I’ve updated my premove system to store multiple premoves. I did this by storing eaach premove as a tuple of ( startRow , startColumn , endRow , endColumn ). These tuples contain all the data I need to know and can be easily appended into an array. To clear a premove you can either do the same move again which removes that specific premove or tap the middle mouse button anywhere which clears all premoves and arrows. I also render a translucent version of the piece that I’ve moved to its premove destination and remove the texture for where it was originally. This helps you keep track of what your premoves are actually doing. I do this by drawing the board normally then looping through each move in the premoves array and drawing that piece at its correct destination in reduced alpha. Next I am going to try to improve my bot further so that I can push to a depth of around 10 during midgame.
Premoves finished! My premoves are now fully implemented and the branch is merged. Making the move with middle click removes that specific premove. Middle clicking a random square clears all premoves and arrows. I also added principal variation search (pvs) which is just searching moves that aren’t the previous best move with a tight move score boundary then researching them normally if they are better than expected. I am probably going to ship soon and so will start polishing the project up now.
I’ve made a few small changes that help slightly speed the bot up. I stopped checking whether I have surpassed the time limit every move I search and instead every 2048 moves I search. This is better as it removes thousands of unnecessary library calls which each add a small amount of time to how long each move takes to search. Since computers are very fast 2048 doesn’t actually take long at all but it massively reduces the amount of times the pygame library is called. I also changed my move ordering to sort manually instead of with in a lambda function since this lambda functions are more inefficient. I am next going to ship the project!!!
Thanks for all the positive feedback and constructive criticism on my ship! Working to improve where people said and I am starting by trying to add comments to my code to explain what is happening. So far I’ve fully commented 3 / 7 files and am around 30% through commenting logic.py which contains most of the complicated code. Its taking a while but I really hope that this will help people understand what I am doing and that they will like my project more because of this. Next I am going to continue adding comments to logic.py and will probably have to make a devlog after just that since the file is pretty big and has slightly complicated stuff in it. Once again thanks to all the people who rated the project or gave feedback!
Yup! I did what I said I would last time, and finished commenting ALL of logic.py . I don’t think I can describe how long this took and how annoying it was to have to go through 750+ lines of code and add comments explaining things. And then I realise that there’s just random stuff that I don’t even need. Anyway, I’m pretty satisfied that I managed to comment so much. This is definitely the largest file and so I’m happy I’ve gotten it out of the way. There’s not really much I can’t say like explaining and stuff because all I’ve done for the last 5 hours is explain stuff. Anyway once I’ve commented everything, I’ll probably make another devlog and then go and work on something else.
I started getting bored of just commenting my code so I created a new branch in which I am trying to make my bot be able to play other bots. After some research, I found that the engine needs to be able to take in moves in the form of algebraic notation (a type of shorthand notation for moves. for example: Be4). Because of this I read a Wikipedia page on algebraic notation and made a function to convert between it and the parameters my makeMove() takes, that being: startRow , startColumn , endRow and endColumn . I have done this by first checking if the move is a castle (notated by O-O or O-O-O) then forming the full start and end coordinates by hardcoding the column values and finding the row based off the colour that is castling. Then I find what piece is moving (shown by the first letter) and if there is a promotion (shown by ‘=’ sign). Algebraic also has characters to show captures (x), checkmates (#) and checks (+), however the engine does not need these and so they are removed in 3 separate while loops. At this point I am left with just the end coordinates and maybe a combination of start coordinates. To find the full start coordinates (as they are all I am missing) I loop through the specific bitboard for the piece and whenever I find a square where there is a piece, I check whether it matches with the start coordinates I have, and if it does whether it can legally reach the end square. If it can then that is my piece and I return its start coordinates and the end coordinates it moves to (which is given in the input string). Currently, this function lives inside a random file in my project folder but my next step will be to properly integrate it into the rest of the code.
So, I’ve actually decided to work on making my bot playable on a website since that was one of the main things people said they would have wanted last ship and stardance is ending soon. But thats not why I’m posting. I’m posting because I spent the last 40 minutes rooting out a bug that caused my premoves to not be played. My first step was playing the release version that can be downloaded to see if the bug was there as well. Luckily it wasn’t so I went to my current commit on my main branch and kepy undoing commits (and saving them with git stash ) until the bug was gone. I then found that the bug only became a thing after I merged my commenting branch. Because of this I did the same thing of undoing commits and saving them on the commenting branch til I found the commit that caused the bug. I then went through all the changes until I found the problem. Then I fixed the bug, merged the fix to main then merged main into my other branches so that they would have the bug fix as well. I’ve already done some research and have found that pygbag seems to fit my needs for turning my pygame program into a website pretty well. Due to this I will probably use pygbag to get a website version of my chess bot up and running! Attached is a screenshot of the commit that caused the bug. Before the commit is on the left and after the commit is on the right. Try to find what caused the bug! If you can’t check the comments of the post as I am gonna say what the problem was there. I also attached a photo of how my git tree looks now and… it looks sooo messy lol.
Ships:
I’m finally shipping the chess bot! So excited to see what people think of it :) . Before you try my project I highly suggest reading the README (on my github page https://github.com/GunRattler28/Chess-Bot ). It has a full list of all controls which will help you understand how to play. Anways, can’t wait to see what you guys think of it!...
|
1792856898.3795884
|
1793720898.3795884
|
|
41770
|
MacIdeas by @tonymac129 | Stardance
|
tonymac129
|
1
|
53.0
|
825
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T05:11:51Z", "hours": 53.0, "multiplier": 15.61, "payout": 825, "blessing": "neutral", "text": "MacIdeas is a fullstack online platform for managing, organizing, and keeping track of your work, including tasks, notes, and projects! Now, before you think this is just another generic boring todo list app and give me a 1 star in originality…, well, it kind of is a todo app, but with a ton of many different features, customization, and settings, as well as notes with a complete, functional rich text editor, folders for convenient organization, and projects for organizing your different tasks, notes, folders, and everything else into manageable groups that you can easily browse through. You can edit and assign tasks priorities, due/start dates, tags, subtasks, projects, folders, links, completion, star them, and view all the info from the details panel. There are also features like search, sort, filter, tags, views, star, emojis, and other options that make browsing, navigating, and finding items a lot easier and more efficient. To make the website accessible to everyone, MacIdeas has smooth transitions and animations, fully supports both dark and light modes (and your own background images or colors), as well as responsive design for (nearly) all screen sizes, and complete SEO metadata for each page. All you need to do is to sign in with MacWeb, the central platform for my projects’ auth and account info (since MacIdeas is one of its many apps), and you’ll be redirected back and have access to try out all those features! It has everything you would expect from a real task manager and text editor, so hopefully you’ll like my project :)", "repo": "https://github.com/Mac-Web/macideas-next", "demo": "https://macideas.macweb.app"}]...
|
[{"post_id": 71609, "ts": "202 [{"post_id": 71609, "ts": "2026-09-21T04:58:39Z", "hours": 4.6342, "text": "Last devlog: note features and final touches! MacIdeas is finally finished and ready to ship! In this last massive devlog, I added a few new quality of life features, did a ton of general/styling/auth bug fixes, and polished the entire project ! Added note content persistence, meaning you can actually save each note’s content to your account data, including its text, formatting, and everything. Autosave automatically does this every 30 seconds, but you can also manually save with ctrl+s or by pressing the save button Added a few new editor features from Tiptap for typography and general formatting to make note taking more powerful and complete You can now select custom background colors (along with custom backdrop images) to customize the appearance of each task list and note page ! The nav search had been there doing nothing ever since the first devlog , so I finally added a powerful search bar to the nav bar that uses a new API endpoint to search through all the information in all your task lists, tasks, notes, projects, and folders and displays the results as a list of links for convenient browsing and navigation! Added section descriptions and icons for the major features on the homepage Updated styling, content, code, and layout Updated the README with a demo screenshot and updated info about features Fixed a lot of bugs related to general usage, empty user data, styling issues with modals, auth redirect, and many other things I don’t want to remember to improve the overall user experience I took a one week break in this last stretch, so there was probably other stuff I did that I forgot, so hopefully my storytelling isn’t that bad"}, {"post_id": 66657, "ts": "2026-09-12T14:50:05Z", "hours": 3.7656, "text": "Rich text editing for notes! Added a complete, feature-rich, and easy to use rich text editor for creating and editing your notes! This means you can now actually take notes with features like text formatting, links, headings, lists, inline components, and a lot of other features you would expect from tools like Google Docs There is a top tool bar with a ton of options, buttons, and dropdowns organized into different functional sections (I definitely did not just copy GDocs ) to format/edit/modify your current content selection easily Most of the features support keyboard shortcuts (because of Tiptap), which you can see by hovering over the option and reading its tooltip I tried making my own web based rich text editor from scratch before, and it turned out to be a nightmare of dom manipulation and other headaches, so this time I decided to just use the library Tiptap, which itself is based on the library ProseMirror, to handle this pain in the butt Since Tiptap is completely headless, I still spent a lot of time going through its docs, installing useful extensions, learning their commands, and building, testing, and tweaking all the features to make everything work smoothly I don’t know why I’ve been neglecting actually adding notes for so long (before each note was just a blank page saying “Untitled note” that you couldn’t even edit ), but this actually turned out to be super fun to implement and the result was very rewarding Note saving doesn’t actually work yet (despite the fake “Note saved” autosave message ) since there are still some things about the editor to fix, but hopefully that’ll be implemented soon and MacIdeas will be almost ready to ship! The text editor also works with light mode, and I also updated some styling to improve the UI"}, {"post_id": 65705, "ts": "2026-09-11T01:12:55Z", "hours": 2.3211, "text": "Light mode toggle The mode option in the nav user menu now toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, as well as accounting for all most of the display color edge cases, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing I am finally back to developing MacIdeas after taking a one month break, so I spent some time familiarizing myself with the codebase again. Hopefully this time I’ll be able to finish and ship it soon! Updated styling and layout Added and updated some dependencies"}, {"post_id": 45249, "ts": "2026-08-11T16:25:12Z", "hours": 5.2492, "text": "Project page and contents Added a dedicated page for each project that is its own file browser where you can open/interact with the contents, view their information and metadata, and search, filter, and sort through them so you can better manage and view your projects Added an option on the project page that opens a modal displaying all your folders, task lists, tasks, and notes grouped into 4 different tabs. Each item is a checkbox so you can select exactly which items to add to or remove from the project You can also search through each tab’s results and see their names and icons to make finding the right item quick and easy This seemed like a simple feature to implement but getting to cooperate was a nightmare since each item has its own data type, so organizing the data structure for both the frontend and backend required a lot of annoying unions and conditionals There is now a top bar in the project browser with the name, type, modified, and created labels which you can click on to sort the contents accordingly Each item also shows its type and modified & created times, as well as an icon where you can change the item’s emoji directly, making browsing and managing your stuff more convenient You can also edit the project’s name and description directly by clicking on the page title and text Updated styling and layout I procrastinated on this devlog for 2 days and got no work done, so I think this might be a sign for me to take a break from Stardance for a few days since I also need to work on hosting 8-Bit Jam (awesome game jam, if you live near nova plz go register ) and other stuff, so there won’t be new devlogs in a while"}, {"post_id": 43395, "ts": "2026-08-08T16:42:33Z", "hours": 1.8381, "text": "Project browser Added a project browser/file explorer to the project dashboard where you can search, view, and open projects and folders to browse their content ! I decided to build this file explorer instead of just a simple dashboard because I got bored and wanted to make something different, and it would make more sense to do this for projects since they are essentially just folders This file explorer is pretty similar to Google Drive and other cloud storage services, you can double click a project or folder to change directory and view its content (tasks, task lists, notes, other folders), and go back/navigate to other levels with navigation breadcrumbs I thought this would be difficult to implement and would need some kind of breadcrumb library and it turned out to be pretty simple Only projects are styled and can be opened right now, but folders and other stuff will be added in the next update! Added a menu option for adding task/note folders to projects. It opens a modal where you can view and select all the projects you’re adding the folder to, and it’ll show up in the project explorer Updated styling and content"}, {"post_id": 43017, "ts": "2026-08-08T01:36:42Z", "hours": 3.7031, "text": "Note and project management Added more note management features for editing, deleting, starring, and moving notes, as well as a dashboard for the notes page (similar to the one for tasks) You can now move notes in/out of different folders by selecting the move option and choosing the folder in the modal popup menu. You can also edit which notes are in a folder by clicking on its edit option, where you can check all the notes you want in a folder Added a top tool bar to each note page (similar to the tool bar for task lists) with the note’s emoji (clicking it opens the emoji menu where you can choose or clear the icon), name (clicking on it renamed the note), description (clicking on it also makes it editable), and current folder information displayed The tool bar also has options to upload a custom background image with an upload modal (similar to task lists), choose a custom theme (not implemented yet), star/unstar, or delete after confirming Added a sidebar for the projects page where you can create, manage, view, add icon, rename, star/unstar, and delete your projects (basically the same as the notes and tasks sidebar) Since many of the features are basically identical or very similar to tasks/task lists, I just used the existing components and copied and modified some stuff, so all these features were pretty easy and quick to implement Added recent, starred, and organized by tag sections to the notes dashboard so you can view and manage your notes more easily. You can also customize the dashboard by selecting the sections in the settings panel Updated schema and types Updated styling and layout Fixed background shadow overlay and a few other display/styling issues"}, {"post_id": 42076, "ts": "2026-08-06T17:10:52Z", "hours": 5.1608, "text": "Notes and custom backgrounds I coded for 5 hours yesterday and made a lot of progress but completely forgot to devlog , so this devlog will be a bit longer (as if my usual devlogs aren’t already long enough) to hopefully keep my storytelling good 🥺 Added the notes tab, which is the second major part of MacIdeas (the other being tasks and projects) that shares a basically identical layout with tasks, so I only had to copy a few components, modify some variables, imports, and database operations, and add new schema models and server actions to make note management work properly, though it still took quite a bit of time Currently only the sidebar is implemented for notes (instead of the actual note taking/editing part), but you can create new notes, rename them, choose their custom emojis, delete them, create and manage folders, and create notes inside folders from there You can also navigate to each note by clicking on it, but the page is blank for now. Notes share folders with tasks, so folders you make in notes also show up in tasks, and vice versa, although the specific tasks/notes in the folder aren’t displayed on the notes/tasks tab to keep organization simple (hopefully I didn’t phrase this too confusingly , maybe I’ll add an option to show both in settings) Also added projects (the third major part of MacIdeas), which are basically labels/folders that you can put tasks, task lists, folders, and notes in to conveniently keep everything related to a big project in one place Right now you can only create projects through the create project button on the sidebar and can’t do anything else with them, since I’ll only start working on projects after I finish notes Added buttons where you can upload a custom background image or select a color theme (not implemented yet) for each individual task list to make customization even better and personalized! When you click on the custom background option, an upload modal appears where you can upload a png/jpg/webp <4MB to be the background! I originally tried using uploadthing since it was the only object storage service I worked with, but I just couldn’t get the event hooks to load or work at all despite copying stuff from my old project and wasting an hour researching , so I decided to settle with Vercel Blobs (because it’s already hosted on Vercel) and it’s actually so much faster and easier to set up/integrate Some of the components are opaque, so they look kind of weird with a custom background, so I’ll be fixing that soon, but for the most part custom backgrounds actually look decent somehow Task lists without a custom background have a black overlay shadow that’s out of place, so that has to fixed too Also added a bunch of random small quality of life features and adjustments that I don’t remember without looking at my commits Updated schema and types Updated styling"}, {"post_id": 41429, "ts": "2026-08-05T17:05:00Z", "hours": 3.1761, "text": "Dashboard customization and My Day Added settings for customizing your personal tasks page dashboard, where you can select which tasks to show and which task filter sections to display on your main tasks page to make it completely customized You can access the settings modal by clicking on the gear icon on the top right of the tasks page, where you can select the checkboxes that you want to show on the page. You can reset the settings defaults as well by clicking on the reset option and confirming Dashboard tasks now also show their priority and tags All your homepage settings and customization are automatically saved to the account backend so the settings are synced across all your devices Added the “My Day” page that shows all your tasks that either start or due today (in your local timezone, refreshes daily automatically), or you can add custom tasks for the day here without putting it in any task list to help plan out your day better My Day is essentially a special task list and you can do all the stuff you can do with normal tasks and task lists (browsing, sorting, managing, etc.), and it shows up as its own tab on the left sidebar. I thought this would be hard to implement architecturally, but I just had to add a few fields and conditionals to make it work properly Added the tags dashboard section where you can view all the tasks with a certain tag Updated the data fetching logic for the dashboard to be more efficient, optimized, and customized according to the settings Updated schema and constants Updated styling Updated README Fixed a few visual bugs"}, {"post_id": 40963, "ts": "2026-08-04T20:46:14Z", "hours": 2.8342, "text": "Dashboard and Subtasks Added a few interactive widgets to the task dashboard showing tasks grouped in different categories so you can browse all your tasks quickly and easily The different task widgets, each with a different icon, are starred, priority, upcoming, starting soon, recent, and tag tasks. The widgets basically act like filters for all your tasks across all task lists so you don’t need to manually dig through them to find what you’re looking for You can now add subtasks to your tasks! Subtasks are basically just very simple tasks without any of the fancy features (since that would be annoying to implement and it’s just pretty impractical) that are just smaller steps broken down from the main task You can add, view, and manage (completing, renaming, or deleting) each task’s subtasks sorted by completion status in the task details panel, and you can see each task’s subtasks directly displayed below the main task You can also mark subtasks as completed by clicking on the circle on the task item, and the text will be striked through and grayed out Added a home/task dashboard link to the left sidebar Updated schema and types Updated styling and layout Updated README with more detailed info and specific features"}, {"post_id": 40514, "ts": "2026-08-04T03:06:03Z", "hours": 3.7111, "text": "Priority and folders! You can now assign an importance priority flag for each task to better keep track of your most important todos and manage/view them more easily with this feature ! You can change the priority of a task by clicking on one of the 4 options in the priority dropdown that appears when you hover over the task. Each priority has a different color (none-transparent, low-green, medium-yellow, high-red) to help distinct them visually. If a task has a priority, the status is permanently stickied on the task so it’s always visible You can sort and filter tasks by priority as well to automatically group and view your most important tasks You can customize the new task’s priority by changing the new task input field’s priority dropdown menu. You can also edit a task’s priority in the task details panel You can now create custom folders to group and organize your task lists by clicking on the create folder option on the task sidebar ! Clicking on the folder toggles the visibility of its task list content, and hovering over it shows an options icon that opens a menu where you can edit, rename, change the folder icon color, or delete the folder The edit option opens a modal where you can search and select the task lists to add or remove from the folder The rename option turns the folder name into an input that saves on blur, the color option shows a color picker for the icon color, and the delete option deletes the folder and its task lists after confirmation You can also directly create new task lists inside a folder by clicking on the add option on the folder. You can move task lists in/out of folders as well by clicking on the move option, which opens a similar modal where you can search and select which folder to move the task to Drag and drop for moving task lists in/out of folders isn’t implemented yet, because it’s actually quite a challenging thing to do (for me) , but hopefully I’ll have time to try to implement it Updated schema and types Updated UI components and styling Fixed display overflow height styling issues"}, {"post_id": 40161, "ts": "2026-08-03T15:52:29Z", "hours": 2.6514, "text": "Due dates and more random features You can now add due dates and start dates to tasks to better keep track of them and remind yourself when to stop procrastinating and actually get to work ! When you click on the calendar icon on a task, a modal shows up with 2 fields where you can pick the precise date and time for when the task starts/dues. I used the kind of outdated library Flatpickr for this since I was too lazy to build my own calendar time picker thing You can also clear/remove the selected time by clicking on the x icon next to the date field. Save the changes by clicking on the save button You can edit/select the times by clicking on the date fields in the task details panel as well. Start and due dates show up as a small text below the main task on the page so you can easily see when each task is due Added options to sort tasks by due and start dates so you can see which tasks are coming up soon! Also added a separate section in the filter dropdown for filtering by your own tags to better organize and view your different tasks The pen edit/rename option on the task list is now finally implemented! Clicking on it turns the task text into an input field that you can edit, and the new name is saved when you click away from it The tag, calendar, and star icons on the task input field now do something for the new task! Similar to task items, the tag and calendar options both open a modal for you to select the options for the new task, and the star icon marks it as starred. This makes it a lot easier to customize the task before actually adding it to the list Updated schema and types Updated styling and UI components Fixed a legacy dependency (Emoji Mart is unmaintained ) compatibility issue that caused a few previous commits to fail in production build Not gonna lie I’m pretty proud of the UI and layout all the different options and components actually sort of make MacIdeas look like a legit app There seems to be an issue with Firefox screenshots that fails to capture the modal’s background blur for the screenshot so it’s kinda weird"}, {"post_id": 39667, "ts": "2026-08-02T19:52:59Z", "hours": 3.9036, "text": "Tags and emojis Added task tags that you can customize and assign to different task items to better categorize and organize them! You’ll be able to group/sort by tags in the future as well, making browsing and managing tasks even more convenient When you click on the tag icon while hovering over a task item, the tag modal appears listing all the tags you created, a search bar for the tasks, as well as options to create new tags and save your selection Each tag on the modal is a checkbox, meaning you can simply check/uncheck the tags to assign them to the task Clicking on the create option displays an input where you can add a new tag that gets added to the revalidated menu Each tag also has an icon that opens a menu of options to rename, select an emoji, pick a color, and delete the tag. The rename option turns the tag into an input that you can edit, the emoji option opens the emoji picker (you can clear an existing emoji as well) so you can choose a custom icon for the tag, the color option opens a color picker where you can edit the tag’s background, and the delete option deletes the tag after confirmation There’s an option on the modal to clear all the currently assigned tags from the task item as well Up to 3 tags are displayed for each task on the task list page, and you can view all the tags a task has in the details panel (where you can open the tag modal and edit the tags too) You can now also choose an emoji for each task list by either clicking on the sidebar icon or the top bar icon! It opens an emoji picker with an option to clear the existing emoji as well Updated schema and types Updated styling and layout Fixed display height issue Fixed legacy dependency deployment issue"}, {"post_id": 38980, "ts": "2026-08-01T16:28:02Z", "hours": 1.9678, "text": "Browse & complete tasks You can now browse and filter through tasks to view and manage them more easily with the new sorting and filtering options! You can also finally mark tasks as completed once you finish them On the task list page tool bar, there’s a search bar that searched through tasks by their name and description, dropdown menus for sorting (by name, created, updated, due date, etc., some aren’t implemented yet), filtering (by starred, completion status, etc.), and ascending/descending display order to help you find and browse tasks more easily ! There’s also a checkbox that toggles the visibility of completed tasks, since they are hidden by default to avoid cluttering the page You can mark a task as completed by either clicking/checking the circle icon on each task item or selecting the completed checkbox on the task details page Incomplete and completed tasks are each grouped together regardless of sorting order to avoid confusion Completed tasks are striked through and grayed out to help with distinction. You can remark them as incomplete again any time by clicking on the icon again Fixed an annoying container height overflow display layout issue (implementing responsive design on this will be a pain in the butt ) Updated styling and layout I accidentally closed the window while recording the video so I had to rewrite this entire devlog again from memory , Stardance team please make a save devlog button like with Flavortown 🥺"}, {"post_id": 38563, "ts": "2026-08-01T01:19:19Z", "hours": 2.6092, "text": "Task creation & management You can now actually add, view, and manage your tasks in MacIdeas! You can add tasks, view details, edit, star, and delete them by clicking on the task item icons When you add a task, a task item gets added to the task list page, which when hovered shows icons/buttons to edit, manage tags, change due date, star, or delete the task. There’s also a circle on the left where you can mark the task as completed (none of these buttons work yet other than star and delete ) Clicking on the task item itself opens an animated panel on the side (similar to a lot of todo apps and the Slack profile panel) with input and textarea fields for editing the task and its description, as well as checkboxes to mark/unmark the task as completed or starred The task item details panel also shows the task’s precise created and updated timestamps, as well as its ID in the backend database (for debugging purposes) You can save the changes in the details panel by clicking on the save button, which updates and revalidates the task automatically. You can also delete the task item by clicking on the delete button and confirming the warning modal You can close the details panel by clicking on the same task item again or by clicking on the close button If a task item is starred, the star icon shows even when you’re not hovering over the task item. You’ll be able to filter and group task items by stars in the future as well Updated the task list page layout to give more space to the main section and make sure everything’s aligned and positioned nicely without any display/styling issues Added new UI components Updated styling Fixed a few styling and UX issues Updated database schema"}, {"post_id": 38314, "ts": "2026-07-31T17:10:40Z", "hours": 2.0458, "text": "Task list management Added more task list management features so you can organize and view your tasks more efficiently! Added a top tool bar on task list pages where you can rename the task list by clicking on the name, add a description, mark/unmark it as starred, and delete it When you click on delete, a confirmation warning modal shows up asking you to confirm You can also star/unstar a task list by clicking on the star icon on the left sidebar or in the options menu Starred task lists show up in a different section at the top of the sidebar to make accessing them easier and quicker Added a dropdown button that shows an additional menu for creating folders and projects (not implemented yet) next to the create task list button Added a pick emoji button for each task list on the sidebar that, of course, still doesn’t work yet Added the new task input field on the task page with a few placeholder buttons and a submit button. This where you’ll be able to add tasks, but nothing works so far Added a message screen that shows up when all the tasks are completed/there are no tasks Added dynamically generated SEO metadata for task list pages to make the site more accessible and responsive Updated schema and types Updated styling and layout"}, {"post_id": 37735, "ts": "2026-07-30T17:25:43Z", "hours": 3.29, "text": "MacIdeas: productivity & work management tool I’m starting a new project in the MacWeb collection of online apps and platforms called MacIdeas, which is basically Notion (task, note, and project management) but significantly more inferior Hopefully this project will turn out to be pretty complex so I can milk invest more hours on making and polishing this app In this pretty big initial update, I set up the Next.js project, installed its required dependencies, added a few basic pages and layouts, added a lot of UI components, and added task list management Spent quite some time configuring auth and the account system backend again since MacIdeas is hosted on a subdomain of the main macweb.app root domain which handles auth and accounts, so it was annoying setting up CORS, subdomain cookies, and user schemas (I’m not even sure if it works in production yet ) Added a nav bar and footer that were just copied from other MacWeb apps so they look consistent and updated a few links Added placeholder homepage layout and sections with images and text that don’t mean anything yet Added the main tasks page layout with a left sidebar listing all your task lists (folders and other organization stuff coming soon) and the main page displaying your actual tasks and information You can create new task lists by clicking on the create task list button on the sidebar, which creates and redirects you to the new task list that’s automatically titled “Untitled List” When you hover over a task list on the sidebar, an options icon appears that shows a menu of list management options, including rename, star (not implemented), and delete When you click on rename, the task list becomes an input where you can input the new name, and clicking out of it saves and revalidates the data When you click on delete, a confirmation warning modal appears, and the app will be redirected and revalidated after you confirm and delete the task list Once you’re signed in, your profile icon will be displayed on the nav bar and clicking on it lets you view your profile on the main domain, toggle light/dark modes (coming soon), and sign out (does this even work ?) Added static SEO for a few pages to improve accessibility and the site’s metadata Added the MacIdeas logo as the favicon and site icon Added Prisma schema and types Configured DNS and deployment stuff Fixed deployment issue"}]...
|
Title: MacIdeas by @tonymac129 | Stardance
Devlog Title: MacIdeas by @tonymac129 | Stardance
Devlogs:
MacIdeas: productivity & work management tool I’m starting a new project in the MacWeb collection of online apps and platforms called MacIdeas, which is basically Notion (task, note, and project management) but significantly more inferior Hopefully this project will turn out to be pretty complex so I can milk invest more hours on making and polishing this app In this pretty big initial update, I set up the Next.js project, installed its required dependencies, added a few basic pages and layouts, added a lot of UI components, and added task list management Spent quite some time configuring auth and the account system backend again since MacIdeas is hosted on a subdomain of the main macweb.app root domain which handles auth and accounts, so it was annoying setting up CORS, subdomain cookies, and user schemas (I’m not even sure if it works in production yet ) Added a nav bar and footer that were just copied from other MacWeb apps so they look consistent and updated a few links Added placeholder homepage layout and sections with images and text that don’t mean anything yet Added the main tasks page layout with a left sidebar listing all your task lists (folders and other organization stuff coming soon) and the main page displaying your actual tasks and information You can create new task lists by clicking on the create task list button on the sidebar, which creates and redirects you to the new task list that’s automatically titled “Untitled List” When you hover over a task list on the sidebar, an options icon appears that shows a menu of list management options, including rename, star (not implemented), and delete When you click on rename, the task list becomes an input where you can input the new name, and clicking out of it saves and revalidates the data When you click on delete, a confirmation warning modal appears, and the app will be redirected and revalidated after you confirm and delete the task list Once you’re signed in, your profile icon will be displayed on the nav bar and clicking on it lets you view your profile on the main domain, toggle light/dark modes (coming soon), and sign out (does this even work ?) Added static SEO for a few pages to improve accessibility and the site’s metadata Added the MacIdeas logo as the favicon and site icon Added Prisma schema and types Configured DNS and deployment stuff Fixed deployment issue
Task list management Added more task list management features so you can organize and view your tasks more efficiently! Added a top tool bar on task list pages where you can rename the task list by clicking on the name, add a description, mark/unmark it as starred, and delete it When you click on delete, a confirmation warning modal shows up asking you to confirm You can also star/unstar a task list by clicking on the star icon on the left sidebar or in the options menu Starred task lists show up in a different section at the top of the sidebar to make accessing them easier and quicker Added a dropdown button that shows an additional menu for creating folders and projects (not implemented yet) next to the create task list button Added a pick emoji button for each task list on the sidebar that, of course, still doesn’t work yet Added the new task input field on the task page with a few placeholder buttons and a submit button. This where you’ll be able to add tasks, but nothing works so far Added a message screen that shows up when all the tasks are completed/there are no tasks Added dynamically generated SEO metadata for task list pages to make the site more accessible and responsive Updated schema and types Updated styling and layout
Task creation & management You can now actually add, view, and manage your tasks in MacIdeas! You can add tasks, view details, edit, star, and delete them by clicking on the task item icons When you add a task, a task item gets added to the task list page, which when hovered shows icons/buttons to edit, manage tags, change due date, star, or delete the task. There’s also a circle on the left where you can mark the task as completed (none of these buttons work yet other than star and delete ) Clicking on the task item itself opens an animated panel on the side (similar to a lot of todo apps and the Slack profile panel) with input and textarea fields for editing the task and its description, as well as checkboxes to mark/unmark the task as completed or starred The task item details panel also shows the task’s precise created and updated timestamps, as well as its ID in the backend database (for debugging purposes) You can save the changes in the details panel by clicking on the save button, which updates and revalidates the task automatically. You can also delete the task item by clicking on the delete button and confirming the warning modal You can close the details panel by clicking on the same task item again or by clicking on the close button If a task item is starred, the star icon shows even when you’re not hovering over the task item. You’ll be able to filter and group task items by stars in the future as well Updated the task list page layout to give more space to the main section and make sure everything’s aligned and positioned nicely without any display/styling issues Added new UI components Updated styling Fixed a few styling and UX issues Updated database schema
Browse & complete tasks You can now browse and filter through tasks to view and manage them more easily with the new sorting and filtering options! You can also finally mark tasks as completed once you finish them On the task list page tool bar, there’s a search bar that searched through tasks by their name and description, dropdown menus for sorting (by name, created, updated, due date, etc., some aren’t implemented yet), filtering (by starred, completion status, etc.), and ascending/descending display order to help you find and browse tasks more easily ! There’s also a checkbox that toggles the visibility of completed tasks, since they are hidden by default to avoid cluttering the page You can mark a task as completed by either clicking/checking the circle icon on each task item or selecting the completed checkbox on the task details page Incomplete and completed tasks are each grouped together regardless of sorting order to avoid confusion Completed tasks are striked through and grayed out to help with distinction. You can remark them as incomplete again any time by clicking on the icon again Fixed an annoying container height overflow display layout issue (implementing responsive design on this will be a pain in the butt ) Updated styling and layout I accidentally closed the window while recording the video so I had to rewrite this entire devlog again from memory , Stardance team please make a save devlog button like with Flavortown 🥺
Tags and emojis Added task tags that you can customize and assign to different task items to better categorize and organize them! You’ll be able to group/sort by tags in the future as well, making browsing and managing tasks even more convenient When you click on the tag icon while hovering over a task item, the tag modal appears listing all the tags you created, a search bar for the tasks, as well as options to create new tags and save your selection Each tag on the modal is a checkbox, meaning you can simply check/uncheck the tags to assign them to the task Clicking on the create option displays an input where you can add a new tag that gets added to the revalidated menu Each tag also has an icon that opens a menu of options to rename, select an emoji, pick a color, and delete the tag. The rename option turns the tag into an input that you can edit, the emoji option opens the emoji picker (you can clear an existing emoji as well) so you can choose a custom icon for the tag, the color option opens a color picker where you can edit the tag’s background, and the delete option deletes the tag after confirmation There’s an option on the modal to clear all the currently assigned tags from the task item as well Up to 3 tags are displayed for each task on the task list page, and you can view all the tags a task has in the details panel (where you can open the tag modal and edit the tags too) You can now also choose an emoji for each task list by either clicking on the sidebar icon or the top bar icon! It opens an emoji picker with an option to clear the existing emoji as well Updated schema and types Updated styling and layout Fixed display height issue Fixed legacy dependency deployment issue
Due dates and more random features You can now add due dates and start dates to tasks to better keep track of them and remind yourself when to stop procrastinating and actually get to work ! When you click on the calendar icon on a task, a modal shows up with 2 fields where you can pick the precise date and time for when the task starts/dues. I used the kind of outdated library Flatpickr for this since I was too lazy to build my own calendar time picker thing You can also clear/remove the selected time by clicking on the x icon next to the date field. Save the changes by clicking on the save button You can edit/select the times by clicking on the date fields in the task details panel as well. Start and due dates show up as a small text below the main task on the page so you can easily see when each task is due Added options to sort tasks by due and start dates so you can see which tasks are coming up soon! Also added a separate section in the filter dropdown for filtering by your own tags to better organize and view your different tasks The pen edit/rename option on the task list is now finally implemented! Clicking on it turns the task text into an input field that you can edit, and the new name is saved when you click away from it The tag, calendar, and star icons on the task input field now do something for the new task! Similar to task items, the tag and calendar options both open a modal for you to select the options for the new task, and the star icon marks it as starred. This makes it a lot easier to customize the task before actually adding it to the list Updated schema and types Updated styling and UI components Fixed a legacy dependency (Emoji Mart is unmaintained ) compatibility issue that caused a few previous commits to fail in production build Not gonna lie I’m pretty proud of the UI and layout all the different options and components actually sort of make MacIdeas look like a legit app There seems to be an issue with Firefox screenshots that fails to capture the modal’s background blur for the screenshot so it’s kinda weird
Priority and folders! You can now assign an importance priority flag for each task to better keep track of your most important todos and manage/view them more easily with this feature ! You can change the priority of a task by clicking on one of the 4 options in the priority dropdown that appears when you hover over the task. Each priority has a different color (none-transparent, low-green, medium-yellow, high-red) to help distinct them visually. If a task has a priority, the status is permanently stickied on the task so it’s always visible You can sort and filter tasks by priority as well to automatically group and view your most important tasks You can customize the new task’s priority by changing the new task input field’s priority dropdown menu. You can also edit a task’s priority in the task details panel You can now create custom folders to group and organize your task lists by clicking on the create folder option on the task sidebar ! Clicking on the folder toggles the visibility of its task list content, and hovering over it shows an options icon that opens a menu where you can edit, rename, change the folder icon color, or delete the folder The edit option opens a modal where you can search and select the task lists to add or remove from the folder The rename option turns the folder name into an input that saves on blur, the color option shows a color picker for the icon color, and the delete option deletes the folder and its task lists after confirmation You can also directly create new task lists inside a folder by clicking on the add option on the folder. You can move task lists in/out of folders as well by clicking on the move option, which opens a similar modal where you can search and select which folder to move the task to Drag and drop for moving task lists in/out of folders isn’t implemented yet, because it’s actually quite a challenging thing to do (for me) , but hopefully I’ll have time to try to implement it Updated schema and types Updated UI components and styling Fixed display overflow height styling issues
Dashboard and Subtasks Added a few interactive widgets to the task dashboard showing tasks grouped in different categories so you can browse all your tasks quickly and easily The different task widgets, each with a different icon, are starred, priority, upcoming, starting soon, recent, and tag tasks. The widgets basically act like filters for all your tasks across all task lists so you don’t need to manually dig through them to find what you’re looking for You can now add subtasks to your tasks! Subtasks are basically just very simple tasks without any of the fancy features (since that would be annoying to implement and it’s just pretty impractical) that are just smaller steps broken down from the main task You can add, view, and manage (completing, renaming, or deleting) each task’s subtasks sorted by completion status in the task details panel, and you can see each task’s subtasks directly displayed below the main task You can also mark subtasks as completed by clicking on the circle on the task item, and the text will be striked through and grayed out Added a home/task dashboard link to the left sidebar Updated schema and types Updated styling and layout Updated README with more detailed info and specific features
Dashboard customization and My Day Added settings for customizing your personal tasks page dashboard, where you can select which tasks to show and which task filter sections to display on your main tasks page to make it completely customized You can access the settings modal by clicking on the gear icon on the top right of the tasks page, where you can select the checkboxes that you want to show on the page. You can reset the settings defaults as well by clicking on the reset option and confirming Dashboard tasks now also show their priority and tags All your homepage settings and customization are automatically saved to the account backend so the settings are synced across all your devices Added the “My Day” page that shows all your tasks that either start or due today (in your local timezone, refreshes daily automatically), or you can add custom tasks for the day here without putting it in any task list to help plan out your day better My Day is essentially a special task list and you can do all the stuff you can do with normal tasks and task lists (browsing, sorting, managing, etc.), and it shows up as its own tab on the left sidebar. I thought this would be hard to implement architecturally, but I just had to add a few fields and conditionals to make it work properly Added the tags dashboard section where you can view all the tasks with a certain tag Updated the data fetching logic for the dashboard to be more efficient, optimized, and customized according to the settings Updated schema and constants Updated styling Updated README Fixed a few visual bugs
Notes and custom backgrounds I coded for 5 hours yesterday and made a lot of progress but completely forgot to devlog , so this devlog will be a bit longer (as if my usual devlogs aren’t already long enough) to hopefully keep my storytelling good 🥺 Added the notes tab, which is the second major part of MacIdeas (the other being tasks and projects) that shares a basically identical layout with tasks, so I only had to copy a few components, modify some variables, imports, and database operations, and add new schema models and server actions to make note management work properly, though it still took quite a bit of time Currently only the sidebar is implemented for notes (instead of the actual note taking/editing part), but you can create new notes, rename them, choose their custom emojis, delete them, create and manage folders, and create notes inside folders from there You can also navigate to each note by clicking on it, but the page is blank for now. Notes share folders with tasks, so folders you make in notes also show up in tasks, and vice versa, although the specific tasks/notes in the folder aren’t displayed on the notes/tasks tab to keep organization simple (hopefully I didn’t phrase this too confusingly , maybe I’ll add an option to show both in settings) Also added projects (the third major part of MacIdeas), which are basically labels/folders that you can put tasks, task lists, folders, and notes in to conveniently keep everything related to a big project in one place Right now you can only create projects through the create project button on the sidebar and can’t do anything else with them, since I’ll only start working on projects after I finish notes Added buttons where you can upload a custom background image or select a color theme (not implemented yet) for each individual task list to make customization even better and personalized! When you click on the custom background option, an upload modal appears where you can upload a png/jpg/webp <4MB to be the background! I originally tried using uploadthing since it was the only object storage service I worked with, but I just couldn’t get the event hooks to load or work at all despite copying stuff from my old project and wasting an hour researching , so I decided to settle with Vercel Blobs (because it’s already hosted on Vercel) and it’s actually so much faster and easier to set up/integrate Some of the components are opaque, so they look kind of weird with a custom background, so I’ll be fixing that soon, but for the most part custom backgrounds actually look decent somehow Task lists without a custom background have a black overlay shadow that’s out of place, so that has to fixed too Also added a bunch of random small quality of life features and adjustments that I don’t remember without looking at my commits Updated schema and types Updated styling
Note and project management Added more note management features for editing, deleting, starring, and moving notes, as well as a dashboard for the notes page (similar to the one for tasks) You can now move notes in/out of different folders by selecting the move option and choosing the folder in the modal popup menu. You can also edit which notes are in a folder by clicking on its edit option, where you can check all the notes you want in a folder Added a top tool bar to each note page (similar to the tool bar for task lists) with the note’s emoji (clicking it opens the emoji menu where you can choose or clear the icon), name (clicking on it renamed the note), description (clicking on it also makes it editable), and current folder information displayed The tool bar also has options to upload a custom background image with an upload modal (similar to task lists), choose a custom theme (not implemented yet), star/unstar, or delete after confirming Added a sidebar for the projects page where you can create, manage, view, add icon, rename, star/unstar, and delete your projects (basically the same as the notes and tasks sidebar) Since many of the features are basically identical or very similar to tasks/task lists, I just used the existing components and copied and modified some stuff, so all these features were pretty easy and quick to implement Added recent, starred, and organized by tag sections to the notes dashboard so you can view and manage your notes more easily. You can also customize the dashboard by selecting the sections in the settings panel Updated schema and types Updated styling and layout Fixed background shadow overlay and a few other display/styling issues
Project browser Added a project browser/file explorer to the project dashboard where you can search, view, and open projects and folders to browse their content ! I decided to build this file explorer instead of just a simple dashboard because I got bored and wanted to make something different, and it would make more sense to do this for projects since they are essentially just folders This file explorer is pretty similar to Google Drive and other cloud storage services, you can double click a project or folder to change directory and view its content (tasks, task lists, notes, other folders), and go back/navigate to other levels with navigation breadcrumbs I thought this would be difficult to implement and would need some kind of breadcrumb library and it turned out to be pretty simple Only projects are styled and can be opened right now, but folders and other stuff will be added in the next update! Added a menu option for adding task/note folders to projects. It opens a modal where you can view and select all the projects you’re adding the folder to, and it’ll show up in the project explorer Updated styling and content
Project page and contents Added a dedicated page for each project that is its own file browser where you can open/interact with the contents, view their information and metadata, and search, filter, and sort through them so you can better manage and view your projects Added an option on the project page that opens a modal displaying all your folders, task lists, tasks, and notes grouped into 4 different tabs. Each item is a checkbox so you can select exactly which items to add to or remove from the project You can also search through each tab’s results and see their names and icons to make finding the right item quick and easy This seemed like a simple feature to implement but getting to cooperate was a nightmare since each item has its own data type, so organizing the data structure for both the frontend and backend required a lot of annoying unions and conditionals There is now a top bar in the project browser with the name, type, modified, and created labels which you can click on to sort the contents accordingly Each item also shows its type and modified & created times, as well as an icon where you can change the item’s emoji directly, making browsing and managing your stuff more convenient You can also edit the project’s name and description directly by clicking on the page title and text Updated styling and layout I procrastinated on this devlog for 2 days and got no work done, so I think this might be a sign for me to take a break from Stardance for a few days since I also need to work on hosting 8-Bit Jam (awesome game jam, if you live near nova plz go register ) and other stuff, so there won’t be new devlogs in a while
Light mode toggle The mode option in the nav user menu now toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, as well as accounting for all most of the display color edge cases, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing I am finally back to developing MacIdeas after taking a one month break, so I spent some time familiarizing myself with the codebase again. Hopefully this time I’ll be able to finish and ship it soon! Updated styling and layout Added and updated some dependencies
Rich text editing for notes! Added a complete, feature-rich, and easy to use rich text editor for creating and editing your notes! This means you can now actually take notes with features like text formatting, links, headings, lists, inline components, and a lot of other features you would expect from tools like Google Docs There is a top tool bar with a ton of options, buttons, and dropdowns organized into different functional sections (I definitely did not just copy GDocs ) to format/edit/modify your current content selection easily Most of the features support keyboard shortcuts (because of Tiptap), which you can see by hovering over the option and reading its tooltip I tried making my own web based rich text editor from scratch before, and it turned out to be a nightmare of dom manipulation and other headaches, so this time I decided to just use the library Tiptap, which itself is based on the library ProseMirror, to handle this pain in the butt Since Tiptap is completely headless, I still spent a lot of time going through its docs, installing useful extensions, learning their commands, and building, testing, and tweaking all the features to make everything work smoothly I don’t know why I’ve been neglecting actually adding notes for so long (before each note was just a blank page saying “Untitled note” that you couldn’t even edit ), but this actually turned out to be super fun to implement and the result was very rewarding Note saving doesn’t actually work yet (despite the fake “Note saved” autosave message ) since there are still some things about the editor to fix, but hopefully that’ll be implemented soon and MacIdeas will be almost ready to ship! The text editor also works with light mode, and I also updated some styling to improve the UI
Last devlog: note features and final touches! MacIdeas is finally finished and ready to ship! In this last massive devlog, I added a few new quality of life features, did a ton of general/styling/auth bug fixes, and polished the entire project ! Added note content persistence, meaning you can actually save each note’s content to your account data, including its text, formatting, and everything. Autosave automatically does this every 30 seconds, but you can also manually save with ctrl+s or by pressing the save button Added a few new editor features from Tiptap for typography and general formatting to make note taking more powerful and complete You can now select custom background colors (along with custom backdrop images) to customize the appearance of each task list and note page ! The nav search had been there doing nothing ever since the first devlog , so I finally added a powerful search bar to the nav bar that uses a new API endpoint to search through all the information in all your task lists, tasks, notes, projects, and folders and displays the results as a list of links for convenient browsing and navigation! Added section descriptions and icons for the major features on the homepage Updated styling, content, code, and layout Updated the README with a demo screenshot and updated info about features Fixed a lot of bugs related to general usage, empty user data, styling issues with modals, auth redirect, and many other things I don’t want to remember to improve the overall user experience I took a one week break in this last stretch, so there was probably other stuff I did that I forgot, so hopefully my storytelling isn’t that bad
Ships:
MacIdeas is a fullstack online platform for managing, organizing, and keeping track of your work, including tasks, notes, and projects! Now, before you think this is just another generic boring todo list app and give me a 1 star in originality…, well, it kind of is a todo app, but with a ton of many different features, customization, and settings, as well as notes with a complete, functional rich text editor, folders for convenient organization, and projects for organizing your different tasks, notes, folders, and everything else into manageable groups that you can easily browse through. You can edit and assign tasks priorities, due/start dates, tags, subtasks, projects, folders, links, completion, star them, and view all the info from the details panel. There are also features like search, sort, filter, tags, views, star, emojis, and other options that make browsing, navigating, and finding items a lot easier and more efficient. To make the website accessible to everyone, MacIdeas has smooth transitions and animations, fully supports both dark and light modes (and your own background images or colors), as well as responsive design for (nearly) all screen sizes, and complete SEO metadata for each page. All you need to do is to sign in with MacWeb, the central platform for my projects’ auth and account info (since MacIdeas is one of its many apps), and you’ll be redirected back and have access to try out all those features! It has everything you would expect from a real task manager and text editor, so hopefully you’ll like my project :)...
|
1793001173.647689
|
1793087573.647689
|
|
62028
|
Hackslack by @asho | Stardance
|
asho
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T04:33:50Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slackbot with three basic functions. I was constantly running into error plus my nest application wasn’t being approved. Thank you soo much!", "repo": "https://github.com/ayeshayaya/hackslack", "demo": "https://ayeshayaya.github.io/hackslack/"}]...
|
[{"post_id": 67860, "ts": "202 [{"post_id": 67860, "ts": "2026-09-14T04:24:27Z", "hours": 0.2789, "text": "the project took me around 2 hours to do, idk why its showing 16min:)"}]...
|
Title: Hackslack by @asho | Stardance
Devlogs:
th Title: Hackslack by @asho | Stardance
Devlogs:
the project took me around 2 hours to do, idk why its showing 16min:)
Ships:
I made a slackbot with three basic functions. I was constantly running into error plus my nest application wasn’t being approved. Thank you soo much!...
|
1793058530.142392
|
1793144930.142392
|
|
28283
|
Robot Arm by @jake18 | Stardance
|
jake18
|
1
|
28.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T03:43:04Z", "hours": 28.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a 5-DOF robotic arm that can move manually or remotely using coordinate control. The arm uses 5 servo motors for the arm and 1 stepper motor for the base to provide movement. Every joint in this arm is controlled through a local web app that I am running on my laptop. All of the controls, calculations, etc., are all on my laptop. The ESP32 only acts as a motor controller, receiving commands through wifi and controlling the motors. The thing that I am most proud of is the code and coordinate control. This was the first time I did a project with this scale of code, and I am proud that it works well. This was also the first time I made a web app and combining it with an ESP32. The most challenging part about this project was definitely the mechanical design. Everything in CAD worked smoothly with no mistakes, but when I printed it out, big and small errors kept showing up that delayed my project by a few weeks. I had to go through many iterations until I got one that worked. FYI the angle processing in the code is tailored to my specific motor angles and position.", "repo": "https://github.com/jakecao18/Robot-Arm", "demo": ""}]...
|
[{"post_id": 70721, "ts": "202 [{"post_id": 70721, "ts": "2026-09-19T17:29:25Z", "hours": 8.8356, "text": "Devlog #6 So i have just finished assembling the arm and making all the gears, motors and joints properly now what I have done: fixed the shoulder joint by removing the belt completely, now it runs on a 1:1.5 spur gear reduction I added the stepper motor so now the arm can rotate by its base, allowing it to move in 3d I redesigned the gripper since the old one (finray style gripper) was too weak and couldn’t pick things up. this new gripper is a rack and pinion gripper that is much stronger I have connected the SMPS power supply and now every motor can run on full power I have connected the website to the esp so now my slider control works and is accurate But there are still some problems: the backlash of all the joints add up, which means the end effector wobbles too much. My coordinate control still isn’t accurate So before shipping this project, I will fix the coordinate control code so that it is now accurate. The backlash is a separate problem that I dont think ill be able to solve in time."}, {"post_id": 47845, "ts": "2026-08-16T02:11:50Z", "hours": 10.0933, "text": "Devlog #5 I have now finished the local web server to control the robot, it includes 6 sliders for the 5 servos and 1 stepper motor and also a coordinate control. for the coordinate control, you simply plug in your x, y, z coordinates it will return j1, j2, j3, and j4 angles to you. on the coding side of that, i just wrote some simple analytical ik, mostly triangle geometry. the website is ran by flask and i am using udp sockets to send the angles to my esp32 via wifi. everything is ran on my computer, so the esp would only have to control the motors with the angles. i also did some cad to redesign the shoulder base to fix the belt problem, will start printing soon."}, {"post_id": 42286, "ts": "2026-08-06T22:24:53Z", "hours": 9.0053, "text": "Devlog #4 So ive finished the CAD for the new parts and assembled the robot arm, but the wrist roll and gripper will be attached later. the elbow and wrist pitch of the robot works smoothly now, no skipping or anything, however. the shoulder belt is still skipping under load, i have now used more teeth but it still skips. I think that this is because the belt itself is not tensioned properly (its a little loose), i will have to return the current belt and buy a new one. if anyone have any suggestions to help prevent skipping please let me know. for now that is the only major problem in this build. I am working on the gripper right now since the old design didnt work. also i have been working on a web app to control the arm from my computer to the esp via wifi. I am almost done the app and soon will be able to send data to the esp. that is all for now but i think more problems will apear later."}, {"post_id": 35021, "ts": "2026-07-26T05:31:37Z", "hours": 9.3075, "text": "Devlog #3 So now i have printed all the parts and assembled the arm up to the wrist, but a few problems prevented the arm from moving properly. The gears at the elbow are slipping when under load and also the shafts supporting them are not stable. I think I can fix this by locking the two shafts together and using wider M2 gears. The belt at the shoulder is also slipping under load. I think that i just need the gears to be bigger so that they can tension the belt better. The elbow joint servo doesnt have enough movement to drive the whole elbow 180 degrees because of the gears. I messed up this part because i was supposed to buy the 270 degree servo not the 180 one. Ill be waiting for the 270 servo to arrive. Aside from those problems I have written code so that I can control the servos by angle and not PWM pulses. The base of the arm works fine, Ill be controlling that as soon as i learn how to control a stepper motor. For now I have redesigned most of the arm to fix these problems, but as i wait for the servo and all the parts to print, ill try to work on a web that can control the arm."}, {"post_id": 27505, "ts": "2026-07-13T04:01:09Z", "hours": 4.1847, "text": "Devlog #2 Finished printing everything and started testing if everything fit together. Some of the components had weak spots or didn’t fit together well. I had to go back and forth between CAD and printing for a while because my tolerances weren’t quite correct. Everything fits nicely now. I also made a GitHub repo and added all the CAD files, BOM, pictures etc. I will update GitHub frequently, and everything needed to recreate this project will be there. I also made a wiring diagram and in the process realized that I needed a few more components to make sure that the arm would work smoothly and safely. I was kinda hard to learn why I needed all these different components but in the end I think it makes sense to me now. The next steps now is probably to buy the components and then assemble the robot. In the meantime though I think I can start writing some code on Inverse Kinematics for the Robot. I want it to be able to move all the servos to the correct angle when given some coordinates."}, {"post_id": 21070, "ts": "2026-07-02T20:57:09Z", "hours": 1.2269, "text": "Devlog #1 Completed the CAD assembly for my robot arm. I plan it to be a 5-DOF arm with 5 motors for movement and 1 motor for the claw. I’m using 5 servos and 1 stepper motor right now but I don’t know if I should change it all into servos. I also made the arm be able to swap grippers pretty easily. Im gonna print everything for this arm, gears, gripper, etc. I can also 3d print the ball bearings but I think its better to buy them. The next step is to start printing everything, buying all the parts and start assembling it. Once Im done assembling Ill start coding it. I plan for the arm to run on a Raspberry Pi and be controlled via an app."}]...
|
Title: Robot Arm by @jake18 | Stardance
Devlogs:
Title: Robot Arm by @jake18 | Stardance
Devlogs:
Devlog #1 Completed the CAD assembly for my robot arm. I plan it to be a 5-DOF arm with 5 motors for movement and 1 motor for the claw. I’m using 5 servos and 1 stepper motor right now but I don’t know if I should change it all into servos. I also made the arm be able to swap grippers pretty easily. Im gonna print everything for this arm, gears, gripper, etc. I can also 3d print the ball bearings but I think its better to buy them. The next step is to start printing everything, buying all the parts and start assembling it. Once Im done assembling Ill start coding it. I plan for the arm to run on a Raspberry Pi and be controlled via an app.
Devlog #2 Finished printing everything and started testing if everything fit together. Some of the components had weak spots or didn’t fit together well. I had to go back and forth between CAD and printing for a while because my tolerances weren’t quite correct. Everything fits nicely now. I also made a GitHub repo and added all the CAD files, BOM, pictures etc. I will update GitHub frequently, and everything needed to recreate this project will be there. I also made a wiring diagram and in the process realized that I needed a few more components to make sure that the arm would work smoothly and safely. I was kinda hard to learn why I needed all these different components but in the end I think it makes sense to me now. The next steps now is probably to buy the components and then assemble the robot. In the meantime though I think I can start writing some code on Inverse Kinematics for the Robot. I want it to be able to move all the servos to the correct angle when given some coordinates.
Devlog #3 So now i have printed all the parts and assembled the arm up to the wrist, but a few problems prevented the arm from moving properly. The gears at the elbow are slipping when under load and also the shafts supporting them are not stable. I think I can fix this by locking the two shafts together and using wider M2 gears. The belt at the shoulder is also slipping under load. I think that i just need the gears to be bigger so that they can tension the belt better. The elbow joint servo doesnt have enough movement to drive the whole elbow 180 degrees because of the gears. I messed up this part because i was supposed to buy the 270 degree servo not the 180 one. Ill be waiting for the 270 servo to arrive. Aside from those problems I have written code so that I can control the servos by angle and not PWM pulses. The base of the arm works fine, Ill be controlling that as soon as i learn how to control a stepper motor. For now I have redesigned most of the arm to fix these problems, but as i wait for the servo and all the parts to print, ill try to work on a web that can control the arm.
Devlog #4 So ive finished the CAD for the new parts and assembled the robot arm, but the wrist roll and gripper will be attached later. the elbow and wrist pitch of the robot works smoothly now, no skipping or anything, however. the shoulder belt is still skipping under load, i have now used more teeth but it still skips. I think that this is because the belt itself is not tensioned properly (its a little loose), i will have to return the current belt and buy a new one. if anyone have any suggestions to help prevent skipping please let me know. for now that is the only major problem in this build. I am working on the gripper right now since the old design didnt work. also i have been working on a web app to control the arm from my computer to the esp via wifi. I am almost done the app and soon will be able to send data to the esp. that is all for now but i think more problems will apear later.
Devlog #5 I have now finished the local web server to control the robot, it includes 6 sliders for the 5 servos and 1 stepper motor and also a coordinate control. for the coordinate control, you simply plug in your x, y, z coordinates it will return j1, j2, j3, and j4 angles to you. on the coding side of that, i just wrote some simple analytical ik, mostly triangle geometry. the website is ran by flask and i am using udp sockets to send the angles to my esp32 via wifi. everything is ran on my computer, so the esp would only have to control the motors with the angles. i also did some cad to redesign the shoulder base to fix the belt problem, will start printing soon.
Devlog #6 So i have just finished assembling the arm and making all the gears, motors and joints properly now what I have done: fixed the shoulder joint by removing the belt completely, now it runs on a 1:1.5 spur gear reduction I added the stepper motor so now the arm can rotate by its base, allowing it to move in 3d I redesigned the gripper since the old one (finray style gripper) was too weak and couldn’t pick things up. this new gripper is a rack and pinion gripper that is much stronger I have connected the SMPS power supply and now every motor can run on full power I have connected the website to the esp so now my slider control works and is accurate But there are still some problems: the backlash of all the joints add up, which means the end effector wobbles too much. My coordinate control still isn’t accurate So before shipping this project, I will fix the coordinate control code so that it is now accurate. The backlash is a separate problem that I dont think ill be able to solve in time.
Ships:
I built a 5-DOF robotic arm that can move manually or remotely using coordinate control. The arm uses 5 servo motors for the arm and 1 stepper motor for the base to provide movement. Every joint in this arm is controlled through a local web app that I am running on my laptop. All of the controls, calculations, etc., are all on my laptop. The ESP32 only acts as a motor controller, receiving commands through wifi and controlling the motors. The thing that I am most proud of is the code and coordinate control. This was the first time I did a project with this scale of code, and I am proud that it works well. This was also the first time I made a web app and combining it with an ESP32. The most challenging part about this project was definitely the mechanical design. Everything in CAD worked smoothly with no mistakes, but when I printed it out, big and small errors kept showing up that delayed my project by a few weeks. I had to go through many iterations until I got one that worked. FYI the angle processing in the code is tailored to my specific motor angles and position....
|
1793008160.788182
|
1793094560.788182
|