|
62749
|
Vert's Hack Card by @vertriwayz | Stardance
|
vertriwayz
|
0
|
3.16
|
0
|
[]
|
[{"post_id": 70350, "ts": "202 [{"post_id": 70350, "ts": "2026-09-19T00:49:50Z", "hours": 0.5611, "text": "Devlog #2 UPDATE I forgot to include that I also have to put this all to a GitHub repo! So I somehow lost my files again, but luckily I had a recover file as a reference, and the DRC doesn’t even work so I had to manually review each wire and other details. However, it was easy to copy over the icons, footprints, etc. I actually think this could be the final product, as I don’t really have much to say. This was a fun project. This is what i’ve done so far today: Find recovery file Rewire Copy all the stuff Hopefully this is the final devlog and I hope to ship this probably before the end of today. I love this hack card."}, {"post_id": 70174, "ts": "2026-09-18T16:54:17Z", "hours": 2.5969, "text": "Devlog on making my Hacker Card So this was a pretty easy project to build with the schematics and PCB since it was just building a business card with NFC compatibility, and I didn’t need to do so much devlogs, so this is a compilation of what i’ve done. I’m proud of the progress so far, and I will be shipping this really soon. I only have to work on the DRC and probably add more features, but overall this is looking epic . So far this is what I have done: Created schematics + PCB in EasyEDA Wired components Created QR Code Added text for website, Github, etc. Added flair for my project Made the text, QR code, and NFC components a shiny texture. I used EasyEDA for the project, since most of the footprints I couldn’t find from KiCad libraries, and it was simply easier. Somehow at some point I thought I almost lost all of my files, but luckily it does online backup, so i’m okay for now."}]...
|
Title: Vert's Hack Card by @vertriwayz | Stard Title: Vert's Hack Card by @vertriwayz | Stardance
Devlogs:
Devlog on making my Hacker Card So this was a pretty easy project to build with the schematics and PCB since it was just building a business card with NFC compatibility, and I didn’t need to do so much devlogs, so this is a compilation of what i’ve done. I’m proud of the progress so far, and I will be shipping this really soon. I only have to work on the DRC and probably add more features, but overall this is looking epic . So far this is what I have done: Created schematics + PCB in EasyEDA Wired components Created QR Code Added text for website, Github, etc. Added flair for my project Made the text, QR code, and NFC components a shiny texture. I used EasyEDA for the project, since most of the footprints I couldn’t find from KiCad libraries, and it was simply easier. Somehow at some point I thought I almost lost all of my files, but luckily it does online backup, so i’m okay for now.
Devlog #2 UPDATE I forgot to include that I also have to put this all to a GitHub repo! So I somehow lost my files again, but luckily I had a recover file as a reference, and the DRC doesn’t even work so I had to manually review each wire and other details. However, it was easy to copy over the icons, footprints, etc. I actually think this could be the final product, as I don’t really have much to say. This was a fun project. This is what i’ve done so far today: Find recovery file Rewire Copy all the stuff Hopefully this is the final devlog and I hope to ship this probably before the end of today. I love this hack card....
|
1793656458.5661843
|
1794261258.5661843
|
|
63451
|
Lifeline by @Jay-can-code | Stardance
|
Jay-can-code
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T11:45:09Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "LIFELINE is a resource finder that makes it easier to find help with things like food, housing, education, jobs, transportation, and more. Instead of having to search through a bunch of different websites, you can find resources in one place! (its currently only for my local area, but it’ll definitely branch out a lot more in the future)", "repo": "https://github.com/Jay-at-GSMST/Lifeline-Project", "demo": "https://jay-at-gsmst.github.io/Lifeline_Project/"}]...
|
[{"post_id": 70349, "ts": "202 [{"post_id": 70349, "ts": "2026-09-19T00:46:08Z", "hours": 2.1425, "text": "Im keeping it extremely bland and simple for the moment, because I need to do more research for other locations than just my county. I have the structural base of the website, it just needs to have more resources for people to use now!"}, {"post_id": 70127, "ts": "2026-09-18T14:52:01Z", "hours": 0.7022, "text": "you can’t really see the change in action, but I made it so that each button changes that mid section’s information. I just needa actually implement good information in each of those designated sections now!"}, {"post_id": 70106, "ts": "2026-09-18T14:06:37Z", "hours": 0.5089, "text": "Sooooooo its getting extremely hard to find jobs, and its getting me scared because im a senior in high school and I have college coming up faster than I’d like. Me and my friends are worried we wont be able to find the resources we need to help us get through our next phase of life, so I figured I’d build a site where people can find those resources and share some with others! I’ve just made the main page so far, but for the most part this is a project that I really think could help a lot of us who are going into our college years, or starting to live on our own!"}]...
|
Title: Lifeline by @Jay-can-code | Stardance
Devl Title: Lifeline by @Jay-can-code | Stardance
Devlogs:
Sooooooo its getting extremely hard to find jobs, and its getting me scared because im a senior in high school and I have college coming up faster than I’d like. Me and my friends are worried we wont be able to find the resources we need to help us get through our next phase of life, so I figured I’d build a site where people can find those resources and share some with others! I’ve just made the main page so far, but for the most part this is a project that I really think could help a lot of us who are going into our college years, or starting to live on our own!
you can’t really see the change in action, but I made it so that each button changes that mid section’s information. I just needa actually implement good information in each of those designated sections now!
Im keeping it extremely bland and simple for the moment, because I need to do more research for other locations than just my county. I have the structural base of the website, it just needs to have more resources for people to use now!
Ships:
LIFELINE is a resource finder that makes it easier to find help with things like food, housing, education, jobs, transportation, and more. Instead of having to search through a bunch of different websites, you can find resources in one place! (its currently only for my local area, but it’ll definitely branch out a lot more in the future)...
|
1794052304.5735798
|
1794138704.5735798
|
|
62961
|
My own keypad by @sritan | Stardance
|
sritan
|
0
|
4.02
|
0
|
[]
|
[{"post_id": 70338, "ts": "202 [{"post_id": 70338, "ts": "2026-09-18T23:56:58Z", "hours": 0.5447, "text": "I downloaded qmk software but i am confused on how to edit it."}, {"post_id": 69889, "ts": "2026-09-18T00:39:23Z", "hours": 1.0983, "text": "I made my case for the hackpad that i am making. (no holes on top as i will hot glue it on)"}, {"post_id": 69870, "ts": "2026-09-17T23:26:28Z", "hours": 0.4303, "text": "I added mounting holes and made my wires thicker. If anyone knows how to add text pls tell me in the comments"}, {"post_id": 69489, "ts": "2026-09-17T04:44:33Z", "hours": 0.5019, "text": "I added a 4th key to my hackpad!"}, {"post_id": 69405, "ts": "2026-09-17T00:03:48Z", "hours": 1.4444, "text": "I made my very own pcb!"}]...
|
Title: My own keypad by @sritan | Stardance
Devlo Title: My own keypad by @sritan | Stardance
Devlogs:
I made my very own pcb!
I added a 4th key to my hackpad!
I added mounting holes and made my wires thicker. If anyone knows how to add text pls tell me in the comments
I made my case for the hackpad that i am making. (no holes on top as i will hot glue it on)
I downloaded qmk software but i am confused on how to edit it....
|
1793659713.3762414
|
1794264513.3762414
|
|
62347
|
fairshare-chores by @Jasonvo | Stardance
|
Jasonvo
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T00:22:34Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built FairShare Chores — a web app that helps families distribute household chores fairly using a point-based algorithm. The most challenging part was debugging JavaScript. I typed all the code by hand which meant a lot of typos like “textContext” instead of “textContent” and “onlick” instead of “onclick” 😅 The browser console became my best friend. I’m most proud of the assignment algorithm — it automatically gives chores to whoever has the least points so the workload stays balanced. To test it: add 3-4 family members, add some chores with different difficulty points, then click “Assign Chores Fairly” to see the distribution!", "repo": "https://github.com/phuvo1304-alt/fairshare-chores", "demo": "https://phuvo1304-alt.github.io/fairshare-chores"}]...
|
[{"post_id": 70336, "ts": "202 [{"post_id": 70336, "ts": "2026-09-18T23:52:08Z", "hours": 1.0956, "text": "Day 3 - It finally all works!! Today was another debugging day but honestly it felt more satisfying than yesterday. The hardest part was getting the Done button to show up in the dashboard - it just wouldn’t appear no matter what I tried. Turns out the live GitHub Pages site was showing old cached code the whole time. Once I pushed the new code and did a hard refresh (Ctrl+Shift+R), the buttons appeared immediately. Kind of embarrassing but also a good lesson - always check if you’re looking at the latest version. The crossed-out effect when you mark a chore done felt really satisfying to build. It’s a small thing but it makes the app feel real. FairShare is now fully working: Add family members Add chores with difficulty points Algorithm distributes fairly Mark chores as done"}, {"post_id": 69542, "ts": "2026-09-17T08:32:54Z", "hours": 2.3508, "text": "Day 2 - The app finally works!!😭😭 Spent most of today debugging JavaScript. I typed the entire app.js by hand which meant I had a LOT of typos - textContext instead of textContent, onlick instead of onclick, chores instead of chore… honestly embarrassing but also kind of funny. The algorithm works though. Added nate and jason as family members, gave them 3 chores with different points, clicked Assign - and it actually distributed them fairly. nate got 5 points worth of chores, jason got 3. Not perfect equality but that’s how the greedy algorithm works. Debugging through the browser console was actually really useful - each error pointed me exactly to the broken line."}, {"post_id": 69005, "ts": "2026-09-16T06:28:50Z", "hours": 1.1261, "text": "Today was mostly setup day, which honestly felt more frustrating than exciting at times. Getting Hackatime to actually track my time took way longer than expected — turns out WakaTime and Hackatime were conflicting with each other the whole time. Once I uninstalled WakaTime it finally worked. Got the GitHub repo connected to VS Code, created the three main files (index.html, style.css, app.js), and wrote the basic HTML skeleton for FairShare. It’s nothing pretty yet — just the structure — but seeing the sections laid out for family members, chores, and the dashboard made it feel more real. 1h 7m logged. Slow start but everything is in place now. Tomorrow I actually get to write real code."}]...
|
Title: fairshare-chores by @Jasonvo | Stardance
D Title: fairshare-chores by @Jasonvo | Stardance
Devlogs:
Today was mostly setup day, which honestly felt more frustrating than exciting at times. Getting Hackatime to actually track my time took way longer than expected — turns out WakaTime and Hackatime were conflicting with each other the whole time. Once I uninstalled WakaTime it finally worked. Got the GitHub repo connected to VS Code, created the three main files (index.html, style.css, app.js), and wrote the basic HTML skeleton for FairShare. It’s nothing pretty yet — just the structure — but seeing the sections laid out for family members, chores, and the dashboard made it feel more real. 1h 7m logged. Slow start but everything is in place now. Tomorrow I actually get to write real code.
Day 2 - The app finally works!!😭😭 Spent most of today debugging JavaScript. I typed the entire app.js by hand which meant I had a LOT of typos - textContext instead of textContent, onlick instead of onclick, chores instead of chore… honestly embarrassing but also kind of funny. The algorithm works though. Added nate and jason as family members, gave them 3 chores with different points, clicked Assign - and it actually distributed them fairly. nate got 5 points worth of chores, jason got 3. Not perfect equality but that’s how the greedy algorithm works. Debugging through the browser console was actually really useful - each error pointed me exactly to the broken line.
Day 3 - It finally all works!! Today was another debugging day but honestly it felt more satisfying than yesterday. The hardest part was getting the Done button to show up in the dashboard - it just wouldn’t appear no matter what I tried. Turns out the live GitHub Pages site was showing old cached code the whole time. Once I pushed the new code and did a hard refresh (Ctrl+Shift+R), the buttons appeared immediately. Kind of embarrassing but also a good lesson - always check if you’re looking at the latest version. The crossed-out effect when you mark a chore done felt really satisfying to build. It’s a small thing but it makes the app feel real. FairShare is now fully working: Add family members Add chores with difficulty points Algorithm distributes fairly Mark chores as done
Ships:
I built FairShare Chores — a web app that helps families distribute household chores fairly using a point-based algorithm. The most challenging part was debugging JavaScript. I typed all the code by hand which meant a lot of typos like “textContext” instead of “textContent” and “onlick” instead of “onclick” 😅 The browser console became my best friend. I’m most proud of the assignment algorithm — it automatically gives chores to whoever has the least points so the workload stays balanced. To test it: add 3-4 family members, add some chores with different difficulty points, then click “Assign Chores Fairly” to see the distribution!...
|
1794048909.198528
|
1794135309.198528
|
|
60829
|
cwemkeys by @cqwea | Stardance
|
cqwea
|
0
|
7.57
|
0
|
[]
|
[{"post_id": 70332, "ts": "202 [{"post_id": 70332, "ts": "2026-09-18T23:42:25Z", "hours": 4.0492, "text": "I finished my keyboard after a week of break at school and I think its gonna turn out pretty great"}, {"post_id": 65644, "ts": "2026-09-10T22:31:53Z", "hours": 3.5167, "text": "so ive did the schematics and pcb design started I played everything down but for some reason the connections are all messed up idk why ima took a deeper look at it"}]...
|
Title: cwemkeys by @cqwea | Stardance
Devlogs:
so Title: cwemkeys by @cqwea | Stardance
Devlogs:
so ive did the schematics and pcb design started I played everything down but for some reason the connections are all messed up idk why ima took a deeper look at it
I finished my keyboard after a week of break at school and I think its gonna turn out pretty great...
|
1793645685.3279655
|
1794250485.3279655
|
|
4475
|
Exit Not Found by @dpath02 | Stardance
|
dpath02
|
1
|
10.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T07:08:56Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the first real game I’ve ever made (not counting scratch or the Unity flappy bird tutorial). While in it’s current state it barely qualifies as a game considering it’s my second time using Unity it’s already an ok start. Plus I’m planning on working on this well past Stardance and already have some better models on the way. P.S. I don’t know if shipping is a permanent thing where you can’t edit after. If so… keep an eye on itch io?", "repo": "https://github.com/dpath02-sketch/My-Unity-Horror-Game", "demo": "https://dpath02.itch.io/exit-not-found"}]...
|
[{"post_id": 70331, "ts": "202 [{"post_id": 70331, "ts": "2026-09-18T23:36:42Z", "hours": 0.5544, "text": "Exit not Found devlog 4 Again, been a while since I last posted. I’m not good with sticking to things for long periods of time… anyway to get back into things I tried something simple to refresh my fleeting C# syntax memory by adding an FOV slider as well. The next big thing I want to work on is full on game saves. Even with the new data manager there’s still a few things I need to think about like how to convert the 3 rooms into just numbers and text without loosing info or making loading the game a pain. Not sure if anyone still reads these but if you do, thanks !(^U^)! edit: video was bugged for some reason. Here’s a screenshot of 70FOV you can compare to the previous images"}, {"post_id": 57709, "ts": "2026-08-29T23:14:02Z", "hours": 5.8042, "text": "Exit Not Found devlog 3.5 Sorry for not posting a devlog in a long time. Unfortunately your gonna have to wait a while more cause if this post works it confirms my suspicions that it’s the trash internet speed that won’t let me upload and I can’t have images :(. As far as I’m concerned Stardance is ending soon and I’m not gonna have a finished game by then so if you really wanna keep up to date I guess I’ll switch to itch. Also got working configs that persist after closing the game yay :)."}, {"post_id": 17443, "ts": "2026-06-28T06:58:43Z", "hours": 0.815, "text": "Exit Not Found third devlog I added the ability to unlock your mouse and go back to the menu without dying! Ground breaking stuff… I also added some “music” that plays in the background (I’m not very good at writing music + Soundtrap’s exports have a bit of extra time at the end for some reason. maybe instrument sustain). I was also considering having the game be available on web but the web build was kinda buggy for some reason and itch io didn’t like me having 2 zip files so you still have to download to play. I’m not actually sure how much time there’s left for Stardance so if this is my last devlog here, fear not! I’m not giving up on this game and will at least get the game as polished as I can, if not adding more actual gameplay to it in the long run."}, {"post_id": 10567, "ts": "2026-06-17T11:28:30Z", "hours": 2.5197, "text": "Exit Not Found second devlog I decided to focus a bit on getting the game to be… a game. Using a quick Youtube tutorial I got a main menu up and while I did add a bunch of buttons so far the only ones that work are new game and quit. The sphere of doom now triggers a vignette effect and knocks you over before sending you to the menu again. Getting that to work was a very big pain as I am promptly reminded that I’m still learning how both C# and Unity work and have just been throwing stuff to the wall and seeing what sticks. The main issue was accessing data and functions across several different scripts and types of objects. I can guarantee if I work on this in a couple months time I’m going to regret every stupid code design choice I made (my horrid code is above unless I forgot where the images go). Also fun fact sound design is pain not gonna go into too much depth since I gave up pretty quickly realising free internet tools only get you so far."}, {"post_id": 7814, "ts": "2026-06-13T01:21:39Z", "hours": 0.8811, "text": "Exit Not Found first devlog This is the first 3D game I’ve worked on and it’s basically just a Roblox: Doors clone where you walk around in an infinite cycle of rooms. So far there’s a basic main menu, world gen, and an enemy that deletes the lights and outputs “dead” in the console if you get too close :). Getting the lights to break took a bit longer than I hoped cause I didn’t realise it the lights need a rigid body component for the collider to work."}]...
|
Title: Exit Not Found by @dpath02 | Stardance
Dev Title: Exit Not Found by @dpath02 | Stardance
Devlogs:
Exit Not Found first devlog This is the first 3D game I’ve worked on and it’s basically just a Roblox: Doors clone where you walk around in an infinite cycle of rooms. So far there’s a basic main menu, world gen, and an enemy that deletes the lights and outputs “dead” in the console if you get too close :). Getting the lights to break took a bit longer than I hoped cause I didn’t realise it the lights need a rigid body component for the collider to work.
Exit Not Found second devlog I decided to focus a bit on getting the game to be… a game. Using a quick Youtube tutorial I got a main menu up and while I did add a bunch of buttons so far the only ones that work are new game and quit. The sphere of doom now triggers a vignette effect and knocks you over before sending you to the menu again. Getting that to work was a very big pain as I am promptly reminded that I’m still learning how both C# and Unity work and have just been throwing stuff to the wall and seeing what sticks. The main issue was accessing data and functions across several different scripts and types of objects. I can guarantee if I work on this in a couple months time I’m going to regret every stupid code design choice I made (my horrid code is above unless I forgot where the images go). Also fun fact sound design is pain not gonna go into too much depth since I gave up pretty quickly realising free internet tools only get you so far.
Exit Not Found third devlog I added the ability to unlock your mouse and go back to the menu without dying! Ground breaking stuff… I also added some “music” that plays in the background (I’m not very good at writing music + Soundtrap’s exports have a bit of extra time at the end for some reason. maybe instrument sustain). I was also considering having the game be available on web but the web build was kinda buggy for some reason and itch io didn’t like me having 2 zip files so you still have to download to play. I’m not actually sure how much time there’s left for Stardance so if this is my last devlog here, fear not! I’m not giving up on this game and will at least get the game as polished as I can, if not adding more actual gameplay to it in the long run.
Exit Not Found devlog 3.5 Sorry for not posting a devlog in a long time. Unfortunately your gonna have to wait a while more cause if this post works it confirms my suspicions that it’s the trash internet speed that won’t let me upload and I can’t have images :(. As far as I’m concerned Stardance is ending soon and I’m not gonna have a finished game by then so if you really wanna keep up to date I guess I’ll switch to itch. Also got working configs that persist after closing the game yay :).
Exit not Found devlog 4 Again, been a while since I last posted. I’m not good with sticking to things for long periods of time… anyway to get back into things I tried something simple to refresh my fleeting C# syntax memory by adding an FOV slider as well. The next big thing I want to work on is full on game saves. Even with the new data manager there’s still a few things I need to think about like how to convert the 3 rooms into just numbers and text without loosing info or making loading the game a pain. Not sure if anyone still reads these but if you do, thanks !(^U^)! edit: video was bugged for some reason. Here’s a screenshot of 70FOV you can compare to the previous images
Ships:
This is the first real game I’ve ever made (not counting scratch or the Unity flappy bird tutorial). While in it’s current state it barely qualifies as a game considering it’s my second time using Unity it’s already an ok start. Plus I’m planning on working on this well past Stardance and already have some better models on the way. P.S. I don’t know if shipping is a permanent thing where you can’t edit after. If so… keep an eye on itch io?...
|
1793868867.566748
|
1793955267.566748
|
|
63156
|
Arcade by @RishitJain | Stardance
|
RishitJain
|
0
|
5.69
|
0
|
[]
|
[{"post_id": 70327, "ts": "202 [{"post_id": 70327, "ts": "2026-09-18T23:16:06Z", "hours": 0.8333, "text": "BOM and github repo"}, {"post_id": 70311, "ts": "2026-09-18T22:23:41Z", "hours": 2.1225, "text": "Designed PCB for Arcade"}, {"post_id": 70227, "ts": "2026-09-18T19:03:38Z", "hours": 0.9667, "text": "Finished Schematic for Arcade"}, {"post_id": 69778, "ts": "2026-09-17T19:26:41Z", "hours": 1.7667, "text": "Designed Schematic for Arcade"}]...
|
Title: Arcade by @RishitJain | Stardance
Devlogs: Title: Arcade by @RishitJain | Stardance
Devlogs:
Designed Schematic for Arcade
Finished Schematic for Arcade
Designed PCB for Arcade
BOM and github repo...
|
1793659952.18764
|
1794264752.18764
|
|
1602
|
My awesome macropad! by @efayeliu | Stardance
|
efayeliu
|
0
|
3.02
|
0
|
[]
|
[{"post_id": 70318, "ts": "202 [{"post_id": 70318, "ts": "2026-09-18T22:43:06Z", "hours": 3.0167, "text": "hackpadd!!! finished the case i really couldnt figure out autocad :,) I guessed the dimensions of the usb since it wasn’t mentioned on the tutorial i hope it works!!!"}]...
|
Title: My awesome macropad! by @efayeliu | Stardan Title: My awesome macropad! by @efayeliu | Stardance
Devlogs:
hackpadd!!! finished the case i really couldnt figure out autocad :,) I guessed the dimensions of the usb since it wasn’t mentioned on the tutorial i hope it works!!!...
|
1793415101.2828627
|
1794019901.2828627
|
|
63566
|
MY SITE! by @ArHIM | Stardance
|
ArHIM
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T22:54:37Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This was fun for sure! Even though it took Less time than I thought it would take. I learned a lot in that short amount of time. By creating it, mainly the guides supported my development and Stardance supported my motivation, which is hard to find in me, honestly. To start off, everything was very confusing. I would say that the starting point was the hardest and now that I have the website, I would say that it was definitely worth it. Over time, I saw each piece coming together and now it’s a whole website about me, which I’m proud of. It has information about my personal, what I like to do in my free time, my interests, my hobbies, what I’ve learned, things like that. And I’m gonna confess that it’s pretty simple for now, but I’m sure I’ll refine it over time and as I get better at coding. It’s fully deployed. And in my opinion, keeping in mind it came for me, it visually looks pretty good too.", "repo": "https://github.com/ArhamBafna/MY-SITE", "demo": "https://arhambafna.github.io/MY-SITE/"}]...
|
[{"post_id": 70315, "ts": "202 [{"post_id": 70315, "ts": "2026-09-18T22:41:02Z", "hours": 0.305, "text": "Finally, we are DONE Actually added color to make it nice to read. And changed layout Edited text a bit again because it can always be better. Added more contact info and just info in general. Cleaned up code! Also added an IMAGE of me (ai generated bc idk) Even tho it is VERY simple right now, I think its ok to submit. I will, of course, keep working on it in the future and keep refining it over time This was relatively quick, thanks to the guides. Plus stardance motivated me a lot to complete and work on this. LETS GOOOO"}, {"post_id": 70308, "ts": "2026-09-18T22:15:34Z", "hours": 0.2758, "text": "Added more personal information about my life. like, projects, interests, what i do in free time changed text a bit to be more FUN to read…"}, {"post_id": 70298, "ts": "2026-09-18T21:55:21Z", "hours": 0.265, "text": "Started the site! Just started the site, laying out foundations and creating first section with basic info (according to guide) I have high hopes…"}]...
|
Title: MY SITE! by @ArHIM | Stardance
Devlogs:
St Title: MY SITE! by @ArHIM | Stardance
Devlogs:
Started the site! Just started the site, laying out foundations and creating first section with basic info (according to guide) I have high hopes…
Added more personal information about my life. like, projects, interests, what i do in free time changed text a bit to be more FUN to read…
Finally, we are DONE Actually added color to make it nice to read. And changed layout Edited text a bit again because it can always be better. Added more contact info and just info in general. Cleaned up code! Also added an IMAGE of me (ai generated bc idk) Even tho it is VERY simple right now, I think its ok to submit. I will, of course, keep working on it in the future and keep refining it over time This was relatively quick, thanks to the guides. Plus stardance motivated me a lot to complete and work on this. LETS GOOOO
Ships:
This was fun for sure! Even though it took Less time than I thought it would take. I learned a lot in that short amount of time. By creating it, mainly the guides supported my development and Stardance supported my motivation, which is hard to find in me, honestly. To start off, everything was very confusing. I would say that the starting point was the hardest and now that I have the website, I would say that it was definitely worth it. Over time, I saw each piece coming together and now it’s a whole website about me, which I’m proud of. It has information about my personal, what I like to do in my free time, my interests, my hobbies, what I’ve learned, things like that. And I’m gonna confess that it’s pretty simple for now, but I’m sure I’ll refine it over time and as I get better at coding. It’s fully deployed. And in my opinion, keeping in mind it came for me, it visually looks pretty good too....
|
1794052328.3508427
|
1794138728.3508427
|
|
61955
|
My own site! by @GMM | Stardance
|
GMM
|
4
|
10.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T22:10:55Z", "hours": 6.0, "multiplier": 1.97, "payout": 6, "blessing": "neutral", "text": "I redesigned my site. Listening to the recommendations I tried to make it the best visually possible. The features include: a game, so it’s not to boring, my other website, and my social media’s link. Hope you like this new version. (I also put a bit of my interests, as some said to).", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}, {"ship_num": 2, "ts": "2026-09-16T23:47:56Z", "hours": 2.0, "multiplier": 1.97, "payout": 2, "blessing": "neutral", "text": "Now the effects are on smartphones too. And I integrated my 2 sites. I also changed the project proposal, is a portfolio now.", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}, {"ship_num": 3, "ts": "2026-09-15T16:30:34Z", "hours": 1.0, "multiplier": 1.19, "payout": 1, "blessing": "neutral", "text": "I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real. I put links, so the site could be more truthful.", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}, {"ship_num": 4, "ts": "2026-09-14T18:08:48Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted☠️). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real.", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}]...
|
[{"post_id": 70304, "ts": "202 [{"post_id": 70304, "ts": "2026-09-18T22:05:29Z", "hours": 2.145, "text": "I ended testing the remake."}, {"post_id": 70058, "ts": "2026-09-18T11:23:32Z", "hours": 3.7336, "text": "I am listening to people’s recommendations and re-making the design, I also am going to add more effects."}, {"post_id": 69396, "ts": "2026-09-16T23:45:30Z", "hours": 0.6736, "text": "I integrated my 2 sites."}, {"post_id": 68898, "ts": "2026-09-16T00:10:50Z", "hours": 1.4114, "text": "I’m adding the effect of the cursor(/touch, for phone)"}, {"post_id": 68715, "ts": "2026-09-15T16:28:06Z", "hours": 0.5264, "text": "I ADDED A IMAGE!!! And also put links"}, {"post_id": 68190, "ts": "2026-09-14T17:54:08Z", "hours": 0.8531, "text": "I’m working on a website to introduce myself, Guilherme (GMM for short), and help the others learn programming and encourage everyone’s scientific interests."}]...
|
Title: My own site! by @GMM | Stardance
Devlogs:
Title: My own site! by @GMM | Stardance
Devlogs:
I’m working on a website to introduce myself, Guilherme (GMM for short), and help the others learn programming and encourage everyone’s scientific interests.
I ADDED A IMAGE!!! And also put links
I’m adding the effect of the cursor(/touch, for phone)
I integrated my 2 sites.
I am listening to people’s recommendations and re-making the design, I also am going to add more effects.
I ended testing the remake.
Ships:
I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted☠️). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real.
I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real. I put links, so the site could be more truthful.
Now the effects are on smartphones too. And I integrated my 2 sites. I also changed the project proposal, is a portfolio now.
I redesigned my site. Listening to the recommendations I tried to make it the best visually possible. The features include: a game, so it’s not to boring, my other website, and my social media’s link. Hope you like this new version. (I also put a bit of my interests, as some said to)....
|
1794048806.0103743
|
1794135206.0103743
|
|
1836
|
Thought Galaxy by @Jewelia | Stardance
|
Jewelia
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T22:53:59Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "We are finally shipping! This summer, I tried making my first website with React! I was really tired of all the ads in diary apps, writing in journals took a long time, and I wanted the aesthetic of a nice diary website rather than a plain google doc. This is my result for now, I will definitely keep developing it when I have more time in the future as it’s quite basic (my first time learning CSS) This is the DIARY FRONTEND ONLY so entries you make will not save on reload. My goal for the future is to be able to make a backend so you can make accounts. The original goal was to also have a place for to-do lists but that hasn’t been developed yet. (I ended up focusing a lot on my collaborative game project which took up most my time; go check it out if you haven’t already!)", "repo": "https://github.com/julia-duck/ThoughtGalaxy", "demo": "https://thoughtgalaxy.onrender.com/"}]...
|
[{"post_id": 70300, "ts": "202 [{"post_id": 70300, "ts": "2026-09-18T21:59:22Z", "hours": 1.2722, "text": "Hello Again! Back with a few tweaks and updates! I fixed the weird bugs where it would change multiple entries and also the bug where there would be a line you could see behind the expanded entry! I made it so that the “discard changes” button only appears when you make changes. (This has to do with the fact that I made it so that you can’t save entries that aren’t titled) I also started on the search function. But it will only give an alert with what you searched for testing purposes; I want to wait until we have a backend to implement that actual functionality. Thanks for reading!! I’m hoping I can ship the frontend of this for you all to test out, although I won’t have time to make the backend until school gets less stressful!"}, {"post_id": 66669, "ts": "2026-09-12T15:10:56Z", "hours": 4.6636, "text": "New Frontend Features! The sticker streak motivated me to keep adding a little bit by bit to my diary project even though school has started. 🥳 So, what’s new? New Entries ! In the past, clicking “New Entry” would just open the old entry. Now it adds a fresh new entry to your list of entries! Entry List As you make new entries, it will show all of your entries in concise boxes for you to scroll through, displaying the title and date. Discard Changes A fancy new button that will close your entry without saving your changes Arrow Buttons The newest addition yet that I’ve been meaning to do: adding arrows that let you click through your entries! Now VSCode will stop bugging me about my unused variables haha So, what’s next? Bug Fixes Unfortunately, the bug where saving an entry causes others to become duplicates of it has arose again and must be smashed Deleting Entries Shouldn’t be too hard, just gotta leave stuff for future me to do Search Function Eventually I want to be able to search for entries at least by title Backend One day I will get to it…so I can finally save my entries on browser reload…"}, {"post_id": 32130, "ts": "2026-07-21T02:43:49Z", "hours": 3.3975, "text": "I’ve gotten started on adding the ability of entries to pre-populate stored text (title and body). Since I haven’t implemented a backend yet (sooo I kinda got a bit carried away working on Boba Cats! And this project hasn’t gotten as much love and attention…but I’m hoping to get it working eventually!), I used a temporary entry variable for testing purposes (you can see it in the code if you take a careful look!) And yes, I shared a screenshot of the code this time instead of the actual site since there’s not much change in the visuals of the site! Next, I’m working on adding a date function (but the element is in the wrong place! So I won’t show until I fix it haha)"}, {"post_id": 362, "ts": "2026-06-01T18:12:12Z", "hours": 0.7664, "text": "Fixed problems so website can be deployed, added functionality to close button for entries For background, I started this project the month before June. It was very basic though, I didn’t get too much done… because most of the time spent was battling the error of the blank screen of death! It had something to do with dependencies not being installed and NavLink (which I was using to have different pages for the main page, diary, and to-do list) acting up. But I figured it out eventually!"}]...
|
Title: Thought Galaxy by @Jewelia | Stardance
Dev Title: Thought Galaxy by @Jewelia | Stardance
Devlogs:
Fixed problems so website can be deployed, added functionality to close button for entries For background, I started this project the month before June. It was very basic though, I didn’t get too much done… because most of the time spent was battling the error of the blank screen of death! It had something to do with dependencies not being installed and NavLink (which I was using to have different pages for the main page, diary, and to-do list) acting up. But I figured it out eventually!
I’ve gotten started on adding the ability of entries to pre-populate stored text (title and body). Since I haven’t implemented a backend yet (sooo I kinda got a bit carried away working on Boba Cats! And this project hasn’t gotten as much love and attention…but I’m hoping to get it working eventually!), I used a temporary entry variable for testing purposes (you can see it in the code if you take a careful look!) And yes, I shared a screenshot of the code this time instead of the actual site since there’s not much change in the visuals of the site! Next, I’m working on adding a date function (but the element is in the wrong place! So I won’t show until I fix it haha)
New Frontend Features! The sticker streak motivated me to keep adding a little bit by bit to my diary project even though school has started. 🥳 So, what’s new? New Entries ! In the past, clicking “New Entry” would just open the old entry. Now it adds a fresh new entry to your list of entries! Entry List As you make new entries, it will show all of your entries in concise boxes for you to scroll through, displaying the title and date. Discard Changes A fancy new button that will close your entry without saving your changes Arrow Buttons The newest addition yet that I’ve been meaning to do: adding arrows that let you click through your entries! Now VSCode will stop bugging me about my unused variables haha So, what’s next? Bug Fixes Unfortunately, the bug where saving an entry causes others to become duplicates of it has arose again and must be smashed Deleting Entries Shouldn’t be too hard, just gotta leave stuff for future me to do Search Function Eventually I want to be able to search for entries at least by title Backend One day I will get to it…so I can finally save my entries on browser reload…
Hello Again! Back with a few tweaks and updates! I fixed the weird bugs where it would change multiple entries and also the bug where there would be a line you could see behind the expanded entry! I made it so that the “discard changes” button only appears when you make changes. (This has to do with the fact that I made it so that you can’t save entries that aren’t titled) I also started on the search function. But it will only give an alert with what you searched for testing purposes; I want to wait until we have a backend to implement that actual functionality. Thanks for reading!! I’m hoping I can ship the frontend of this for you all to test out, although I won’t have time to make the backend until school gets less stressful!
Ships:
We are finally shipping! This summer, I tried making my first website with React! I was really tired of all the ads in diary apps, writing in journals took a long time, and I wanted the aesthetic of a nice diary website rather than a plain google doc. This is my result for now, I will definitely keep developing it when I have more time in the future as it’s quite basic (my first time learning CSS) This is the DIARY FRONTEND ONLY so entries you make will not save on reload. My goal for the future is to be able to make a backend so you can make accounts. The original goal was to also have a place for to-do lists but that hasn’t been developed yet. (I ended up focusing a lot on my collaborative game project which took up most my time; go check it out if you haven’t already!)...
|
1794027115.2578578
|
1794113515.2578578
|
|
6131
|
MicroDev128 Project by @I-like-BWRs | Stardance
|
I-like-BWRs
|
1
|
29.12
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-05T21:06:22Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "AVR128DB28 Concept Board. Being made right now", "repo": "https://github.com/ILikeBWRs/MicroDev128", "demo": ""}]...
|
[{"post_id": 70291, "ts": "202 [{"post_id": 70291, "ts": "2026-09-18T21:43:11Z", "hours": 0.3333, "text": "Finished my BOM and sent and email THANK YOU PCBWay for sponsoring this project! I needed to lock in. I (mostly off-camera) worked on selecting parts for the BOM. This included the parts for the MicroDevUPDI Programmer, and the MicroDev128-32P. I wrote a email to PCBWay (off-camera) asking if they will continue to sponsor me. (fingers crossed as the Hack Club grant just covered the first lot of parts). Because Stardance ends in 2 weeks - and shipping and assembly takes more than 2 weeks this will be the last devlog on stardance :( Thank you to all who have helped with this project - including you * reading this now. I really appreciate your support!"}, {"post_id": 66999, "ts": "2026-09-13T00:53:38Z", "hours": 1.9167, "text": "Finished the Rev1B and started work on the UPDI programmer I finished work on the MicroDev128-32P Rev1B. It some new things that you can see in the past devlogs. For MicroDevUPDI I made a simple USB to UPDI programmer. It uses the CH340E - which has an internal crystal. small footprint and needs few external parts. I added reverse polarity protection. It uses USB-C for its connector and is 2 small two layer board. I changed the main MicroDev128 repo to be a main landing page - with each board having its own repo."}, {"post_id": 66311, "ts": "2026-09-12T02:21:53Z", "hours": 3.3525, "text": "FINISHED Rev 1B I finished this revision by adding a few things: A full changelog bellow Rounded corners (idk just looks better in my opionion) Changed the TVS blows a fuse thing for a diode for proper reverse polarity protection Rearranged all the components Fixed some decoupling caps that were linked to GND and 5V but not even close to the acuall pin. Changed the UPDI header to be a 3x1 to save board space. As per request of a guy in my schools robotics club the board now fetures 3 neopixels (couldnt do his other request of a diode on every pin) Re-jigged the silkscreen labels so they should be acually readable Fixed the LT8653S being wired for burst mode ( which is great for battery life, but has higher ripple (I measured 30mV peak to peak with my scope) Now it is wired for FCM (Forced Countiuous Mode) for that super low ripple that the LT8653S is capable of. I learnt a thing or two about routing and made the pins for everything as close as possible to each other. Most likely I forgot to mention some stuff that I changed …. Anyway … turning out to be a genuinely useful board. Had the MVIO comunicating with a 3.3V SD card module yesterday no problems. Until next time … ILikeBWRs - Keegan Muller"}, {"post_id": 66143, "ts": "2026-09-11T19:28:32Z", "hours": 1.0169, "text": "Rearranging the power section I started to rearange the power section of the board, making the layout of componenets better and in general improving the overall board layout. I added a big diode for reverse polarity protection. I also added neo pixels and are spliting the board more. I resized the UPDI header to bbe a 1x3 header with power on the outside - Ill put a full bridge recitifier on the programer so you can plug it in both ways."}, {"post_id": 65815, "ts": "2026-09-11T06:35:02Z", "hours": 4.0006, "text": "Some Polishing MicroDev128-32P I noticed that my Rev 1B, is nearly completely different than my original design - so it merits a different board name. I am going to polish the MicroDev128-32P, make a programer for it then move on. I am adding USB to new board as well as some more fetures. The MicroDev128-32P will be polished so that it functions perfectly. Also started more work on the docs!"}, {"post_id": 62073, "ts": "2026-09-05T09:47:43Z", "hours": 1.4667, "text": "Started work on MicroDev128-32P Rev 1B I need to fix some flaws with the original design. I’ll address them as a list: It doesn’t have onboard USB It has small hard to read silkscreen and clearance issues. It has an oversized programming header which can be ommited if I add onboard USB. The 3PDT switch is big, easy to knock and takes up valuable board space. The 603 Ceramic caps are large and are not in the best places for power filtering. I plan to fix these all. Stay tuned to see what changes!"}, {"post_id": 60666, "ts": "2026-09-03T05:18:50Z", "hours": 1.6572, "text": "Ordered Parts, Assembled, and Tested MicroDev128 Project Quick recap: I like the Arduino Nano but wow is it old. And outdated. And slow. And underpowered. So I put all my frustrations into making a board the same size (’cause trying to use a ESP32 on breadboard sucks when they are so thick) and waayyyyyyy more powerful. So then this thing was born. With a power regulator that can supply two times more current that my oscilloscope draws , mixed with the latest and greatest 8-bit AVR microcontrollers (not that 8-bit AVR microcontrollers are very new ). Sorry I haven’t devloged in a while so this is a lot of stuff in this devlog. This will say 1h 4min logged [because im really bad at remebering to devlog and I use my phone often that I can put Lookout on so I someone gets in the recordering I have to trash it :( ] Day 1 I started by ordering parts from Digikey. I spend roughly 3 hours looking at part selections for the passives and LEDs. Day 2 After the parts arrived I looked through the parts and then assebled one board. The caps placement was tricky because they all look the same size, so I’ll add a diagram to the Github repo in the future to make this easier. Day 3 I tested the board and, well you can watch the video to see how it turned out. So thats this updates devlog. See the Github repository for more info: github.com/ILikeBWRs/MicroDev128 WATCH THE VIDEO"}, {"post_id": 34416, "ts": "2026-07-25T03:23:11Z", "hours": 5.0506, "text": "Cleaning Up the PCB and getting it ready for production Woooooo!!!!!!!!!!!!!!!!!! Its done Check the other MicroDev128-32P devlogs for more info. I changed the short circuit/reverse polarity protection to using a TVS and fuse. I fixed some errors, worked on docs, and finished doing the silkscreen labels. Now I have to request funding and test (aka abuse it until it blows up >:] ) Sorry for gaps in the time-lapse, I got distracted reading my voltage regulator datasheet and forgot to pause the recording. Maaa Bad."}, {"post_id": 31094, "ts": "2026-07-19T06:55:58Z", "hours": 2.2339, "text": "PCB Routing Pt3 Finally Finished Routing the project!!!!!! Took a while but I ended up using layer 3 as a mixed power and signal plane insteed of a solid power plane. I am happy with how it turned out. I still might add TX and RX lines to the UPDI header, so you can do serial print . Overall very happy. Now I have to finish the silkscreen labels, do the documentation :/ , and test it (yay)."}, {"post_id": 29423, "ts": "2026-07-16T11:18:22Z", "hours": 0.8167, "text": "PCB Routing MicroDev128-32 Started routing everything for the whole board. I am sick of routing a good seeming line and then ripping it up 20 times. Started on the power lines Made planes for the GND and 5v lines Learnt that I really suck at PCB design in general ________________________________________________________________Project Overview Based on the AVR128DB32, with the LT8653S switching power regulator. It has: Up to 2 amps on both the 3.3v and 5v lines. 128kB Flash and 16kB SRAM MVIO on 4-pins with 3.3v, 5v and EXTERNAL source presets UPDI Programing Arduino Nano sized footprint Aims to have a better price to performance ratio than Arduino (not hard considering a Genuine Uno is $40 NZD (About 20 USD) More to come as I hopfully soon finish this project!"}, {"post_id": 12849, "ts": "2026-06-21T01:25:48Z", "hours": 1.7864, "text": "PCB PT2 This time: I have changed the voltage regulator to be the LT8653S (smaller footprint) I have relaid the board (again) I have started routing some basic data lines and the crystal. I have updated all footprints More to go! Getting there"}, {"post_id": 8519, "ts": "2026-06-14T05:13:06Z", "hours": 1.8056, "text": "Schematic Finishing and PCB (PT1)"}, {"post_id": 8482, "ts": "2026-06-14T03:17:10Z", "hours": 1.1797, "text": "Schematic PT2"}, {"post_id": 8446, "ts": "2026-06-14T01:23:50Z", "hours": 1.0075, "text": "Schematic AND ideas"}, {"post_id": 8402, "ts": "2026-06-13T23:33:35Z", "hours": 0.77, "text": "Schematic Work and Pondering"}, {"post_id": 7143, "ts": "2026-06-11T22:40:31Z", "hours": 0.3167, "text": "Hardware figuring out"}, {"post_id": 2956, "ts": "2026-06-05T21:17:39Z", "hours": 0.4111, "text": "Block Diagram"}, {"post_id": 1973, "ts": "2026-06-04T07:17:02Z", "hours": 0.2722, "text": "A basic program “BLINK” for the bare chip I have."}]...
|
Title: MicroDev128 Project by @I-like-BWRs | Stard Title: MicroDev128 Project by @I-like-BWRs | Stardance
Devlogs:
A basic program “BLINK” for the bare chip I have.
Block Diagram
Hardware figuring out
Schematic Work and Pondering
Schematic AND ideas
Schematic PT2
Schematic Finishing and PCB (PT1)
PCB PT2 This time: I have changed the voltage regulator to be the LT8653S (smaller footprint) I have relaid the board (again) I have started routing some basic data lines and the crystal. I have updated all footprints More to go! Getting there
PCB Routing MicroDev128-32 Started routing everything for the whole board. I am sick of routing a good seeming line and then ripping it up 20 times. Started on the power lines Made planes for the GND and 5v lines Learnt that I really suck at PCB design in general ________________________________________________________________Project Overview Based on the AVR128DB32, with the LT8653S switching power regulator. It has: Up to 2 amps on both the 3.3v and 5v lines. 128kB Flash and 16kB SRAM MVIO on 4-pins with 3.3v, 5v and EXTERNAL source presets UPDI Programing Arduino Nano sized footprint Aims to have a better price to performance ratio than Arduino (not hard considering a Genuine Uno is $40 NZD (About 20 USD) More to come as I hopfully soon finish this project!
PCB Routing Pt3 Finally Finished Routing the project!!!!!! Took a while but I ended up using layer 3 as a mixed power and signal plane insteed of a solid power plane. I am happy with how it turned out. I still might add TX and RX lines to the UPDI header, so you can do serial print . Overall very happy. Now I have to finish the silkscreen labels, do the documentation :/ , and test it (yay).
Cleaning Up the PCB and getting it ready for production Woooooo!!!!!!!!!!!!!!!!!! Its done Check the other MicroDev128-32P devlogs for more info. I changed the short circuit/reverse polarity protection to using a TVS and fuse. I fixed some errors, worked on docs, and finished doing the silkscreen labels. Now I have to request funding and test (aka abuse it until it blows up >:] ) Sorry for gaps in the time-lapse, I got distracted reading my voltage regulator datasheet and forgot to pause the recording. Maaa Bad.
Ordered Parts, Assembled, and Tested MicroDev128 Project Quick recap: I like the Arduino Nano but wow is it old. And outdated. And slow. And underpowered. So I put all my frustrations into making a board the same size (’cause trying to use a ESP32 on breadboard sucks when they are so thick) and waayyyyyyy more powerful. So then this thing was born. With a power regulator that can supply two times more current that my oscilloscope draws , mixed with the latest and greatest 8-bit AVR microcontrollers (not that 8-bit AVR microcontrollers are very new ). Sorry I haven’t devloged in a while so this is a lot of stuff in this devlog. This will say 1h 4min logged [because im really bad at remebering to devlog and I use my phone often that I can put Lookout on so I someone gets in the recordering I have to trash it :( ] Day 1 I started by ordering parts from Digikey. I spend roughly 3 hours looking at part selections for the passives and LEDs. Day 2 After the parts arrived I looked through the parts and then assebled one board. The caps placement was tricky because they all look the same size, so I’ll add a diagram to the Github repo in the future to make this easier. Day 3 I tested the board and, well you can watch the video to see how it turned out. So thats this updates devlog. See the Github repository for more info: github.com/ILikeBWRs/MicroDev128 WATCH THE VIDEO
Started work on MicroDev128-32P Rev 1B I need to fix some flaws with the original design. I’ll address them as a list: It doesn’t have onboard USB It has small hard to read silkscreen and clearance issues. It has an oversized programming header which can be ommited if I add onboard USB. The 3PDT switch is big, easy to knock and takes up valuable board space. The 603 Ceramic caps are large and are not in the best places for power filtering. I plan to fix these all. Stay tuned to see what changes!
Some Polishing MicroDev128-32P I noticed that my Rev 1B, is nearly completely different than my original design - so it merits a different board name. I am going to polish the MicroDev128-32P, make a programer for it then move on. I am adding USB to new board as well as some more fetures. The MicroDev128-32P will be polished so that it functions perfectly. Also started more work on the docs!
Rearranging the power section I started to rearange the power section of the board, making the layout of componenets better and in general improving the overall board layout. I added a big diode for reverse polarity protection. I also added neo pixels and are spliting the board more. I resized the UPDI header to bbe a 1x3 header with power on the outside - Ill put a full bridge recitifier on the programer so you can plug it in both ways.
FINISHED Rev 1B I finished this revision by adding a few things: A full changelog bellow Rounded corners (idk just looks better in my opionion) Changed the TVS blows a fuse thing for a diode for proper reverse polarity protection Rearranged all the components Fixed some decoupling caps that were linked to GND and 5V but not even close to the acuall pin. Changed the UPDI header to be a 3x1 to save board space. As per request of a guy in my schools robotics club the board now fetures 3 neopixels (couldnt do his other request of a diode on every pin) Re-jigged the silkscreen labels so they should be acually readable Fixed the LT8653S being wired for burst mode ( which is great for battery life, but has higher ripple (I measured 30mV peak to peak with my scope) Now it is wired for FCM (Forced Countiuous Mode) for that super low ripple that the LT8653S is capable of. I learnt a thing or two about routing and made the pins for everything as close as possible to each other. Most likely I forgot to mention some stuff that I changed …. Anyway … turning out to be a genuinely useful board. Had the MVIO comunicating with a 3.3V SD card module yesterday no problems. Until next time … ILikeBWRs - Keegan Muller
Finished the Rev1B and started work on the UPDI programmer I finished work on the MicroDev128-32P Rev1B. It some new things that you can see in the past devlogs. For MicroDevUPDI I made a simple USB to UPDI programmer. It uses the CH340E - which has an internal crystal. small footprint and needs few external parts. I added reverse polarity protection. It uses USB-C for its connector and is 2 small two layer board. I changed the main MicroDev128 repo to be a main landing page - with each board having its own repo.
Finished my BOM and sent and email THANK YOU PCBWay for sponsoring this project! I needed to lock in. I (mostly off-camera) worked on selecting parts for the BOM. This included the parts for the MicroDevUPDI Programmer, and the MicroDev128-32P. I wrote a email to PCBWay (off-camera) asking if they will continue to sponsor me. (fingers crossed as the Hack Club grant just covered the first lot of parts). Because Stardance ends in 2 weeks - and shipping and assembly takes more than 2 weeks this will be the last devlog on stardance :( Thank you to all who have helped with this project - including you * reading this now. I really appreciate your support!
Ships:
AVR128DB28 Concept Board. Being made right now...
|
1793929971.0775442
|
1794016371.0775442
|
|
62960
|
unhumanweb by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
0
|
3.16
|
0
|
[]
|
[{"post_id": 70283, "ts": "202 [{"post_id": 70283, "ts": "2026-09-18T21:22:50Z", "hours": 3.1639, "text": "making my engine website"}]...
|
Title: unhumanweb by @rajaryan1492007 | Stardance
Title: unhumanweb by @rajaryan1492007 | Stardance
Devlogs:
making my engine website...
|
1793659712.4573944
|
1794264512.4573944
|
|
62950
|
My Personal Website by @MuhammadDawood | Stardance
|
MuhammadDawood
|
1
|
4.0
|
22
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T21:23:42Z", "hours": 4.0, "multiplier": 5.3, "payout": 22, "blessing": "neutral", "text": "I have made my first project here which is my Portfolio to show my past experience to the world.", "repo": "https://github.com/DAVIDX-004/dawood-portfolio", "demo": "https://davidx-004.github.io/dawood-portfolio/"}]...
|
[{"post_id": 70282, "ts": "202 [{"post_id": 70282, "ts": "2026-09-18T21:21:39Z", "hours": 2.6656, "text": "I am finally done with my Portfolio Website hopefully you guyd will love it."}, {"post_id": 69403, "ts": "2026-09-16T23:57:37Z", "hours": 1.41, "text": "I am working on my personal Portfolio Website.Currently I am done with half of my HTML continusely working on it to make it happen."}]...
|
Title: My Personal Website by @MuhammadDawood | St Title: My Personal Website by @MuhammadDawood | Stardance
Devlogs:
I am working on my personal Portfolio Website.Currently I am done with half of my HTML continusely working on it to make it happen.
I am finally done with my Portfolio Website hopefully you guyd will love it.
Ships:
I have made my first project here which is my Portfolio to show my past experience to the world....
|
1794052170.7729025
|
1794138570.7729025
|
|
10531
|
DoseGuard by @darshjain | Stardance
|
darshjain
|
0
|
32.15
|
0
|
[]
|
[{"post_id": 7028, "ts": "2026 [{"post_id": 7028, "ts": "2026-06-11T19:47:32Z", "hours": 1.6469, "text": "DoseGuard - Deployed Last stretch was about making it real: hardening the app and getting it deployed where people can actually use it. Made it correct Shipped it Deployed to a Hack Club box - FastAPI + Caddy under PM2, React build served static, the 250k-drug DB shipped up from local The OCR fight This ate the day. Fresh Ubuntu was missing native libs ( libGL , libgomp ), then PaddlePaddle crashed on an unimplemented oneDNN op, then segfaulted - turned out the PP-OCRv5 server models just don’t run on this CPU. Swapped to the mobile models and it finally worked: scan a strip → reads the salts -> flags the interaction, ~2s. It’s live Scan an “Aspirin + Clopidogrel” box and it correctly flags the interaction, end to end in the browser. Demo login + screenshots in the README."}, {"post_id": 6813, "ts": "2026-06-11T13:09:17Z", "hours": 6.12, "text": "This round was less about new features and more about making the existing loop trustworthy - multi-salt meds, an editable scan history, per-user timezones, and a pile of correctness bugs that were quietly skewing what people saw. Multi-salt medicines One medicine can now hold multiple active ingredients. “Combiflam” or a combination tablet resolves to all its salts (ibuprofen + paracetamol), not just the first one - so interaction checks actually see everything you’re taking. Editable scan history New PATCH /scans/{id} endpoint + an “Edit & re-check” modal — fix an OCR misread, add or remove a drug, and re-run the interaction check without re-scanning. Adding a medication from a scan carries its salts through, and duplicate meds are blocked (case-insensitive). Account + timezone New change-password flow (/auth/change-password) — verifies the current password and signs out other devices. Every user now has a timezone (defaults to Asia/Kolkata, editable on the Profile page). “Today”, the slot cutoffs (morning/afternoon/evening/night), adherence, Where it stands Full loop still works end to end: scan or search -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings -> and now it’s all timezone-correct and edit-friendly. Fixing some bugs moving ahead Night doses now actually go overdue (the old cutoff of 24 could never trigger). Adherence only counts doses that were genuinely scheduled -> stray or leftover logs can’t push the percentage past what you were actually due. Deleting a medication now also clears its dose logs, so old “taken” rows stop inflating adherence. A medication is no longer half-created if RxNorm hiccups mid-add -> ingredients resolve before anything is saved. One failed RxNorm lookup during a scan no longer kills the whole scan. Drug search ranks an exact match above a loose substring product, and de-dupes."}, {"post_id": 6199, "ts": "2026-06-10T12:38:27Z", "hours": 4.2956, "text": "DoseGuard moved from a tiny hand-curated interaction list to a real, sourced drug-interaction database - plus a searchable medicine catalog and a calendar that shows adherence over time. Real interaction data Replaced the 8 curated pairs with the DDInter dataset (~150k real drug-drug interactions), graded Major / Moderate / Minor → severe / moderate / low. New normalization + interaction engine so user meds and the dataset speak the same RxNorm vocabulary. Searchable medicine catalog Imported ~250k medicine products + ~3k drug concepts into searchable tables. New /drugs/search endpoint (fuzzy match) and a debounced DrugSearch autocomplete component. Medications page Add meds by searching the catalog or importing from a scan (one scan -> one med, salts included). Set a course length (3 days, ongoing, etc.) — adherence only counts days a med is actually active. Calendar New Calendar page: month grid with per-day dots (all-taken / partial / missed / today), a 2-week tile strip with dates, plus doses-taken, tracked-days, and a 12-week adherence trend. New /tracking/history endpoint feeding day-by-day stats. Where it stands Full loop working: scan or search a medicine -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings, all backed by sourced data. Fixing some bugs moving ahead"}, {"post_id": 5490, "ts": "2026-06-09T09:18:38Z", "hours": 5.8842, "text": "DoseGuard moved past “scan + check” into daily medication management schedule doses, track them, and see adherence alongside safety warnings. Today page New Today page showing scheduled doses split into morning / afternoon / evening / night. Each dose shows a live status: taken, skipped, overdue, or upcoming. Quick actions to mark a dose taken or skipped. Tracking + safety together New backend models for dose schedules and dose logs. New API routes: today’s schedule, saved schedules, update med slots, log taken/skipped, 7-day adherence. UI polish Reworked pages on shared UI components. Animated page transitions, staggered cards, animated stat numbers, cleaner headers. Swapped emoji nav icons for lucide icons Where it stands Full loop working: scan medicines -> save as meds -> schedule doses -> track today -> see adherence + interaction warnings."}, {"post_id": 4905, "ts": "2026-06-08T14:15:26Z", "hours": 5.8994, "text": "The web app (React + HeroUI) — In progress A modern admin-style dashboard: sidebar nav, top bar, stat cards. Pages for managing medications, scanning, viewing the dashboard, and editing your profile. Scan history table where you can review past scans, edit the extracted drugs, and re-run the interaction check. Camera + upload - take a photo live in the browser or upload one. Made mobile-friendly (the sidebar collapses into a slide-out drawer on phones). The hard part: reading the label (OCR) This is where most of the recent effort went, and it’s been a real journey: Started with Tesseract - it choked on real photos (returned garbage like “ry”). Switched to PaddleOCR, then to its best models (PP-OCRv5 server detection + recognition, plus auto-rotation and image-unwarping). This reads real strips far better. Improved the matching: combine adjacent words so multi-word salts (“lactic acid”) stay together, skip packaging words (tablet, mg), and tolerate OCR typos with fuzzy matching. Where it stands The full chain works end to end: scan a medicine -> read the salts -> check interactions -> see ranked warnings, with accounts, history, and a polished responsive UI."}, {"post_id": 4684, "ts": "2026-06-08T02:47:11Z", "hours": 3.6553, "text": "Before this, the app could check drugs but it had no memory of who you were. So I added proper accounts. Now the app has real users, remembers their medications, checks them safely, and protects their accounts to a standard I’d actually trust."}, {"post_id": 4322, "ts": "2026-06-07T16:12:52Z", "hours": 1.445, "text": "This is the part that actually makes DoseGuard useful - checking whether the medicines you’re on are dangerous together. Up to now the app could recognise a drug and figure out its ingredient, but it couldn’t say anything about safety. So I built the interaction checker. When you hand the app a list of medicines, it takes each one, boils it down to its real ingredient (using the part I built earlier), and then checks every possible pair against that database. If it finds a clash, it tells you which two drugs, how dangerous it is, and why. I started the danger list small and curated by hand, just the well-known serious interactions, so I know it’s accurate."}, {"post_id": 4206, "ts": "2026-06-07T13:10:51Z", "hours": 2.3386, "text": "Just finished the first real feature of DoseGuard - getting the app to actually understand drug names. The problem is people don’t type or photograph drug names cleanly. They’ll write “tylenol” instead of the real medical name, or just misspell something like “warfarn.” So I built a piece that takes whatever messy text comes in and figures out what the drug actually is. That ingredient bit matters, because two different-looking medicines can contain the same thing, and that’s where dangerous combinations come from. I hooked this up to a free official US government drug db, so it’s working off real medical data"}, {"post_id": 4051, "ts": "2026-06-07T07:13:14Z", "hours": 0.8675, "text": "Started working on a this project. The idea is pretty simple: you take a photo of a medicine bottle, and the app reads the name off the label and warns you if it’s dangerous to take alongside the other medicines you’re already on. You can also just type the name in if you don’t want to use the camera. So far I’ve got the foundation done. The project’s structured, the backend actually runs, there’s a basic health-check working, sorted out all the annoying Python environment and editor stuff. Next thing I’m doing is the part that recognises the drug name from the label."}]...
|
Title: DoseGuard by @darshjain | Stardance
Devlog Title: DoseGuard by @darshjain | Stardance
Devlogs:
Started working on a this project. The idea is pretty simple: you take a photo of a medicine bottle, and the app reads the name off the label and warns you if it’s dangerous to take alongside the other medicines you’re already on. You can also just type the name in if you don’t want to use the camera. So far I’ve got the foundation done. The project’s structured, the backend actually runs, there’s a basic health-check working, sorted out all the annoying Python environment and editor stuff. Next thing I’m doing is the part that recognises the drug name from the label.
Just finished the first real feature of DoseGuard - getting the app to actually understand drug names. The problem is people don’t type or photograph drug names cleanly. They’ll write “tylenol” instead of the real medical name, or just misspell something like “warfarn.” So I built a piece that takes whatever messy text comes in and figures out what the drug actually is. That ingredient bit matters, because two different-looking medicines can contain the same thing, and that’s where dangerous combinations come from. I hooked this up to a free official US government drug db, so it’s working off real medical data
This is the part that actually makes DoseGuard useful - checking whether the medicines you’re on are dangerous together. Up to now the app could recognise a drug and figure out its ingredient, but it couldn’t say anything about safety. So I built the interaction checker. When you hand the app a list of medicines, it takes each one, boils it down to its real ingredient (using the part I built earlier), and then checks every possible pair against that database. If it finds a clash, it tells you which two drugs, how dangerous it is, and why. I started the danger list small and curated by hand, just the well-known serious interactions, so I know it’s accurate.
Before this, the app could check drugs but it had no memory of who you were. So I added proper accounts. Now the app has real users, remembers their medications, checks them safely, and protects their accounts to a standard I’d actually trust.
The web app (React + HeroUI) — In progress A modern admin-style dashboard: sidebar nav, top bar, stat cards. Pages for managing medications, scanning, viewing the dashboard, and editing your profile. Scan history table where you can review past scans, edit the extracted drugs, and re-run the interaction check. Camera + upload - take a photo live in the browser or upload one. Made mobile-friendly (the sidebar collapses into a slide-out drawer on phones). The hard part: reading the label (OCR) This is where most of the recent effort went, and it’s been a real journey: Started with Tesseract - it choked on real photos (returned garbage like “ry”). Switched to PaddleOCR, then to its best models (PP-OCRv5 server detection + recognition, plus auto-rotation and image-unwarping). This reads real strips far better. Improved the matching: combine adjacent words so multi-word salts (“lactic acid”) stay together, skip packaging words (tablet, mg), and tolerate OCR typos with fuzzy matching. Where it stands The full chain works end to end: scan a medicine -> read the salts -> check interactions -> see ranked warnings, with accounts, history, and a polished responsive UI.
DoseGuard moved past “scan + check” into daily medication management schedule doses, track them, and see adherence alongside safety warnings. Today page New Today page showing scheduled doses split into morning / afternoon / evening / night. Each dose shows a live status: taken, skipped, overdue, or upcoming. Quick actions to mark a dose taken or skipped. Tracking + safety together New backend models for dose schedules and dose logs. New API routes: today’s schedule, saved schedules, update med slots, log taken/skipped, 7-day adherence. UI polish Reworked pages on shared UI components. Animated page transitions, staggered cards, animated stat numbers, cleaner headers. Swapped emoji nav icons for lucide icons Where it stands Full loop working: scan medicines -> save as meds -> schedule doses -> track today -> see adherence + interaction warnings.
DoseGuard moved from a tiny hand-curated interaction list to a real, sourced drug-interaction database - plus a searchable medicine catalog and a calendar that shows adherence over time. Real interaction data Replaced the 8 curated pairs with the DDInter dataset (~150k real drug-drug interactions), graded Major / Moderate / Minor → severe / moderate / low. New normalization + interaction engine so user meds and the dataset speak the same RxNorm vocabulary. Searchable medicine catalog Imported ~250k medicine products + ~3k drug concepts into searchable tables. New /drugs/search endpoint (fuzzy match) and a debounced DrugSearch autocomplete component. Medications page Add meds by searching the catalog or importing from a scan (one scan -> one med, salts included). Set a course length (3 days, ongoing, etc.) — adherence only counts days a med is actually active. Calendar New Calendar page: month grid with per-day dots (all-taken / partial / missed / today), a 2-week tile strip with dates, plus doses-taken, tracked-days, and a 12-week adherence trend. New /tracking/history endpoint feeding day-by-day stats. Where it stands Full loop working: scan or search a medicine -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings, all backed by sourced data. Fixing some bugs moving ahead
This round was less about new features and more about making the existing loop trustworthy - multi-salt meds, an editable scan history, per-user timezones, and a pile of correctness bugs that were quietly skewing what people saw. Multi-salt medicines One medicine can now hold multiple active ingredients. “Combiflam” or a combination tablet resolves to all its salts (ibuprofen + paracetamol), not just the first one - so interaction checks actually see everything you’re taking. Editable scan history New PATCH /scans/{id} endpoint + an “Edit & re-check” modal — fix an OCR misread, add or remove a drug, and re-run the interaction check without re-scanning. Adding a medication from a scan carries its salts through, and duplicate meds are blocked (case-insensitive). Account + timezone New change-password flow (/auth/change-password) — verifies the current password and signs out other devices. Every user now has a timezone (defaults to Asia/Kolkata, editable on the Profile page). “Today”, the slot cutoffs (morning/afternoon/evening/night), adherence, Where it stands Full loop still works end to end: scan or search -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings -> and now it’s all timezone-correct and edit-friendly. Fixing some bugs moving ahead Night doses now actually go overdue (the old cutoff of 24 could never trigger). Adherence only counts doses that were genuinely scheduled -> stray or leftover logs can’t push the percentage past what you were actually due. Deleting a medication now also clears its dose logs, so old “taken” rows stop inflating adherence. A medication is no longer half-created if RxNorm hiccups mid-add -> ingredients resolve before anything is saved. One failed RxNorm lookup during a scan no longer kills the whole scan. Drug search ranks an exact match above a loose substring product, and de-dupes.
DoseGuard - Deployed Last stretch was about making it real: hardening the app and getting it deployed where people can actually use it. Made it correct Shipped it Deployed to a Hack Club box - FastAPI + Caddy under PM2, React build served static, the 250k-drug DB shipped up from local The OCR fight This ate the day. Fresh Ubuntu was missing native libs ( libGL , libgomp ), then PaddlePaddle crashed on an unimplemented oneDNN op, then segfaulted - turned out the PP-OCRv5 server models just don’t run on this CPU. Swapped to the mobile models and it finally worked: scan a strip → reads the salts -> flags the interaction, ~2s. It’s live Scan an “Aspirin + Clopidogrel” box and it correctly flags the interaction, end to end in the browser. Demo login + screenshots in the README....
|
1793911662.1056807
|
1794775662.1056807
|
|
1983
|
rasterminal by @PavolUlicny | Stardance
|
PavolUlicny
|
1
|
470.39
|
8580
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T16:24:17Z", "hours": 449.0, "multiplier": 19.99, "payout": 8580, "blessing": "neutral", "text": "rasterminal rasterminal is a 3D model viewer in the terminal Why i decided to build it The original idea didn’t really have any big inspiration, I’ve just always been fascinated by the inner workings of 3D and how that all works. I’ve been wanting to build a project involving 3D for a while and I didn’t want to make just another program that uses libraries and GPU drivers to do all the work. So I came up with the idea: a software rasterizer that renders in the terminal! There are lots of TUIs and lots of boring old software rasterizer projects, so I just combined the two into something unique. And over time, I realized I could make it an actually useful tool, with no real competition: a 3D model viewer in the terminal. Sure, there are some similar projects on GitHub (like taigrr’s trophy), but none are actually usable with heavier models or support pixel graphics. What I learned I learned a lot. I really mean a lot. Anything from math and rendering to how terminals work and how to control them using escape sequences. I don’t want to sit here and name everything I learned over the period of the last 5 months, but I can confidently say that this project really taught me how much work goes into everyday software and how to actually develop and maintain a project professionally. The future of rasterminal The whole project is very far from done. You can see that from the latest release version: v0.1.0-alpha.2. I’ve got a lot of work to do and I’ve roughly got the major landmarks mapped out. Main things I definitely want to change/add at some point before v1 are: Add animation support (currently can only render still meshes) Complete the renderer (complete support for basically every feature of every format that makes sense to support) Add optional GPU acceleration (after I’m satisfied with everything else) Hardware / OS support Supports every major OS (Windows, Linux, MacOS, and any other POSIX-based OS, so practically everything), and every CPU that I could think of (any architecture, 32 or 64bit). You would have to actually try a to find a platform that it doesn’t support (most of the unsupported hardware are big-endian systems, which are basically phased out completely). This is one of the main goals of the project, so (almost) any modern machine with a terminal can run it. Special thanks Special thanks to anyone who followed, liked, helped, or otherwise supported the project in any way. I wouldn’t have had the motivation to push it this far if it wasn’t for you guys.", "repo": "https://github.com/PavolUlicny/rasterminal", "demo": "https://github.com/PavolUlicny/rasterminal/releases/tag/v0.1.0-alpha.2"}]...
|
[{"post_id": 70278, "ts": "202 [{"post_id": 70278, "ts": "2026-09-18T21:10:51Z", "hours": 6.11, "text": "Code quality and CI improvements Finally did the long overdue main loop refactor. The main loop is now way shorter, more readable and more testable. I just split off some of the main loop’s work into it’s own modules, which made them way better looking and also, since they are now standalone modules, actually testable. A big win for repo structure. In the process, I also replaced the input handling’s long if chain that made each character do it’s job with a switch statement. It’s more readable and theoretically faster, although since I compile it with -O3, it probably made no difference or an unnoticeable one at best. I also finally fixed the super long CI times. Until now, CI used to take ~50 minutes (depending on how fast the GitHub runner was) because of cppcheck. Everything else finished in under 10 minutes, but cppcheck stalled it for an hour. It was stalling in mesh_assimp.cpp (the assimp wrapper) for most of it’s runtime. I always thought it was because assimp is a very large library. So I experimented with it a little. I included everything I include in the wrapper into a test file with a little code and ran cppcheck on that. It finished in less than 10 seconds. Eventually, I found out it was somehow taking that long because the main loader function was too long and handled too much by itself. So i just refactored it into 3 separate functions, without changing the behavior at all. Somehow, I still don’t get why, it reduced the whole cppcheck run to 9 minutes. a more than 5x improvement, just because I split a function into more functions. I’m not complaining, but it’s definitely weird. CI is now way faster and adding new things is gonna be way smoother now."}, {"post_id": 68728, "ts": "2026-09-15T17:06:41Z", "hours": 6.6975, "text": "Miscellaneous fixes and improvements Fixed two races in platform code (one MacOS, one Windows) Removed build flags that disabled some compiler security hardening at the cost of a little performance Fixed the test framework to not freak out on NaN in near assertions Improved thread launching and handling in loaders and renderer So overall just boring fixes and improvements, nothing special."}, {"post_id": 66825, "ts": "2026-09-12T18:42:57Z", "hours": 8.5847, "text": "Refactored the platform layer The whole platform layer was just one file until now. Since I did a lot of work on it recently, it grew to over 2400 lines of code. It was super confusing and disorienting. So I decided to refactor it (split it) into 8 files, based on what they handle: console.h - saving/restoring terminal state control.h - termination signal handling file.h - file operations (64bit) input_reader.h - handling input (not parsing, that is it’s own file) shared_memory.h - shared memory handling for the kitty protocol terminal_io.h - writes output to the terminal terminal_query.h - querying the terminal for things like graphics capability, etc. timing.h - frame timing and sleeps"}, {"post_id": 64252, "ts": "2026-09-08T14:55:07Z", "hours": 2.3467, "text": "Last pre-release checks and cleanup I’m finally ready to release v0.1.0-alpha.2. Only notable thing I changed here is that I changed the default thread count: It now defaults to hardware concurrency everywhere. Other than that, I of course did final documentation checks and fixes and now I’m just waiting for CI to pass so I can tag it and let the release workflow do the last step. So this is hopefully the last devlog before my ship!"}, {"post_id": 63837, "ts": "2026-09-07T20:19:19Z", "hours": 10.4164, "text": "Did some polish and cleanup of the platform layer Did final polish and cleanup of the platform layer since I want to actually finally cut a release relatively soon and I just did a lot of work there. Fixed things like useless tests, outdated or wrong comments and some platform specific quirks. Probably actually gonna cut a release soon (this time for real). Also added early rejections for BVH and CSM files, since they contain no model geometry (they can’t currently be displayed at all) and documented the change. The code is basically done (hopefully, I really don’t want to find another big gap that’s gonna take a week to close), I just want to correct anything wrong in the README, changelog, manpage or help menu and maybe make them look a little better before cutting a release and shipping."}, {"post_id": 62122, "ts": "2026-09-05T11:43:50Z", "hours": 9.5678, "text": "Working on SIGSTOP and SIGCONT handling SIGSTOP and SIGCONT are POSIX signals for stopping and resuming a running process. I’m working on adding handling for these, so you can safely pause and unpause rasterminal at any time. This is a lot of work, since until now, we just set up the terminal on program start and cleaned up when the program exited. There’s a lot of quirks and weird scenarios that I have to handle, for example if another signal gets sent while cleaning up the terminal for SIGSTOP. I’m trying to catch as many edge cases by just doing random things while using the program and also with the help of AI to come up with potentially uncaught scenarios."}, {"post_id": 59763, "ts": "2026-09-01T18:10:34Z", "hours": 4.3639, "text": "Added handling for SIGINT, SIGTERM, SIGQUIT and SIGHUP I don’t really have much to say here, I just added the full per-spec handling for all these. Only remaining POSIX-only gap is now SIGSTOP/SIGCONT (stop/resume process). I’m also starting school now, so I’ll be working on this less."}, {"post_id": 58964, "ts": "2026-08-31T15:12:04Z", "hours": 3.8394, "text": "Fully fixed and merged the first POSIX cleanup item Well, would you look at that! That took significantly less time than the Windows fix. It is partly because it was a smaller fix and only part whole POSIX fix, while the Windows one was the whole thing and also the foundation had already been laid out from the Windows work and I just integrated the POSIX path into that, but it is also very much because Microsoft is a horrible, terrible company that can’t make good software. I mean, look at GitHub, they have been going downhill ever since they got acquired by Microsoft. Now that I got that out of my system, here’s what was fixed: If the program cannot enable raw mode at startup, it safely fails instead of continuing and corrupting the terminal state If the cleanup gets interrupted, it retries cleanup so it doesn’t leave the terminal state corrupted after one failed attempt Onto the next POSIX fix: handling SIGQUIT and SIGHUP."}, {"post_id": 58269, "ts": "2026-08-30T17:14:59Z", "hours": 8.6936, "text": "Merged the full Windows console restoration branch My nightmare is over. I hopefully won’t have to deal with Windows for a while now. Summary of what is now fixed/handled on Windows: Ctrl+C, Ctrl+Break and Q exits fully recover the terminal’s state Ctrl+C and Ctrl+Break don’t leak mouse escape sequences into the next prompt if you terminate while actively dragging a model A bunch of other minor Windows or cmd.exe specific quirks Only thing that isn’t handled (didn’t find a good way to handle it) is task manager “end process”. It kills the program without cleaning up and sometimes freezes the shell."}, {"post_id": 56881, "ts": "2026-08-28T21:26:16Z", "hours": 9.6883, "text": "I HATE WINDOWS Windows just doesn’t work. It doesn’t work. Nothing works on Windows. Everything breaks. I don’t get it. THE UNIT TESTS PASS ON WINDOWS CI BUT WHEN I ACTUALLY RUN THE TESTS ON WINDOWS IT FAILS????? HOW IS THAT EVEN POSSIBLE. The release is now definitely getting delayed by at least a week because I keep running into more and more and more and more and more and more and more and more and more issues. I hate Windows. Microslop is the only company that could mess up a basic terminal emulator. And I also have to reboot my PC every time I fix something and push it and then reboot to get back to linux. this is torture. At one point I tried to do it on a Windows VM on linux but that was too slow so I just gave up."}, {"post_id": 55585, "ts": "2026-08-27T15:06:53Z", "hours": 8.8714, "text": "Found a bunch of terminal cleanup gaps Most of them are Windows or cmd.exe specific (nothing ever works on Windows), but some are present on POSIX too. The Windows specific ones are: cmd.exe for some unknown reason doesn’t turn off the raw input sequences, so arrow keys don’t work like they should, even though I explicitly turn it off (????????) (I hate Windows, they always have to do something unexplainable for no reason just so your code doesn’t work as it should) when you terminate the program with ctrl+c or ctrl+break while actively dragging the model around, it sometimes leaks mouse escape sequences into the next prompt bunch of other weird small stuff that nobody cares about And the few on POSIX are mostly ctrl+z suspend/resume behaviour not recovering the terminal and the same thing with ctrl+\\ (SIGQUIT). I’m still working on fixing these. Most of the windows ones are already fixed, but I haven’t even started with the linux/POSIX ones. I have postponed the planned release to when I fix these + any other issues I find."}, {"post_id": 54695, "ts": "2026-08-25T19:14:01Z", "hours": 10.7308, "text": "Cutting a release The repo is in a pretty complete and polished state, so I’ll cut a release here. This will also probably be the last release before I ship, so I’m making sure that nothing is broken and everything works on every platform. I’ve still got a lot of work to do though, even after the end of stardance, like animations, glTF PBR, format completeness for every format, GPU acceleration, etc."}, {"post_id": 53861, "ts": "2026-08-24T15:48:08Z", "hours": 10.9639, "text": "Merged the full assimp integration into main I really don’t have much to say here, I’ve already put all the info about the branch into the past devlogs. All the formats work and the wrapper is very sturdy. I’ve found more bugs in assimp itself than my code (devlog on that soon). So, rasterminal can now load basically any 3D model you throw at it. Some of the formats assimp supports are so niche, I’ve never even heard of them."}, {"post_id": 53278, "ts": "2026-08-23T18:46:58Z", "hours": 13.1411, "text": "Fuzzing my assimp wrapper I’m trying a bunch of hand-crafted models from all the formats that I can load and trying to find things that dont load or render properly. Also had AI write me a simple fuzzer in python and I’m just letting it run for a few hours. Also auditing the assimp loader paths against my wrapper to find any format specific behaviour that should be handled. I’ve already found a bunch of things and I’m still finding more. Assimp has a lot of weird quirks and issues that I keep running into. Honestly kinda regretting the decision to integrate it, but since I’m already so deep in, I’ll just keep going."}, {"post_id": 52574, "ts": "2026-08-22T19:13:37Z", "hours": 11.0969, "text": "Still working on the assimp intgration Currently trying various models from all the different model formats that assimp loads. So far found a segfault, some weird behavior and integration mistakes that I made. Also found a small bug in assimp itself, for which I’ve submitted the PR with the fix to their GitHub repo. For anyone interested, here’s the PR: https://github.com/assimp/assimp/pull/6799"}, {"post_id": 51884, "ts": "2026-08-21T19:41:32Z", "hours": 6.9825, "text": "Working on assimp integration Yop, I’m adding the Open Asset Import Library as a fallback for any model formats that aren’t natively supported with their own dedicated loader (only ones with dedicated loaders are glTF2, PLY, STL and OBJ). I’m still keeping the dedicated loaders, because they are more feature-complete, to-spec and wayyy faster (especially the glTF one). I added it because I feel like for a 3D model viewer, support for many formats, even niche and obscure ones, is pretty important, even though nobody might use them. This roughly doubled compile time and almost quadrupled binary size, which also made CI take way longer (of course). It somehow made the MacOS runners take 50 minutes to compile (from the previous 3 minutes), but I fixed that by bounding the number of processes CMake can spawn to the number of threads on the runner (previously was using -j which spawns as many as it wants and it was spawning about 230 of them). I’m still testing how it handles various model formats and trying to find any reachable segfaults."}, {"post_id": 51275, "ts": "2026-08-20T20:14:42Z", "hours": 6.7119, "text": "Cleanup and restructuring changes After I just merged three big feature branches (kitty and sixel graphics protocols and the high-res performance branch), I needed to do some overdue cleanup and refactoring. And so I did: Collapsed the super long changelog entries into way more readable and legible points Restructured the src directory into multiple subdirectories because it had like 50 files already Sadly completely removed the Make build system, so now you can only build with CMake (CMake is very much evil and even more evil but it’s the only one of the two that supports windows and I was tired of managing two build systems) Removed the –graphics-scale flag, so now everything renders at native resolution And some small docs and comment cleanup"}, {"post_id": 50683, "ts": "2026-08-20T00:07:13Z", "hours": 12.3297, "text": "Finally merging the performance branch It’s finally time to merge the performance branch. I basically redesigned the whole renderer and rasterizer around high resolution workloads, where it would still choose the old high-poly paths where they were faster. Even snuck in some SSE2 SIMD code (picture), although I will probably be switching to a dispatch SIMD library like Google’s Highway. Not entirely sure it will be Highway or even if I will do that yet, that depends on the code complexity and before/after benchmarks."}, {"post_id": 49184, "ts": "2026-08-17T20:28:00Z", "hours": 14.5689, "text": "Still optimizing… Spent the first ~7 hours trying to find microoptimizations and each one was either a wash or worse somehow. The compiler works in mysterious ways. At some point, I just gave up and let Claude have a go at the optimizing. Surprisingly it actually came up with a lot of interesting optimization techniques and solutions that I definitely couldn’t have come up with on my own. But it found so much, that the whole diff adds 5k lines of code. So now I’ll be cleaning up, testing, and maybe further optimizing that diff…"}, {"post_id": 48227, "ts": "2026-08-16T15:09:59Z", "hours": 3.5944, "text": "My reported bug in libtermkey has been fixed in the newest version Just got an email from one of the maintainers that the crash bug i reported a month ago was fixed in the new release. libtermkey is a terminal input parsing library that I considered using and found a crash bug in. The bug was already fixed in neovim’s fork of the library, so i just pointed the maintainers at that fix. For anybody interested, here’s the issue link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891"}, {"post_id": 48078, "ts": "2026-08-16T11:20:07Z", "hours": 11.47, "text": "Working on improving performance With the addition of the high-res protocols, the target resolutions quickly went from hundreds or thousands of pixels to millions. So I now desperately need to improve performance. So far it’s looking promising: A whole model covering the camera 6 moving at 4k went from about 8 fps to 20-30 fps. Not ideal yet, but I think we’re on the right track. Super dense meshes (more than 2 million polygons) improved 2-3x Meshes with transparent parts improved about 2x While these wins may seem really big (they kinda are), the jump in resolutions still means they are barely usable interactively. I do want to add gpu acceleration later (with the cpu path as a fallback), but until then I want to make it as fast as I possibly can."}, {"post_id": 47112, "ts": "2026-08-14T19:18:15Z", "hours": 9.0333, "text": "Fully merged sixel Fully merged the sixel protocol implementation. Works on all platforms everywhere that supports it. So now both high-res terminal protocols done. Moving onto other minor things and especially performance."}, {"post_id": 46486, "ts": "2026-08-13T18:38:49Z", "hours": 10.6753, "text": "Working on adding full Sixel support Working on adding support for the other mainstream terminal pixel protocol of the main two - Sixel. Already did fully implemented the kitty protocol last time, so once I’m done with this one, I’ll be done with terminal protocols (at least for the near future, hopefully). There are some other ones like the iterm2 protocol, but that one’s pretty rare and I won’t add it unless I really don’t have anything better to do. It’s basically done, just need to polish it and test it on a bunch of terminals and operating systems to make sure everything works before merging."}, {"post_id": 44676, "ts": "2026-08-10T16:23:20Z", "hours": 4.0767, "text": "Fully merged and done with Kitty Finally completed the kitty protocol implementation. It is kinda slow, since the resolution is so much bigger, so I will try to optimize the high-res performance even more. So now the next two big milestones are: Add Sixel on top of kitty, that’ll be a lot of work Optimize the rasterizer even more I was thinking of maybe adding gpu rendering as an option for super large meshes or high-res scenarios, but idk. I’ll definetly keep the pure cpu renderer for computers without gpus, but I’m not sure about a gpu implementation. It would be hard to do, less portable and it might not even work that well."}, {"post_id": 44513, "ts": "2026-08-10T09:59:08Z", "hours": 6.8483, "text": "Found a bug in Ghostty’s kitty protocol handling Ghostty is a modern and fast terminal emulator that i personally use. While testing the kitty protocol feature in rasterminal, I found a Ghostty bug that lagged my whole computer after a few minutes. I tested it in Kitty (terminal emulator) and there it worked fine. I looked at Ghostty’s code vs Kitty’s, found the bug and reported it to the Ghostty maintainers. Mitchell himself (the creator) fixed it in like 2 hours. Honestly I’m kinda sad I didn’t get to become a contributor and fix the bug, but since it was a small fix and I already described it in the issue, I get why Mitchell just fixed it in main. Here’s the full issue: https://github.com/ghostty-org/ghostty/discussions/13719"}, {"post_id": 43513, "ts": "2026-08-08T20:35:37Z", "hours": 7.6361, "text": "Working on adding support for the Kitty protocol Some modern terminals like Kitty and Ghostty have support for the Kitty protocol. It’s a feature that allows you to display high resolution content like images and videos in the terminal without it looking super pixelated. There’s also the Sixel protocol, which is basically the same thing but a little worse and more widely supported (even Windows terminal has it). I’ll add Sixel after i merge Kitty to main. It is very clearly a worthwhile feature and I have been planning to add it from the start of the project. Today I finally decided that it’s time. Most of the work is already done on the branch and i’m just polishing out the bugs and issues before I merge. In the photos, you can see the comparison between using just the block characters and using Kitty. It is a night and day difference. Although the performance isn’t great at that high of a resolution, but I’m still working on optimizing that."}, {"post_id": 42752, "ts": "2026-08-07T17:00:51Z", "hours": 3.5125, "text": "Minor comment cleanup Just did some comment cleanup: Deleted redundant comments and why comments Removed separator comments Compressed or rewrote some really long comments (without removing the info they give)"}, {"post_id": 42161, "ts": "2026-08-06T19:24:06Z", "hours": 8.2153, "text": "Added issue templates + contributing documentation Added templates and a config for submitting GitHub issues, for both bug reports and feature requests. Also added a CONTRIBUTING.md for clear instructions on how to make, structure and audit code contributions. (tests, linters, formatting, etc.) I tried to make some optimizations to the renderer by auditing the compiler generated assembly and looking for inefficiencies, but everything i tried turned out to actually hurt performance. And GitHub actions decided to have a major outage right when i pushed the commits, so that’s awesome"}, {"post_id": 39599, "ts": "2026-08-02T18:05:04Z", "hours": 7.4436, "text": "Completely redesigned and rewrote the HUD The HUD used to be just a single line at the bottom of the screen aligned to the left. It looked pretty bad, but it did tell the user everything they needed to know. [picture 1] First, I added model name sanitization, so models with control bytes like newline ( \\n ), line feed or other symbols like emojis can’t break the whole program when trying to display them in the HUD. Then, I completely redesigned the whole HUD to look better and be more robust, while still telling the user everything they need to know. I went with this design [picture 2]: On the left, you only have the model name. In the middle, first you have the current shading mode (highlighted in cyan), then the lighting mode in plain white and then the background color in gray. All three middle indicators are separated with a dot and are different colors, so nobody can confuse them. On the right, there’s 3 boolean indicators: spin (if the model spin is on), backface cull (if it’s currently culling backfaces) and texture (if it’s showing the texture, isn’t there at all on models without a texture). They are gray if inactive and cyan if active. The last thing on the right is just the fps number. There can also be optional indicators: Wireframe color (in the middle, after the shading mode) which only shows up in wireframe mode. [picture 3] First person speed multiplier (on the right, between the bools and the fps number) which shows up only in first person mode. [picture 4] I also made each “island” cleanly disappear when the terminal’s width is too low instead of just slowly getting cut off letter by letter. I think this design looks better, less cluttered and is pretty easy to understand at a glance. I would very much appreciate a star on GitHub!"}, {"post_id": 38478, "ts": "2026-07-31T21:36:35Z", "hours": 7.7572, "text": "Did a smaller fix and added a pretty big feature First, let’s talk about the small fix: I Fixed a super long model name showing up in the HUD in it’s full length, often blocking out other HUD elements. Previously, the HUD would display a model name of any length. Now there’s a hard cap of 24 chars, with any name longer than that truncated (middle style truncation) to fit into that limit. And now the big feature: Added a first person noclip-style camera mode. It’s accessed with the –first-person flag and let’s you explore the model as a floating camera (not bound like the default orbit camera). It was honestly easier to implement than I thought it would be. With it, I added two new keybinds special to the first person mode - E and V for going up and down. They don’t do nothing in orbit mode. Also added a second –first-person-speed flag for controlling the initial movement speed. It is also controllable during runtime with scrolling or +/- (I didn’t know what to bind these to in this mode since you can’t zoom like in orbit mode and this was the only place where they fit). In the photos, you can see some angles taken in the first person mode that weren’t possible in the default orbit mode."}, {"post_id": 37806, "ts": "2026-07-30T19:08:29Z", "hours": 2.7436, "text": "Finally committed and pushed the input rework Tested it on both linux and windows and everything seems to work. No inputs interpreted as other inputs, all edge cases handled, just works. Finally can move onto other things."}, {"post_id": 37656, "ts": "2026-07-30T15:25:21Z", "hours": 9.285, "text": "Still working on the input parsing system It is very hard and I keep finding bugs and reasons to redesign it. I’m in pain. I do think I’m getting closer to the final robust design."}, {"post_id": 36697, "ts": "2026-07-28T22:28:53Z", "hours": 9.9361, "text": "Working on completely rewriting the current input parsing handling The current input handling is subpar at best; it interprets a lot of random keys as escape, which currently quits the program (This will also be changed to Q and Ctrl+C only. Kind of a no-brainer since this is the more standard choice for TUIs - for example btop - and it also means I don’t have to deal with the headache of distinguishing function keys and others from escape) and has a lot of other quirky behavior that needs fixing. I’ll also try to improve robustness against malformed input like a leaky SSH session. There are a lot of various edge cases and situations where you have no way to distinguish real input from malformed input. This is all a very major pain in the ass. And I thought figuring out the raw mode output would be the hard part. And after all this, I’ll end up with way less attention than strictly slower, less robust competitors, just because they already have an audience from other projects. I bet nobody will even read this. I’m basically talking to myself right now. Or maybe, just to spite me, the algorithm will push this more than my other devlogs."}, {"post_id": 35924, "ts": "2026-07-27T17:55:43Z", "hours": 8.7953, "text": "So, i found two memory bugs in a widely used terminal input library I was researching terminal input libraries to use for this project because my current approach was so buggy that it wasn’t worth fixing. Both of them are memory bugs in the libtermkey library. There are forks of the lib with this fixed, but since many projects still rely on this lib, i submitted them anyways. I’ve also confirmed that the bug is present on my machine on Ubuntu 24.04 LTS on Neovim, because it links the vulnerable shared library. I didn’t mark them as CVEs (hopefully that isn’t a problem). If anyone want’s to look at the bug reports, they are at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891 and https://bugs.launchpad.net/ubuntu/+source/libtermkey/+bug/2161916"}, {"post_id": 33607, "ts": "2026-07-23T17:38:48Z", "hours": 4.5575, "text": "Added more CLI flags for startup customizability Added flags to set the camera pitch, yaw and zoom on startup. Now every runtime-settable variable can be set during startup through the CLI. The R button now resets the state to the CLI set state, not to factory defaults."}, {"post_id": 32607, "ts": "2026-07-21T21:48:11Z", "hours": 4.4442, "text": "Added –spin-speed and –spin-direction flags Added CLI flags for the spin speed and direction. The speed is in deg/s and the directions is simply left or right. Here’s what 1000 deg/s looks like spinning to the right:"}, {"post_id": 30923, "ts": "2026-07-18T22:17:24Z", "hours": 8.6892, "text": "Did a bunch of small code quality and usability improvements Fixed a Windows bug that crashed the program on model sizes bigger than 2GB, improved the orbit usability (fixed mouse drag behavior when models are turned upside down), and did a few cleanups and fixes in the CLI parsing. I’m planning on adding a few CLI flags that I think can be very useful for some people, specifically better spin settings, starting camera angle/zoom control and a few more."}, {"post_id": 29772, "ts": "2026-07-16T21:27:23Z", "hours": 0.7175, "text": "Finally merged color-fallback, I can move onto other things The branch is finally merged. I’ve accumulated a bunch of usability and code quirks and issues that i can finally get to now that the branch is merged. So now I’ll be reworking all the CLI flags, camera and other components. And we also passed the 700 commit mark with this merge!"}, {"post_id": 29484, "ts": "2026-07-16T13:40:29Z", "hours": 4.9444, "text": "Changed the 24bit to 256 color palette conversion logic Until now, the conversion picked the closest color possible mathematically. But from testing on a bunch of different models, I’ve realized that it doesn’t actually look very close to the human eye. So I swapped it out for a different method, called CIELAB distance. Now it still doesn’t look perfect, but as a fallback for older terminals it’s close enough."}, {"post_id": 28408, "ts": "2026-07-14T17:26:16Z", "hours": 9.2258, "text": "Working on a –color compatibility flag The color terminal compatibility thing I was working on has landed in the branch, now I’m adding a –color flag to override the automatic capability detection for situations like ssh, where we almost always degrade to the 256 color pallete for maximum compatibility. So now you’re gonna be able to use the right color mode even if the automatic detection is wrong for your situation."}, {"post_id": 27302, "ts": "2026-07-12T19:23:17Z", "hours": 10.3522, "text": "Working on terminal color capability detection I am adding automatic terminal capability detection, meaning that rasterminal will get the terminal type and either refuse to render on super old or “dumb” terminals, degrade on some terminals and render normally on modern ones."}, {"post_id": 24314, "ts": "2026-07-07T20:18:01Z", "hours": 5.1908, "text": "Working on adding 256 color support Some older terminals can’t display full 24bit RGB colors and use a 256 color palette instead. I’m adding a fallback so the older terminals can still use rasterminal. It still calculates the full old RGB colors, but then just maps them to the nearest 256 color with LUTs. On a side note, I switched my terminal emulator from Kitty to Ghostty."}, {"post_id": 23070, "ts": "2026-07-05T20:10:12Z", "hours": 10.4403, "text": "Working on portability Did a bunch of small fixes and improvements in the last ~week. Right now I’m on vacation for the next couple of days, so I won’t be active. I am currently working on broader terminal and platform support, so older systems and terminals will be able to run cleanly with some fallbacks or will fail loud with a clear message about what isn’t supported."}, {"post_id": 19371, "ts": "2026-06-30T17:34:50Z", "hours": 5.1925, "text": "Completely removed the shadow map Before, rasterminal built a shadow map on model load and displayed it during runtime. I now completely removed it, because it was slower during load, slower during runtime, sometimes looked broken on curved surfaces and added essentially no value. Here, the first picture is with the shadow map and the second is without."}, {"post_id": 18685, "ts": "2026-06-29T21:27:29Z", "hours": 13.4722, "text": "Wasted 7 hours of my life Did a bunch of smaller cleanups and fixes, and then I tried to template the unlit and lit paths in the rasterize_flat function, which turned out to be a performance regression. Awesome."}, {"post_id": 17021, "ts": "2026-06-27T17:00:39Z", "hours": 5.7733, "text": "Added a release workflow, manpage and changelog I added a github release workflow that works alongside the changelog and released the first pre-release version: v0.1.0-alpha.1 Also added a manpage and an install target to make and cmake that installs the binary, docs and manpage into the path."}, {"post_id": 16313, "ts": "2026-06-26T15:28:43Z", "hours": 5.1883, "text": "Pararelized the wireframe shading mode I did a bunch of small things alongside it, but the main feature for this devlog is the pararelization of the wireframe shading mode. It was previously fully single threaded, but it wasn’t that hard to pararelize, i just had to make the function it used to write into the framebuffer (draw_line) CAS atomic, to avoid race conditions. Now wireframe is the fastest shading mode in basically all scenarios. Below, you can see a performance benchmark (built into rasterminal using a flag) with wireframe mode on a super dense mesh and how the wireframe mode looks like (you can also cycle the colors)."}, {"post_id": 15932, "ts": "2026-06-25T21:35:36Z", "hours": 1.9053, "text": "Split the tests into sub-directories The test suite is now very long (20k LOC across 47 files), so i decided to split it into sub-directories instead of just having 47 files in one flat dir. It’s cleaner, more maintainable and looks better."}, {"post_id": 15741, "ts": "2026-06-25T16:48:43Z", "hours": 4.9903, "text": "Completely removed gouraud shading mode Gouraud was previously the main shading mode, but now I’ve just completely removed it. It was by far the slowest, while not adding any actual value to the project. Blinn-phong lighting is faster AND it supports more features (normal maps, etc.), so there was just no point in keeping gouraud. Now that I’ve removed it, the project has less code to maintain and a faster default shading mode with more features."}, {"post_id": 15551, "ts": "2026-06-25T08:50:38Z", "hours": 3.7597, "text": "Added proper OBJ bump map support OBJ bump maps are textures for simulating bumps and wrinkles on models. Blender used to author bump maps as normal maps for some reason, so I made it automatically detect if it’s a normal map disguised as a bump map and handle it well, since there are a lot of old Blender OBJ models in the wild. But it also handles bump maps as bump maps normally, so it’s basically the best of both worlds."}, {"post_id": 15117, "ts": "2026-06-24T15:43:58Z", "hours": 6.87, "text": "Added texture transform into the TEXCOORD branch and merged it into main Not that hard, just read it, pass it to the rasterizer and then display it. I did have a very sneaky bug in the loader that made the whole feature render wrong, where I just had to negate one value to fully fix it, but now everything fully works. Below you can see the Khronos test asset for texture transforms. (tick means fully working, clearcoat is not yet implemented so it doesn’t show as working)"}, {"post_id": 13839, "ts": "2026-06-22T17:59:12Z", "hours": 5.2097, "text": "Added TEXCOORD_1 support glTF sometimes authors a second TEXCOORD set (first one is TEXCOORD_0, 0 indexed numbering). The official spec only requires support for the first two TEXCOORD sets, even though there can theoretically be any number of them in a model. That said, major model exporters don’t author any more than the two sets, so to avoid extra work, I only added support for 0 and 1. (not merged into main yet, I want to polish it a little and maybe add KHR_texture_transform support on top of it first)"}, {"post_id": 12798, "ts": "2026-06-20T22:37:18Z", "hours": 7.6314, "text": "Optimized the transparent cleanup path in the renderer After rendering the model in the transparent path, we have to resolve the transparent pixels, which basically just pastes in the pixels behind it and sometimes tints it based on how dark and what color the transparent material is (tinted glass will make the things behind it darker, normal glass will be mostly completely untinted). Before, the resolve function looped over every single pixel in the frame, even non-transparent and background ones. This is obviously wasteful. So I made it find the smallest box, in which all the transparent pixels of the whole frame fit and just looped over that. It recovered the overhead of the transparent resolve on models with smaller transparent parts, but it also made fully transparent or mostly transparent models slightly slower (it still basically loops over almost the whole screen on these types of models, so keeping track of the smallest bounding box while also still doing the same work as before made it a little slower). But the performance benefits for the average model outweighed the losses on rare fully transparent models. In the image, you can see the benchmark results versus the baseline."}, {"post_id": 12171, "ts": "2026-06-19T21:42:34Z", "hours": 6.6653, "text": "Made the shading mode branches compile time instead of runtime in the renderer with templates Did the same template if constexpr (compile time if branches) thing that we already do for opaque/transparent models with the shading mode (was a runtime per triangle if branch before), which improved performance. It basically just makes a new copy of the function for each shading mode x each transparency mode, so 4x2 which is 8 slightly different functions and uses the correct one on each call. That increases binary size and icache pressure, but drops per triangle or per pixel if branches that hurt performance, so it’s an overall performance win. Benchmarked across a ton of different resolutions, models, shading modes, etc. (the benchmark by itself took like 2 hours to run)"}, {"post_id": 10115, "ts": "2026-06-16T18:24:38Z", "hours": 4.0297, "text": "Added support for wrap modes for textures Only in glTF and OBJ models (the only ones that support it) and verified with the Khronos group sample assets model. Also added PLY texture support."}, {"post_id": 9453, "ts": "2026-06-15T20:20:25Z", "hours": 4.6839, "text": "Working on adding supersampling anti-aliasing Still a work in progress and I might not merge it into main, because it’s a lot of work for not that much benefit. I have to catch a lot of bad_allocs and things like that for super large SSAA sizes, which is really annoying and can affect performance. SSAA works by rendering at a higher resolution and then downscaling for better edges (makes edges smooth and fade-in instead of jagged) Picture with 2x SSAA and without SSAA:"}, {"post_id": 8652, "ts": "2026-06-14T11:36:32Z", "hours": 5.2058, "text": "Adapted the arg parsing and CLI behaviour to the GNU standard Now, rasterminal’s CLI behaves under the GNU CLI standards, so on par with most linux tools."}, {"post_id": 8162, "ts": "2026-06-13T16:37:29Z", "hours": 2.8394, "text": "Added deduplicating vertices to the stl loader. After two unsuccessful and unmerged branches, I finally did something useful on main. I used to deduplicate the vertices in stl_reader and then reduplicate them in the loader. But now, we just dedup in stl_reader and use those. That also allowed me to enable ambient occlusion, which was disabled for stl before. And now crease smoothing fully works too. And it’s faster (runtime wise, load time is slower because of ambient occlusion and crease smoothing that weren’t there before). So an all-round very positive change, and also an end to my non-merging dry spell."}, {"post_id": 7990, "ts": "2026-06-13T10:20:35Z", "hours": 2.4908, "text": "Replaced tinyobjloader with rapidobj for way faster obj parsing But after actually replacing it and integrating it into the source code, i realized it’s not worth it, because rapidobj just has too many downsides and isn’t very actively supported anymore. For example, it doesn’t support multiple mtl files, which is against the spec. So if i want to keep it spec compliant, I need to find a workaround for it, which just isn’t worth the speed increase of rapidobj, even if it’s like 4x faster (from my testing on a large obj) The graph is from this article: https://aras-p.info/blog/2022/05/14/comparing-obj-parse-libraries/"}, {"post_id": 7643, "ts": "2026-06-12T19:26:54Z", "hours": 8.7975, "text": "I tried to rewrite the STL loader from scratch for more performance But it’s taking super long and I’m way too bored with it, so I think I’ll just abandon the branch and work on something else."}, {"post_id": 6791, "ts": "2026-06-11T11:35:25Z", "hours": 3.6575, "text": "Added full native 32 bit support for all platforms Didn’t have to redesign any of the source code (thankfully), just some warning suppressing and fixing some static casts. Also added a CI job that’ll flag future 32 bit compatibility regressions."}, {"post_id": 5755, "ts": "2026-06-09T17:34:17Z", "hours": 4.1133, "text": "Transparency is fully done and merged. Did some polish, cleanup and optimization on the transparency branch and successfully merged into main."}, {"post_id": 4897, "ts": "2026-06-08T13:53:56Z", "hours": 3.2906, "text": "Transparency is basically done, with caveats. Transparency works correctly, but transmission , which is completely different, is simplified to transparency. So for spec-complete gltf, I would need to implement the whole transmission pipeline, which I’m way too lazy to do right now. So for now, we just simplify it to transparency and call it a day."}, {"post_id": 4320, "ts": "2026-06-07T16:09:10Z", "hours": 6.2586, "text": "Working on adding transparency support. For that, I have to completely rework the rendering loop and the rasterizers, so basically the whole core of the project. It’s going very badly. And since performance is a big factor here, I’m going for a template approach so the transparency overhead doesn’t affect non-transparent meshes."}, {"post_id": 3846, "ts": "2026-06-06T22:11:48Z", "hours": 3.5269, "text": "I did a hot-loop performance cleanup run, because the hot loops were getting slower with new features, and I found a big optimization opportunity in clip-near call sites: clip_near slices off the part of a triangle that pokes behind the camera’s near plane, but almost every triangle is fully in front of it with nothing to clip. The pipeline still called it for all of them, and in the compiled binary that common case just copied all three vertices to memory and back, millions of times a frame. The fix was to check inline whether the triangle is fully in front and skip the call entirely if so. Result on a 2.77M-triangle model: median frame time dropped from 21.1 ms to 19.2 ms, about 8.7% faster."}, {"post_id": 3572, "ts": "2026-06-06T15:51:49Z", "hours": 2.4386, "text": "Because of all the libraries I added, the binary size increased significantly. I don’t use most of the vendored code, so I added build flags to ignore unused code in the final binary. Other than that, I added some other performance flags and also a CMakePresets.txt. It took longer than it should’ve, because I tested and benchmarked a bunch of other configs and flags. I put off PGO for now."}, {"post_id": 2939, "ts": "2026-06-05T20:55:20Z", "hours": 3.9267, "text": "I wired in Webp image format support by vendoring in google’s libwebp decoding library. It wasn’t that hard to wire into the source code, the hard part was the vendoring, dealing with licenses and professional vendoring practices. Only thing that remains to add for full gltf extension support is avif image support, but I’ll do that later."}, {"post_id": 2739, "ts": "2026-06-05T14:38:57Z", "hours": 1.3417, "text": "I just added unlit material support, which means materials that are supposed to stay intentionally unaffected by lighting render correctly. Pretty straightforward change, just read it at load time and then check if that material is unlit during the lighting pass and skip it."}, {"post_id": 2631, "ts": "2026-06-05T08:21:00Z", "hours": 3.3225, "text": "Reworked the whole readme with better instructions, screenshots and a gif. The gif was super annoying to polish, because i used asciinema which records all the setup escape sequences so there were gaps at the start and end that i had to manually read and remove. And I also had to perfectly close it exactly when it did one full rotation and that took like an hour to perfect. At least now I don’t have to touch the readme for a while."}, {"post_id": 2311, "ts": "2026-06-04T18:46:14Z", "hours": 3.1892, "text": "Well, I tried to refactor the main rendering loop for like the third time, because it’s horrifyingly indented, but it has defeated me once again. At this point, I’m confident that it’s impossible to do without a noticeable drop in performance, or g++ is just ragebaiting me. I installed a rainbow indentation neovim plugin just to show the absurdity of this."}, {"post_id": 386, "ts": "2026-06-01T18:58:14Z", "hours": 0.6783, "text": "I just implemented KTX2 and Basis texture support, which are special compressed texture formats. So now any models with these textures are viewable in rasterminal."}, {"post_id": 359, "ts": "2026-06-01T17:59:06Z", "hours": 4.5428, "text": "Hey everyone, I want to introduce my project! rasterminal is a full software 3D rasterizer and model viewer that runs entirely in your terminal. The whole rendering pipeline is implemented from scratch. I only rely on third-party libraries for load-time things like 3D model parsing, image parsing, and decompression. It doesn’t touch the GPU at all, running purely on the CPU. That makes it completely safe for SSH usage, though it does come with a performance cost. I use multithreading to recover some of what’s lost, and the result is still significantly faster than any other terminal 3D viewer I’ve come across. Right now I’m focused on broader 3D format feature support and transparent material rendering. If you want to try it out, I’d love to hear what you think, feedback and issues are very welcome over on GitHub. https://github.com/PavolUlicny/rasterminal Thanks for any support! 🙏"}]...
|
Title: rasterminal by @PavolUlicny | Stardance
De Title: rasterminal by @PavolUlicny | Stardance
Devlogs:
Hey everyone, I want to introduce my project! rasterminal is a full software 3D rasterizer and model viewer that runs entirely in your terminal. The whole rendering pipeline is implemented from scratch. I only rely on third-party libraries for load-time things like 3D model parsing, image parsing, and decompression. It doesn’t touch the GPU at all, running purely on the CPU. That makes it completely safe for SSH usage, though it does come with a performance cost. I use multithreading to recover some of what’s lost, and the result is still significantly faster than any other terminal 3D viewer I’ve come across. Right now I’m focused on broader 3D format feature support and transparent material rendering. If you want to try it out, I’d love to hear what you think, feedback and issues are very welcome over on GitHub. https://github.com/PavolUlicny/rasterminal Thanks for any support! 🙏
I just implemented KTX2 and Basis texture support, which are special compressed texture formats. So now any models with these textures are viewable in rasterminal.
Well, I tried to refactor the main rendering loop for like the third time, because it’s horrifyingly indented, but it has defeated me once again. At this point, I’m confident that it’s impossible to do without a noticeable drop in performance, or g++ is just ragebaiting me. I installed a rainbow indentation neovim plugin just to show the absurdity of this.
Reworked the whole readme with better instructions, screenshots and a gif. The gif was super annoying to polish, because i used asciinema which records all the setup escape sequences so there were gaps at the start and end that i had to manually read and remove. And I also had to perfectly close it exactly when it did one full rotation and that took like an hour to perfect. At least now I don’t have to touch the readme for a while.
I just added unlit material support, which means materials that are supposed to stay intentionally unaffected by lighting render correctly. Pretty straightforward change, just read it at load time and then check if that material is unlit during the lighting pass and skip it.
I wired in Webp image format support by vendoring in google’s libwebp decoding library. It wasn’t that hard to wire into the source code, the hard part was the vendoring, dealing with licenses and professional vendoring practices. Only thing that remains to add for full gltf extension support is avif image support, but I’ll do that later.
Because of all the libraries I added, the binary size increased significantly. I don’t use most of the vendored code, so I added build flags to ignore unused code in the final binary. Other than that, I added some other performance flags and also a CMakePresets.txt. It took longer than it should’ve, because I tested and benchmarked a bunch of other configs and flags. I put off PGO for now.
I did a hot-loop performance cleanup run, because the hot loops were getting slower with new features, and I found a big optimization opportunity in clip-near call sites: clip_near slices off the part of a triangle that pokes behind the camera’s near plane, but almost every triangle is fully in front of it with nothing to clip. The pipeline still called it for all of them, and in the compiled binary that common case just copied all three vertices to memory and back, millions of times a frame. The fix was to check inline whether the triangle is fully in front and skip the call entirely if so. Result on a 2.77M-triangle model: median frame time dropped from 21.1 ms to 19.2 ms, about 8.7% faster.
Working on adding transparency support. For that, I have to completely rework the rendering loop and the rasterizers, so basically the whole core of the project. It’s going very badly. And since performance is a big factor here, I’m going for a template approach so the transparency overhead doesn’t affect non-transparent meshes.
Transparency is basically done, with caveats. Transparency works correctly, but transmission , which is completely different, is simplified to transparency. So for spec-complete gltf, I would need to implement the whole transmission pipeline, which I’m way too lazy to do right now. So for now, we just simplify it to transparency and call it a day.
Transparency is fully done and merged. Did some polish, cleanup and optimization on the transparency branch and successfully merged into main.
Added full native 32 bit support for all platforms Didn’t have to redesign any of the source code (thankfully), just some warning suppressing and fixing some static casts. Also added a CI job that’ll flag future 32 bit compatibility regressions.
I tried to rewrite the STL loader from scratch for more performance But it’s taking super long and I’m way too bored with it, so I think I’ll just abandon the branch and work on something else.
Replaced tinyobjloader with rapidobj for way faster obj parsing But after actually replacing it and integrating it into the source code, i realized it’s not worth it, because rapidobj just has too many downsides and isn’t very actively supported anymore. For example, it doesn’t support multiple mtl files, which is against the spec. So if i want to keep it spec compliant, I need to find a workaround for it, which just isn’t worth the speed increase of rapidobj, even if it’s like 4x faster (from my testing on a large obj) The graph is from this article: https://aras-p.info/blog/2022/05/14/comparing-obj-parse-libraries/
Added deduplicating vertices to the stl loader. After two unsuccessful and unmerged branches, I finally did something useful on main. I used to deduplicate the vertices in stl_reader and then reduplicate them in the loader. But now, we just dedup in stl_reader and use those. That also allowed me to enable ambient occlusion, which was disabled for stl before. And now crease smoothing fully works too. And it’s faster (runtime wise, load time is slower because of ambient occlusion and crease smoothing that weren’t there before). So an all-round very positive change, and also an end to my non-merging dry spell.
Adapted the arg parsing and CLI behaviour to the GNU standard Now, rasterminal’s CLI behaves under the GNU CLI standards, so on par with most linux tools.
Working on adding supersampling anti-aliasing Still a work in progress and I might not merge it into main, because it’s a lot of work for not that much benefit. I have to catch a lot of bad_allocs and things like that for super large SSAA sizes, which is really annoying and can affect performance. SSAA works by rendering at a higher resolution and then downscaling for better edges (makes edges smooth and fade-in instead of jagged) Picture with 2x SSAA and without SSAA:
Added support for wrap modes for textures Only in glTF and OBJ models (the only ones that support it) and verified with the Khronos group sample assets model. Also added PLY texture support.
Made the shading mode branches compile time instead of runtime in the renderer with templates Did the same template if constexpr (compile time if branches) thing that we already do for opaque/transparent models with the shading mode (was a runtime per triangle if branch before), which improved performance. It basically just makes a new copy of the function for each shading mode x each transparency mode, so 4x2 which is 8 slightly different functions and uses the correct one on each call. That increases binary size and icache pressure, but drops per triangle or per pixel if branches that hurt performance, so it’s an overall performance win. Benchmarked across a ton of different resolutions, models, shading modes, etc. (the benchmark by itself took like 2 hours to run)
Optimized the transparent cleanup path in the renderer After rendering the model in the transparent path, we have to resolve the transparent pixels, which basically just pastes in the pixels behind it and sometimes tints it based on how dark and what color the transparent material is (tinted glass will make the things behind it darker, normal glass will be mostly completely untinted). Before, the resolve function looped over every single pixel in the frame, even non-transparent and background ones. This is obviously wasteful. So I made it find the smallest box, in which all the transparent pixels of the whole frame fit and just looped over that. It recovered the overhead of the transparent resolve on models with smaller transparent parts, but it also made fully transparent or mostly transparent models slightly slower (it still basically loops over almost the whole screen on these types of models, so keeping track of the smallest bounding box while also still doing the same work as before made it a little slower). But the performance benefits for the average model outweighed the losses on rare fully transparent models. In the image, you can see the benchmark results versus the baseline.
Added TEXCOORD_1 support glTF sometimes authors a second TEXCOORD set (first one is TEXCOORD_0, 0 indexed numbering). The official spec only requires support for the first two TEXCOORD sets, even though there can theoretically be any number of them in a model. That said, major model exporters don’t author any more than the two sets, so to avoid extra work, I only added support for 0 and 1. (not merged into main yet, I want to polish it a little and maybe add KHR_texture_transform support on top of it first)
Added texture transform into the TEXCOORD branch and merged it into main Not that hard, just read it, pass it to the rasterizer and then display it. I did have a very sneaky bug in the loader that made the whole feature render wrong, where I just had to negate one value to fully fix it, but now everything fully works. Below you can see the Khronos test asset for texture transforms. (tick means fully working, clearcoat is not yet implemented so it doesn’t show as working)
Added proper OBJ bump map support OBJ bump maps are textures for simulating bumps and wrinkles on models. Blender used to author bump maps as normal maps for some reason, so I made it automatically detect if it’s a normal map disguised as a bump map and handle it well, since there are a lot of old Blender OBJ models in the wild. But it also handles bump maps as bump maps normally, so it’s basically the best of both worlds.
Completely removed gouraud shading mode Gouraud was previously the main shading mode, but now I’ve just completely removed it. It was by far the slowest, while not adding any actual value to the project. Blinn-phong lighting is faster AND it supports more features (normal maps, etc.), so there was just no point in keeping gouraud. Now that I’ve removed it, the project has less code to maintain and a faster default shading mode with more features.
Split the tests into sub-directories The test suite is now very long (20k LOC across 47 files), so i decided to split it into sub-directories instead of just having 47 files in one flat dir. It’s cleaner, more maintainable and looks better.
Pararelized the wireframe shading mode I did a bunch of small things alongside it, but the main feature for this devlog is the pararelization of the wireframe shading mode. It was previously fully single threaded, but it wasn’t that hard to pararelize, i just had to make the function it used to write into the framebuffer (draw_line) CAS atomic, to avoid race conditions. Now wireframe is the fastest shading mode in basically all scenarios. Below, you can see a performance benchmark (built into rasterminal using a flag) with wireframe mode on a super dense mesh and how the wireframe mode looks like (you can also cycle the colors).
Added a release workflow, manpage and changelog I added a github release workflow that works alongside the changelog and released the first pre-release version: v0.1.0-alpha.1 Also added a manpage and an install target to make and cmake that installs the binary, docs and manpage into the path.
Wasted 7 hours of my life Did a bunch of smaller cleanups and fixes, and then I tried to template the unlit and lit paths in the rasterize_flat function, which turned out to be a performance regression. Awesome.
Completely removed the shadow map Before, rasterminal built a shadow map on model load and displayed it during runtime. I now completely removed it, because it was slower during load, slower during runtime, sometimes looked broken on curved surfaces and added essentially no value. Here, the first picture is with the shadow map and the second is without.
Working on portability Did a bunch of small fixes and improvements in the last ~week. Right now I’m on vacation for the next couple of days, so I won’t be active. I am currently working on broader terminal and platform support, so older systems and terminals will be able to run cleanly with some fallbacks or will fail loud with a clear message about what isn’t supported.
Working on adding 256 color support Some older terminals can’t display full 24bit RGB colors and use a 256 color palette instead. I’m adding a fallback so the older terminals can still use rasterminal. It still calculates the full old RGB colors, but then just maps them to the nearest 256 color with LUTs. On a side note, I switched my terminal emulator from Kitty to Ghostty.
Working on terminal color capability detection I am adding automatic terminal capability detection, meaning that rasterminal will get the terminal type and either refuse to render on super old or “dumb” terminals, degrade on some terminals and render normally on modern ones.
Working on a –color compatibility flag The color terminal compatibility thing I was working on has landed in the branch, now I’m adding a –color flag to override the automatic capability detection for situations like ssh, where we almost always degrade to the 256 color pallete for maximum compatibility. So now you’re gonna be able to use the right color mode even if the automatic detection is wrong for your situation.
Changed the 24bit to 256 color palette conversion logic Until now, the conversion picked the closest color possible mathematically. But from testing on a bunch of different models, I’ve realized that it doesn’t actually look very close to the human eye. So I swapped it out for a different method, called CIELAB distance. Now it still doesn’t look perfect, but as a fallback for older terminals it’s close enough.
Finally merged color-fallback, I can move onto other things The branch is finally merged. I’ve accumulated a bunch of usability and code quirks and issues that i can finally get to now that the branch is merged. So now I’ll be reworking all the CLI flags, camera and other components. And we also passed the 700 commit mark with this merge!
Did a bunch of small code quality and usability improvements Fixed a Windows bug that crashed the program on model sizes bigger than 2GB, improved the orbit usability (fixed mouse drag behavior when models are turned upside down), and did a few cleanups and fixes in the CLI parsing. I’m planning on adding a few CLI flags that I think can be very useful for some people, specifically better spin settings, starting camera angle/zoom control and a few more.
Added –spin-speed and –spin-direction flags Added CLI flags for the spin speed and direction. The speed is in deg/s and the directions is simply left or right. Here’s what 1000 deg/s looks like spinning to the right:
Added more CLI flags for startup customizability Added flags to set the camera pitch, yaw and zoom on startup. Now every runtime-settable variable can be set during startup through the CLI. The R button now resets the state to the CLI set state, not to factory defaults.
So, i found two memory bugs in a widely used terminal input library I was researching terminal input libraries to use for this project because my current approach was so buggy that it wasn’t worth fixing. Both of them are memory bugs in the libtermkey library. There are forks of the lib with this fixed, but since many projects still rely on this lib, i submitted them anyways. I’ve also confirmed that the bug is present on my machine on Ubuntu 24.04 LTS on Neovim, because it links the vulnerable shared library. I didn’t mark them as CVEs (hopefully that isn’t a problem). If anyone want’s to look at the bug reports, they are at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891 and https://bugs.launchpad.net/ubuntu/+source/libtermkey/+bug/2161916
Working on completely rewriting the current input parsing handling The current input handling is subpar at best; it interprets a lot of random keys as escape, which currently quits the program (This will also be changed to Q and Ctrl+C only. Kind of a no-brainer since this is the more standard choice for TUIs - for example btop - and it also means I don’t have to deal with the headache of distinguishing function keys and others from escape) and has a lot of other quirky behavior that needs fixing. I’ll also try to improve robustness against malformed input like a leaky SSH session. There are a lot of various edge cases and situations where you have no way to distinguish real input from malformed input. This is all a very major pain in the ass. And I thought figuring out the raw mode output would be the hard part. And after all this, I’ll end up with way less attention than strictly slower, less robust competitors, just because they already have an audience from other projects. I bet nobody will even read this. I’m basically talking to myself right now. Or maybe, just to spite me, the algorithm will push this more than my other devlogs.
Still working on the input parsing system It is very hard and I keep finding bugs and reasons to redesign it. I’m in pain. I do think I’m getting closer to the final robust design.
Finally committed and pushed the input rework Tested it on both linux and windows and everything seems to work. No inputs interpreted as other inputs, all edge cases handled, just works. Finally can move onto other things.
Did a smaller fix and added a pretty big feature First, let’s talk about the small fix: I Fixed a super long model name showing up in the HUD in it’s full length, often blocking out other HUD elements. Previously, the HUD would display a model name of any length. Now there’s a hard cap of 24 chars, with any name longer than that truncated (middle style truncation) to fit into that limit. And now the big feature: Added a first person noclip-style camera mode. It’s accessed with the –first-person flag and let’s you explore the model as a floating camera (not bound like the default orbit camera). It was honestly easier to implement than I thought it would be. With it, I added two new keybinds special to the first person mode - E and V for going up and down. They don’t do nothing in orbit mode. Also added a second –first-person-speed flag for controlling the initial movement speed. It is also controllable during runtime with scrolling or +/- (I didn’t know what to bind these to in this mode since you can’t zoom like in orbit mode and this was the only place where they fit). In the photos, you can see some angles taken in the first person mode that weren’t possible in the default orbit mode.
Completely redesigned and rewrote the HUD The HUD used to be just a single line at the bottom of the screen aligned to the left. It looked pretty bad, but it did tell the user everything they needed to know. [picture 1] First, I added model name sanitization, so models with control bytes like newline ( \n ), line feed or other symbols like emojis can’t break the whole program when trying to display them in the HUD. Then, I completely redesigned the whole HUD to look better and be more robust, while still telling the user everything they need to know. I went with this design [picture 2]: On the left, you only have the model name. In the middle, first you have the current shading mode (highlighted in cyan), then the lighting mode in plain white and then the background color in gray. All three middle indicators are separated with a dot and are different colors, so nobody can confuse them. On the right, there’s 3 boolean indicators: spin (if the model spin is on), backface cull (if it’s currently culling backfaces) and texture (if it’s showing the texture, isn’t there at all on models without a texture). They are gray if inactive and cyan if active. The last thing on the right is just the fps number. There can also be optional indicators: Wireframe color (in the middle, after the shading mode) which only shows up in wireframe mode. [picture 3] First person speed multiplier (on the right, between the bools and the fps number) which shows up only in first person mode. [picture 4] I also made each “island” cleanly disappear when the terminal’s width is too low instead of just slowly getting cut off letter by letter. I think this design looks better, less cluttered and is pretty easy to understand at a glance. I would very much appreciate a star on GitHub!
Added issue templates + contributing documentation Added templates and a config for submitting GitHub issues, for both bug reports and feature requests. Also added a CONTRIBUTING.md for clear instructions on how to make, structure and audit code contributions. (tests, linters, formatting, etc.) I tried to make some optimizations to the renderer by auditing the compiler generated assembly and looking for inefficiencies, but everything i tried turned out to actually hurt performance. And GitHub actions decided to have a major outage right when i pushed the commits, so that’s awesome
Minor comment cleanup Just did some comment cleanup: Deleted redundant comments and why comments Removed separator comments Compressed or rewrote some really long comments (without removing the info they give)
Working on adding support for the Kitty protocol Some modern terminals like Kitty and Ghostty have support for the Kitty protocol. It’s a feature that allows you to display high resolution content like images and videos in the terminal without it looking super pixelated. There’s also the Sixel protocol, which is basically the same thing but a little worse and more widely supported (even Windows terminal has it). I’ll add Sixel after i merge Kitty to main. It is very clearly a worthwhile feature and I have been planning to add it from the start of the project. Today I finally decided that it’s time. Most of the work is already done on the branch and i’m just polishing out the bugs and issues before I merge. In the photos, you can see the comparison between using just the block characters and using Kitty. It is a night and day difference. Although the performance isn’t great at that high of a resolution, but I’m still working on optimizing that.
Found a bug in Ghostty’s kitty protocol handling Ghostty is a modern and fast terminal emulator that i personally use. While testing the kitty protocol feature in rasterminal, I found a Ghostty bug that lagged my whole computer after a few minutes. I tested it in Kitty (terminal emulator) and there it worked fine. I looked at Ghostty’s code vs Kitty’s, found the bug and reported it to the Ghostty maintainers. Mitchell himself (the creator) fixed it in like 2 hours. Honestly I’m kinda sad I didn’t get to become a contributor and fix the bug, but since it was a small fix and I already described it in the issue, I get why Mitchell just fixed it in main. Here’s the full issue: https://github.com/ghostty-org/ghostty/discussions/13719
Fully merged and done with Kitty Finally completed the kitty protocol implementation. It is kinda slow, since the resolution is so much bigger, so I will try to optimize the high-res performance even more. So now the next two big milestones are: Add Sixel on top of kitty, that’ll be a lot of work Optimize the rasterizer even more I was thinking of maybe adding gpu rendering as an option for super large meshes or high-res scenarios, but idk. I’ll definetly keep the pure cpu renderer for computers without gpus, but I’m not sure about a gpu implementation. It would be hard to do, less portable and it might not even work that well.
Working on adding full Sixel support Working on adding support for the other mainstream terminal pixel protocol of the main two - Sixel. Already did fully implemented the kitty protocol last time, so once I’m done with this one, I’ll be done with terminal protocols (at least for the near future, hopefully). There are some other ones like the iterm2 protocol, but that one’s pretty rare and I won’t add it unless I really don’t have anything better to do. It’s basically done, just need to polish it and test it on a bunch of terminals and operating systems to make sure everything works before merging.
Fully merged sixel Fully merged the sixel protocol implementation. Works on all platforms everywhere that supports it. So now both high-res terminal protocols done. Moving onto other minor things and especially performance.
Working on improving performance With the addition of the high-res protocols, the target resolutions quickly went from hundreds or thousands of pixels to millions. So I now desperately need to improve performance. So far it’s looking promising: A whole model covering the camera 6 moving at 4k went from about 8 fps to 20-30 fps. Not ideal yet, but I think we’re on the right track. Super dense meshes (more than 2 million polygons) improved 2-3x Meshes with transparent parts improved about 2x While these wins may seem really big (they kinda are), the jump in resolutions still means they are barely usable interactively. I do want to add gpu acceleration later (with the cpu path as a fallback), but until then I want to make it as fast as I possibly can.
My reported bug in libtermkey has been fixed in the newest version Just got an email from one of the maintainers that the crash bug i reported a month ago was fixed in the new release. libtermkey is a terminal input parsing library that I considered using and found a crash bug in. The bug was already fixed in neovim’s fork of the library, so i just pointed the maintainers at that fix. For anybody interested, here’s the issue link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891
Still optimizing… Spent the first ~7 hours trying to find microoptimizations and each one was either a wash or worse somehow. The compiler works in mysterious ways. At some point, I just gave up and let Claude have a go at the optimizing. Surprisingly it actually came up with a lot of interesting optimization techniques and solutions that I definitely couldn’t have come up with on my own. But it found so much, that the whole diff adds 5k lines of code. So now I’ll be cleaning up, testing, and maybe further optimizing that diff…
Finally merging the performance branch It’s finally time to merge the performance branch. I basically redesigned the whole renderer and rasterizer around high resolution workloads, where it would still choose the old high-poly paths where they were faster. Even snuck in some SSE2 SIMD code (picture), although I will probably be switching to a dispatch SIMD library like Google’s Highway. Not entirely sure it will be Highway or even if I will do that yet, that depends on the code complexity and before/after benchmarks.
Cleanup and restructuring changes After I just merged three big feature branches (kitty and sixel graphics protocols and the high-res performance branch), I needed to do some overdue cleanup and refactoring. And so I did: Collapsed the super long changelog entries into way more readable and legible points Restructured the src directory into multiple subdirectories because it had like 50 files already Sadly completely removed the Make build system, so now you can only build with CMake (CMake is very much evil and even more evil but it’s the only one of the two that supports windows and I was tired of managing two build systems) Removed the –graphics-scale flag, so now everything renders at native resolution And some small docs and comment cleanup
Working on assimp integration Yop, I’m adding the Open Asset Import Library as a fallback for any model formats that aren’t natively supported with their own dedicated loader (only ones with dedicated loaders are glTF2, PLY, STL and OBJ). I’m still keeping the dedicated loaders, because they are more feature-complete, to-spec and wayyy faster (especially the glTF one). I added it because I feel like for a 3D model viewer, support for many formats, even niche and obscure ones, is pretty important, even though nobody might use them. This roughly doubled compile time and almost quadrupled binary size, which also made CI take way longer (of course). It somehow made the MacOS runners take 50 minutes to compile (from the previous 3 minutes), but I fixed that by bounding the number of processes CMake can spawn to the number of threads on the runner (previously was using -j which spawns as many as it wants and it was spawning about 230 of them). I’m still testing how it handles various model formats and trying to find any reachable segfaults.
Still working on the assimp intgration Currently trying various models from all the different model formats that assimp loads. So far found a segfault, some weird behavior and integration mistakes that I made. Also found a small bug in assimp itself, for which I’ve submitted the PR with the fix to their GitHub repo. For anyone interested, here’s the PR: https://github.com/assimp/assimp/pull/6799
Fuzzing my assimp wrapper I’m trying a bunch of hand-crafted models from all the formats that I can load and trying to find things that dont load or render properly. Also had AI write me a simple fuzzer in python and I’m just letting it run for a few hours. Also auditing the assimp loader paths against my wrapper to find any format specific behaviour that should be handled. I’ve already found a bunch of things and I’m still finding more. Assimp has a lot of weird quirks and issues that I keep running into. Honestly kinda regretting the decision to integrate it, but since I’m already so deep in, I’ll just keep going.
Merged the full assimp integration into main I really don’t have much to say here, I’ve already put all the info about the branch into the past devlogs. All the formats work and the wrapper is very sturdy. I’ve found more bugs in assimp itself than my code (devlog on that soon). So, rasterminal can now load basically any 3D model you throw at it. Some of the formats assimp supports are so niche, I’ve never even heard of them.
Cutting a release The repo is in a pretty complete and polished state, so I’ll cut a release here. This will also probably be the last release before I ship, so I’m making sure that nothing is broken and everything works on every platform. I’ve still got a lot of work to do though, even after the end of stardance, like animations, glTF PBR, format completeness for every format, GPU acceleration, etc.
Found a bunch of terminal cleanup gaps Most of them are Windows or cmd.exe specific (nothing ever works on Windows), but some are present on POSIX too. The Windows specific ones are: cmd.exe for some unknown reason doesn’t turn off the raw input sequences, so arrow keys don’t work like they should, even though I explicitly turn it off (????????) (I hate Windows, they always have to do something unexplainable for no reason just so your code doesn’t work as it should) when you terminate the program with ctrl+c or ctrl+break while actively dragging the model around, it sometimes leaks mouse escape sequences into the next prompt bunch of other weird small stuff that nobody cares about And the few on POSIX are mostly ctrl+z suspend/resume behaviour not recovering the terminal and the same thing with ctrl+\ (SIGQUIT). I’m still working on fixing these. Most of the windows ones are already fixed, but I haven’t even started with the linux/POSIX ones. I have postponed the planned release to when I fix these + any other issues I find.
I HATE WINDOWS Windows just doesn’t work. It doesn’t work. Nothing works on Windows. Everything breaks. I don’t get it. THE UNIT TESTS PASS ON WINDOWS CI BUT WHEN I ACTUALLY RUN THE TESTS ON WINDOWS IT FAILS????? HOW IS THAT EVEN POSSIBLE. The release is now definitely getting delayed by at least a week because I keep running into more and more and more and more and more and more and more and more and more issues. I hate Windows. Microslop is the only company that could mess up a basic terminal emulator. And I also have to reboot my PC every time I fix something and push it and then reboot to get back to linux. this is torture. At one point I tried to do it on a Windows VM on linux but that was too slow so I just gave up.
Merged the full Windows console restoration branch My nightmare is over. I hopefully won’t have to deal with Windows for a while now. Summary of what is now fixed/handled on Windows: Ctrl+C, Ctrl+Break and Q exits fully recover the terminal’s state Ctrl+C and Ctrl+Break don’t leak mouse escape sequences into the next prompt if you terminate while actively dragging a model A bunch of other minor Windows or cmd.exe specific quirks Only thing that isn’t handled (didn’t find a good way to handle it) is task manager “end process”. It kills the program without cleaning up and sometimes freezes the shell.
Fully fixed and merged the first POSIX cleanup item Well, would you look at that! That took significantly less time than the Windows fix. It is partly because it was a smaller fix and only part whole POSIX fix, while the Windows one was the whole thing and also the foundation had already been laid out from the Windows work and I just integrated the POSIX path into that, but it is also very much because Microsoft is a horrible, terrible company that can’t make good software. I mean, look at GitHub, they have been going downhill ever since they got acquired by Microsoft. Now that I got that out of my system, here’s what was fixed: If the program cannot enable raw mode at startup, it safely fails instead of continuing and corrupting the terminal state If the cleanup gets interrupted, it retries cleanup so it doesn’t leave the terminal state corrupted after one failed attempt Onto the next POSIX fix: handling SIGQUIT and SIGHUP.
Added handling for SIGINT, SIGTERM, SIGQUIT and SIGHUP I don’t really have much to say here, I just added the full per-spec handling for all these. Only remaining POSIX-only gap is now SIGSTOP/SIGCONT (stop/resume process). I’m also starting school now, so I’ll be working on this less.
Working on SIGSTOP and SIGCONT handling SIGSTOP and SIGCONT are POSIX signals for stopping and resuming a running process. I’m working on adding handling for these, so you can safely pause and unpause rasterminal at any time. This is a lot of work, since until now, we just set up the terminal on program start and cleaned up when the program exited. There’s a lot of quirks and weird scenarios that I have to handle, for example if another signal gets sent while cleaning up the terminal for SIGSTOP. I’m trying to catch as many edge cases by just doing random things while using the program and also with the help of AI to come up with potentially uncaught scenarios.
Did some polish and cleanup of the platform layer Did final polish and cleanup of the platform layer since I want to actually finally cut a release relatively soon and I just did a lot of work there. Fixed things like useless tests, outdated or wrong comments and some platform specific quirks. Probably actually gonna cut a release soon (this time for real). Also added early rejections for BVH and CSM files, since they contain no model geometry (they can’t currently be displayed at all) and documented the change. The code is basically done (hopefully, I really don’t want to find another big gap that’s gonna take a week to close), I just want to correct anything wrong in the README, changelog, manpage or help menu and maybe make them look a little better before cutting a release and shipping.
Last pre-release checks and cleanup I’m finally ready to release v0.1.0-alpha.2. Only notable thing I changed here is that I changed the default thread count: It now defaults to hardware concurrency everywhere. Other than that, I of course did final documentation checks and fixes and now I’m just waiting for CI to pass so I can tag it and let the release workflow do the last step. So this is hopefully the last devlog before my ship!
Refactored the platform layer The whole platform layer was just one file until now. Since I did a lot of work on it recently, it grew to over 2400 lines of code. It was super confusing and disorienting. So I decided to refactor it (split it) into 8 files, based on what they handle: console.h - saving/restoring terminal state control.h - termination signal handling file.h - file operations (64bit) input_reader.h - handling input (not parsing, that is it’s own file) shared_memory.h - shared memory handling for the kitty protocol terminal_io.h - writes output to the terminal terminal_query.h - querying the terminal for things like graphics capability, etc. timing.h - frame timing and sleeps
Miscellaneous fixes and improvements Fixed two races in platform code (one MacOS, one Windows) Removed build flags that disabled some compiler security hardening at the cost of a little performance Fixed the test framework to not freak out on NaN in near assertions Improved thread launching and handling in loaders and renderer So overall just boring fixes and improvements, nothing special.
Code quality and CI improvements Finally did the long overdue main loop refactor. The main loop is now way shorter, more readable and more testable. I just split off some of the main loop’s work into it’s own modules, which made them way better looking and also, since they are now standalone modules, actually testable. A big win for repo structure. In the process, I also replaced the input handling’s long if chain that made each character do it’s job with a switch statement. It’s more readable and theoretically faster, although since I compile it with -O3, it probably made no difference or an unnoticeable one at best. I also finally fixed the super long CI times. Until now, CI used to take ~50 minutes (depending on how fast the GitHub runner was) because of cppcheck. Everything else finished in under 10 minutes, but cppcheck stalled it for an hour. It was stalling in mesh_assimp.cpp (the assimp wrapper) for most of it’s runtime. I always thought it was because assimp is a very large library. So I experimented with it a little. I included everything I include in the wrapper into a test file with a little code and ran cppcheck on that. It finished in less than 10 seconds. Eventually, I found out it was somehow taking that long because the main loader function was too long and handled too much by itself. So i just refactored it into 3 separate functions, without changing the behavior at all. Somehow, I still don’t get why, it reduced the whole cppcheck run to 9 minutes. a more than 5x improvement, just because I split a function into more functions. I’m not complaining, but it’s definitely weird. CI is now way faster and adding new things is gonna be way smoother now.
Ships:
rasterminal rasterminal is a 3D model viewer in the terminal Why i decided to build it The original idea didn’t really have any big inspiration, I’ve just always been fascinated by the inner workings of 3D and how that all works. I’ve been wanting to build a project involving 3D for a while and I didn’t want to make just another program that uses libraries and GPU drivers to do all the work. So I came up with the idea: a software rasterizer that renders in the terminal! There are lots of TUIs and lots of boring old software rasterizer projects, so I just combined the two into something unique. And over time, I realized I could make it an actually useful tool, with no real competition: a 3D model viewer in the terminal. Sure, there are some similar projects on GitHub (like taigrr’s trophy), but none are actually usable with heavier models or support pixel graphics. What I learned I learned a lot. I really mean a lot. Anything from math and rendering to how terminals work and how to control them using escape sequences. I don’t want to sit here and name everything I learned over the period of the last 5 months, but I can confidently say that this project really taught me how much work goes into everyday software and how to actually develop and maintain a project professionally. The future of rasterminal The whole project is very far from done. You can see that from the latest release version: v0.1.0-alpha.2. I’ve got a lot of work to do and I’ve roughly got the major landmarks mapped out. Main things I definitely want to change/add at some point before v1 are: Add animation support (currently can only render still meshes) Complete the renderer (complete support for basically every feature of every format that makes sense to support) Add optional GPU acceleration (after I’m satisfied with everything else) Hardware / OS support Supports every major OS (Windows, Linux, MacOS, and any other POSIX-based OS, so practically everything), and every CPU that I could think of (any architecture, 32 or 64bit). You would have to actually try a to find a platform that it doesn’t support (most of the unsupported hardware are big-endian systems, which are basically phased out completely). This is one of the main goals of the project, so (almost) any modern machine with a terminal can run it. Special thanks Special thanks to anyone who followed, liked, helped, or otherwise supported the project in any way. I wouldn’t have had the motivation to push it this far if it wasn’t for you guys....
|
1793904436.5441487
|
1793990836.5441487
|
|
56162
|
Discord Organization Bot by @karoltoo11 | Stardanc Discord Organization Bot by @karoltoo11 | Stardance...
|
karoltoo11
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T20:49:27Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi <3 I made a usefull discord bot that will really help you with building a discord community. I’d have a lot of fun while doing It. It is my first that big project, especially in java script. This language after a bit of time is really enjoyable. I hope that I created a really good thing!", "repo": "https://github.com/karoltoo11/discord-organization-bot", "demo": "https://discord.gg/YysXFVhGy7"}]...
|
[{"post_id": 70267, "ts": "202 [{"post_id": 70267, "ts": "2026-09-18T20:46:16Z", "hours": 0.7997, "text": "Hi! I’ve added all of options that I wanted. I mean: Fully functional “Looking for Group/Game” -> You can create post with fully interactable buttons etc. Personal Reminders -> You really don’t want to forget about your daily strike at stardance! To-do List -> For adminstration and smaller server groups."}, {"post_id": 62776, "ts": "2026-09-06T09:20:53Z", "hours": 1.3239, "text": "Hi! I’ve added a “trap channel” to catch bots that spam invites to their own servers or other scam links. Simply run the /trap set command in the designated channel, and it becomes active immediately. Sending a message results in an automatic kick and the deletion of the message."}, {"post_id": 59471, "ts": "2026-09-01T10:36:57Z", "hours": 2.8803, "text": "Hi! I’m working on a project that could be really useful for managing larger Discord servers. Personally, I’ve always struggled with organizing events and giveaways (like for specific roles), as well as setting up channels for things like “looking for a game”. Since I have some experience with Discord bot development, I decided to solve all these issues with a single bot—after all, having 30 different bots on a server doesn’t look very good. So far, I’ve added features for: Organizing giveaways. Organizing events. Both features are easy to configure and come with all the useful options you’d expect. Additionally, if you sign up for an event, the bot sends you a DM when it’s about to start to let you know it’s kicking off. (Since English isn’t my native language, I used Google Translate for the message.)"}]...
|
Title: Discord Organization Bot by @karoltoo11 | S Title: Discord Organization Bot by @karoltoo11 | Stardance
Devlogs:
Hi! I’m working on a project that could be really useful for managing larger Discord servers. Personally, I’ve always struggled with organizing events and giveaways (like for specific roles), as well as setting up channels for things like “looking for a game”. Since I have some experience with Discord bot development, I decided to solve all these issues with a single bot—after all, having 30 different bots on a server doesn’t look very good. So far, I’ve added features for: Organizing giveaways. Organizing events. Both features are easy to configure and come with all the useful options you’d expect. Additionally, if you sign up for an event, the bot sends you a DM when it’s about to start to let you know it’s kicking off. (Since English isn’t my native language, I used Google Translate for the message.)
Hi! I’ve added a “trap channel” to catch bots that spam invites to their own servers or other scam links. Simply run the /trap set command in the designated channel, and it becomes active immediately. Sending a message results in an automatic kick and the deletion of the message.
Hi! I’ve added all of options that I wanted. I mean: Fully functional “Looking for Group/Game” -> You can create post with fully interactable buttons etc. Personal Reminders -> You really don’t want to forget about your daily strike at stardance! To-do List -> For adminstration and smaller server groups.
Ships:
Hi <3 I made a usefull discord bot that will really help you with building a discord community. I’d have a lot of fun while doing It. It is my first that big project, especially in java script. This language after a bit of time is really enjoyable. I hope that I created a really good thing!...
|
1794020028.0844183
|
1794106428.0844183
|
|
25754
|
Creator Launchpad by @NexBlade-Studios | Stardance
|
NexBlade-Studios
|
1
|
10.0
|
126
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T22:42:25Z", "hours": 10.0, "multiplier": 10.96, "payout": 126, "blessing": "neutral", "text": "This is Creator Launchpad, the platform that streamlines content creation, from video ideas to content creation. I created this app because content creation has grown so much in the past few years, and it can sometimes feel like it is too competitive. I though it would be cool to create a way to speed up parts of the process that aren’t necessarily the most fun, for example thumbnail creation. By picking a category, either generating an idea or writing your own, Creator Launchpad utilises Gemini API to create a customized thumbnail, save it to your personal gallery and then share it. I have already found myself just using the app to see how different thumbnail prompts would turn out, and it is quite cool to see ideas being turned into usable concepts.", "repo": "https://github.com/NexBlade-Studios/Creator-Launchpad", "demo": "https://github.com/NexBlade-Studios/Creator-Launchpad/releases/tag/v1.0.0"}]...
|
[{"post_id": 70261, "ts": "202 [{"post_id": 70261, "ts": "2026-09-18T20:29:56Z", "hours": 1.305, "text": "This is now the final stretch of the project before I ship!!! I have finished the gallery section of the app, and it enables users to save their generated thumbnails, manage and delete them. This means that if there’s a thumbnail that you want to keep, you can save it to your gallery instead of needing to share or export it. Also, the prompt used to generate the thumbnail is listed at the bottom so that you could use the prompt to generate the thumbnail again."}, {"post_id": 68290, "ts": "2026-09-14T21:15:35Z", "hours": 0.7803, "text": "I wanted to put a quick number of updates before shipping the project because it isn’t in a state that I am satisfied with yet. I have added dark mode support because I know that without it the app is very bright (it is practically a flashlight). I am now working on implementing a gallery system where thumbnails you have generated can be saved to the thumbnail gallery with the prompt attached. Currently you would have to share the thumbnail and then save it to your phone, so this makes it more convenient. I also added some more categories, hopefully this covers all the key areas of content creation now."}, {"post_id": 27583, "ts": "2026-07-13T09:17:01Z", "hours": 4.2972, "text": "#TESTERS NEEDED The project is now complete! Creators can now use Creator Launchpad for their content creation, being able to generate video ideas and thumbnails, all straight from the app. I want to put the project on Google Play, so I require at least 12 game testers before publishing. If you want to help with my project, please email me at [email protected]"}, {"post_id": 15844, "ts": "2026-06-25T19:18:43Z", "hours": 1.5361, "text": "I have now implemented Gemini using Supabase to my project, enabling a user to generate video ideas. I was originally using Firebase but turns out the Spark tier didn’t let me run functions direct from the command line. Anyway, now I aim to use Stable Diffusion or some other image generator to generate the thumbnails."}, {"post_id": 15615, "ts": "2026-06-25T12:17:04Z", "hours": 1.6783, "text": "I have decided to make an app for content creators, where you can input your next video idea (or even ask AI) and then get a fully generated thumbnail ready to use. Currently I have worked on the simple UI screens, with text input and category selection. There isn’t really anything interesting to show for the app so far. The next step is to integrate the AI. This project should be fully complete by the end of the day, and I will be releasing it on Google Play."}]...
|
Title: Creator Launchpad by @NexBlade-Studios | St Title: Creator Launchpad by @NexBlade-Studios | Stardance
Devlogs:
I have decided to make an app for content creators, where you can input your next video idea (or even ask AI) and then get a fully generated thumbnail ready to use. Currently I have worked on the simple UI screens, with text input and category selection. There isn’t really anything interesting to show for the app so far. The next step is to integrate the AI. This project should be fully complete by the end of the day, and I will be releasing it on Google Play.
I have now implemented Gemini using Supabase to my project, enabling a user to generate video ideas. I was originally using Firebase but turns out the Spark tier didn’t let me run functions direct from the command line. Anyway, now I aim to use Stable Diffusion or some other image generator to generate the thumbnails.
#TESTERS NEEDED The project is now complete! Creators can now use Creator Launchpad for their content creation, being able to generate video ideas and thumbnails, all straight from the app. I want to put the project on Google Play, so I require at least 12 game testers before publishing. If you want to help with my project, please email me at [email protected]
I wanted to put a quick number of updates before shipping the project because it isn’t in a state that I am satisfied with yet. I have added dark mode support because I know that without it the app is very bright (it is practically a flashlight). I am now working on implementing a gallery system where thumbnails you have generated can be saved to the thumbnail gallery with the prompt attached. Currently you would have to share the thumbnail and then save it to your phone, so this makes it more convenient. I also added some more categories, hopefully this covers all the key areas of content creation now.
This is now the final stretch of the project before I ship!!! I have finished the gallery section of the app, and it enables users to save their generated thumbnails, manage and delete them. This means that if there’s a thumbnail that you want to keep, you can save it to your gallery instead of needing to share or export it. Also, the prompt used to generate the thumbnail is listed at the bottom so that you could use the prompt to generate the thumbnail again.
Ships:
This is Creator Launchpad, the platform that streamlines content creation, from video ideas to content creation. I created this app because content creation has grown so much in the past few years, and it can sometimes feel like it is too competitive. I though it would be cool to create a way to speed up parts of the process that aren’t necessarily the most fun, for example thumbnail creation. By picking a category, either generating an idea or writing your own, Creator Launchpad utilises Gemini API to create a customized thumbnail, save it to your personal gallery and then share it. I have already found myself just using the app to see how different thumbnail prompts would turn out, and it is quite cool to see ideas being turned into usable concepts....
|
1794023374.3256836
|
1794109774.3256836
|
|
11054
|
Project Tracker by @JasonC9 | Stardance
|
JasonC9
|
1
|
16.0
|
220
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T20:00:58Z", "hours": 16.0, "multiplier": 13.39, "payout": 220, "blessing": "neutral", "text": "I built a project tracker that runs in your browser using HTML, CSS, and JavaScript, where all project data is stored in a projects.json file. The main challenge was making the JavaScript, especially syncing edits across the dashboard, checklist, and editor while avoiding missing or broken code. Some projects don’t have BOMs or journals. To save it properly, you need to download the JSON file and upload it to the website root directory /root , since everything depends on that file for storage.", "repo": "https://github.com/anadskman/Project-Tracker", "demo": "https://anadskman.github.io/ProjectTracker/"}]...
|
[{"post_id": 7026, "ts": "2026 [{"post_id": 7026, "ts": "2026-06-11T19:45:11Z", "hours": 1.6639, "text": "Made checklist page similar as edit page download json and upload to website root to save globally Made mobile Friendly Made github"}, {"post_id": 6817, "ts": "2026-06-11T13:18:38Z", "hours": 1.4869, "text": "made editor have journal/bom buttons edit links edit status dashboard display from json projects page displays from json filled info for blueprint/flavortown in .json To Do Make checklist page Add Database(mightnt do, downloading and uploading the json fill would be easier) Make Github Page!!!"}, {"post_id": 6275, "ts": "2026-06-10T15:31:04Z", "hours": 4.4389, "text": "uploaded boms and journals for blueprint/flavortown Worked on Upload/Edit Page Current Features Edit Projects on right panel and hit save. download the json and replace with current one to save changes outside of local 4 items in the center are editable Add Programs/Projects buttons (Save Locally ATM ) To Do Add image upload/change change local storage to database(last thing) make projects in projects and dashboard pages load from projects.json instead of static make checklist page Add rest of info for blueprint/flavortown in .json"}, {"post_id": 4994, "ts": "2026-06-08T17:16:20Z", "hours": 3.7511, "text": "Completed Made Header Cleaner Dashboard Cleaner Projects Page Collapse button for each section Filter between project status and cost stats display at top of dashboard Fixed journal/bom box sizes made links next to eachother at the bottom Changed Global font to inter Changed color scheme to match and look nicer To Do links for hackatime/lapse upload boms/journals for blueprint and flavortown make upload/edit section make checklist page"}, {"post_id": 4390, "ts": "2026-06-07T18:24:27Z", "hours": 3.0078, "text": "I added a view BOM using a similar system but i ran in to some bugs of course, like the BOM not showing at all, styles not working. At first i was gonna type all the BOMs in as tables one by one but i remembered you can export your BOMs or just use the ones that would of been put in the GitHub. Once everything was looking nice and how i wanted it i did the slower part and copied and pasted it for each and every project and filled in their info. I filled in everything except for the pricing and times on the blueprint and flavortown projects. Additionally i have to upload the BOMs and journals for those projects as well. To Do List: Upload BOMs, Journals, Time, and Prices to Blueprint and Flavortown Projects Possibly make a “frontend” upload control so if others want to use this they can easy add in their own projects into their own copy of the site Possibly Filter option for completed and in progress projects Links section, for lapse or hackatime Cleaner Dashboard, collapse button for projects*(each program its own button)* Stats in the dashboard header to move between hackclub.html and index.html"}, {"post_id": 4216, "ts": "2026-06-07T13:31:35Z", "hours": 2.1431, "text": "Made the project list, and added a Status bar, links to github and hackclub sites, when you click on the project itself it takes you to its own page. I made the stasis page but only with the stopwatch on it so far. its the same setup but i added a total time, cost and the journals. For the journals i used zero-md. Heres the code for that if you wanna use it yourself: <head> script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/zero-md@3?register\"></script> </head> <body> <div class=\"journal\"> <details> <summary>View Journal</summary> <zero-md src=\"journals/Desktop-Stopwatch-JOURNAL.md\"> <template data-append> <style> img { max-width: 20% !important; width: 100% !important; height: auto !important; display: block !important; margin: 10px 0 !important; } </style> </template> </zero-md> </details> </div> </body>"}]...
|
Title: Project Tracker by @JasonC9 | Stardance
De Title: Project Tracker by @JasonC9 | Stardance
Devlogs:
Made the project list, and added a Status bar, links to github and hackclub sites, when you click on the project itself it takes you to its own page. I made the stasis page but only with the stopwatch on it so far. its the same setup but i added a total time, cost and the journals. For the journals i used zero-md. Heres the code for that if you wanna use it yourself: <head> script type="module" src="https://cdn.jsdelivr.net/npm/zero-md@3?register"></script> </head> <body> <div class="journal"> <details> <summary>View Journal</summary> <zero-md src="journals/Desktop-Stopwatch-JOURNAL.md"> <template data-append> <style> img { max-width: 20% !important; width: 100% !important; height: auto !important; display: block !important; margin: 10px 0 !important; } </style> </template> </zero-md> </details> </div> </body>
I added a view BOM using a similar system but i ran in to some bugs of course, like the BOM not showing at all, styles not working. At first i was gonna type all the BOMs in as tables one by one but i remembered you can export your BOMs or just use the ones that would of been put in the GitHub. Once everything was looking nice and how i wanted it i did the slower part and copied and pasted it for each and every project and filled in their info. I filled in everything except for the pricing and times on the blueprint and flavortown projects. Additionally i have to upload the BOMs and journals for those projects as well. To Do List: Upload BOMs, Journals, Time, and Prices to Blueprint and Flavortown Projects Possibly make a “frontend” upload control so if others want to use this they can easy add in their own projects into their own copy of the site Possibly Filter option for completed and in progress projects Links section, for lapse or hackatime Cleaner Dashboard, collapse button for projects*(each program its own button)* Stats in the dashboard header to move between hackclub.html and index.html
Completed Made Header Cleaner Dashboard Cleaner Projects Page Collapse button for each section Filter between project status and cost stats display at top of dashboard Fixed journal/bom box sizes made links next to eachother at the bottom Changed Global font to inter Changed color scheme to match and look nicer To Do links for hackatime/lapse upload boms/journals for blueprint and flavortown make upload/edit section make checklist page
uploaded boms and journals for blueprint/flavortown Worked on Upload/Edit Page Current Features Edit Projects on right panel and hit save. download the json and replace with current one to save changes outside of local 4 items in the center are editable Add Programs/Projects buttons (Save Locally ATM ) To Do Add image upload/change change local storage to database(last thing) make projects in projects and dashboard pages load from projects.json instead of static make checklist page Add rest of info for blueprint/flavortown in .json
made editor have journal/bom buttons edit links edit status dashboard display from json projects page displays from json filled info for blueprint/flavortown in .json To Do Make checklist page Add Database(mightnt do, downloading and uploading the json fill would be easier) Make Github Page!!!
Made checklist page similar as edit page download json and upload to website root to save globally Made mobile Friendly Made github
Ships:
I built a project tracker that runs in your browser using HTML, CSS, and JavaScript, where all project data is stored in a projects.json file. The main challenge was making the JavaScript, especially syncing edits across the dashboard, checklist, and editor while avoiding missing or broken code. Some projects don’t have BOMs or journals. To save it properly, you need to download the JSON file and upload it to the website root directory /root , since everything depends on that file for storage....
|
1793955201.4533768
|
1794041601.4533768
|
|
57508
|
SWAG Tab by @berragurlesin | Stardance
|
berragurlesin
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T20:02:49Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a new tab page that is fully customizable and allows everyone to reflect their own style. It’s called SWAG tab! From stickers you can add, remove, and resize to a box where you can write your name, from daily APOD space updates from NASA to a motivational note box… many things you can think of. I learned the basics by following the guide and fetched the APOD from NASA. Afterwards I added the features I would want for my new tab page one by one as they came to mind. Adjusting the sticker sizes was a big struggle, but I finally managed it! Overall, I really enjoyed working on this project. If you’d like to have a cool new tab page yourself, or want to learn more please read the README first, and then try the project. I would love to hear your thoughts!", "repo": "https://github.com/berragurlesin/My-Swag-Tab", "demo": "https://berragurlesin.github.io/My-Swag-Tab/"}]...
|
[{"post_id": 70243, "ts": "202 [{"post_id": 70243, "ts": "2026-09-18T19:38:35Z", "hours": 1.6725, "text": "devlog #13 it seems like SWAG tab is finally done! We can now adjust the sticker sizes. And I wrote the project README so you can get a handle on the details. I’d be absolutely happy if you could take a look and share your feedback"}, {"post_id": 69281, "ts": "2026-09-16T18:39:59Z", "hours": 2.3558, "text": "devlog #12 hii, being motivated is important and as people with goals we need it. That’s why there’s now a motivational note box in SWAG Tab! I’ll also be working on adding default options (plus, you can move this box wherever you like and it works AWESOME) Also, NASA sent a video a few days ago but it gave an error again, it seems to be a permissions issue. So I added a button that links directly to the NASA APOD page, that way the video can be watched! I hadn’t been able to share a devlog but if another video comes through I’ll show it. Ooh, and I also made it possible to drag the NASA photo box!"}, {"post_id": 66682, "ts": "2026-09-12T15:38:38Z", "hours": 1.6697, "text": "devlog#11 hey everyone! you can now write a name using ransom note letters inside the “my name is” tag (I’m thinking of changing this style or adding different options later) I added three font size levels, the letters shrink as the word gets longer, so it looks betterrr. ooh, and also since I was used to it I was entering Turkish characters, so I added a function to convert them (though adding different characters directly later on might be better)"}, {"post_id": 66583, "ts": "2026-09-12T12:53:38Z", "hours": 0.5464, "text": "devlog#10 heelloo, I was getting an error when a video came from NASA, so I had to write the code to handle both scenarios. But then I realized there was a conflict because the image wasn’t being hidden when the video appeared. I also learned that YouTube links etc. can come through as well, so I added a parameter to account for those cases too. Insallah, this solves the problem!"}, {"post_id": 64987, "ts": "2026-09-09T19:13:41Z", "hours": 2.0233, "text": "devlog#09 hiyaa, I spent a long time trying to add a function to adjust sticker sizes, but once I added it other features stopped working properly…I couldn’t add or drag stickers, and so on :( If you have any ideas on how to fix this, please lmk. BUUUT I did add something I really love, a cute label where you can write your name! I made it stick out a bit, adjusted the angle and placement etc. though I’m going to try changing the text to a different font. Also, a problem show up with the image/video coming from NASA today. I think it is a video for today and the issue occurs from that, I’m gonna try to fix it now"}, {"post_id": 63554, "ts": "2026-09-07T13:58:29Z", "hours": 2.2025, "text": "devlog#08 Hi guyss! There is a super important update, SWAG Tab is now even more customizable! I’ve coded the sticker adding feature I’ve had in mind from the very beginning (some parts were really tricky :D) First, I loaded default stickers and set their positions. I decided that two of them shouldn’t be deletable (the star near the search bar and the limited edition sticker. I used “canBeDeleted” boolean variable to ensure those set to false couldn’t be removed) though their positions can still be changed by user. (actually, you can move any sticker wherever you want, though there are a few bugs I still need to fix) In the video, I clear the local storage and show the default positions. Also, all of the user’s edits are saved locally. In short, the user can now add and remove stickers and move them anywhere they want on the page. However, the sizes of the stickers need to be adjustable, the next devlog might be about that! If you’ve read this far, lmk what do you think about stickers!"}, {"post_id": 63158, "ts": "2026-09-06T20:06:42Z", "hours": 1.3919, "text": "devlog #07 we can now change the backgroundd I’ve added a few options that match the theme, but you can also select your own file if you want. I designed the icon for the background settings myself, I didn’t want a normal settings icon, so I added the star to it, I think it looks good now!"}, {"post_id": 62483, "ts": "2026-09-05T21:04:39Z", "hours": 2.6047, "text": "devlog #06 hey there! SWAG tab is progressing. I thought that if I am building a tab I need to add shortcuts, and I’ve spent the last three hours working on this. Now there’s a box that we can add our fav shortcuts. I put a lot of thought into the design, and this is the result! I used Google favicon fetcher to get the app icons (otherwise they look pretty bad) and I added a button to delete them if needed, make them match to the overall theme. I also applied a glittery background to the box that I really like. As the next step, I’m thinking of adding a feature to change the background color (the blue one), because I’m already itching to see some different colors! :D"}, {"post_id": 61444, "ts": "2026-09-04T11:23:46Z", "hours": 1.0986, "text": "devlog #05 now, I can fetch images from NASA! I added a api key and used it by following the steps in the guide. I learned that NASA sometimes uploads videos for APOD, so I wrote an if statement and make sure nothing breaks when a video loads. I also customized the styling!"}, {"post_id": 61030, "ts": "2026-09-03T18:45:26Z", "hours": 0.3783, "text": "devlog #04 standard fonts didn’t give me the vibe I was looking for, so I cropped the numbers I mentioned in my previous devlog, made them all the same size and removed their backgrounds. Got them working on the clock! made the images cycle through in order every second. How is it going?"}, {"post_id": 60959, "ts": "2026-09-03T17:18:01Z", "hours": 0.6617, "text": "devlog #03 hii, I created a live digital clock that updates itself using JS’s date object and the setInterval function. I wanna change this clock with numbers in my own style (I found a font!) now I’m going to look into how to do that"}, {"post_id": 60462, "ts": "2026-09-02T20:00:11Z", "hours": 0.37, "text": "devlog #02 I found these colors on pinterest (I added the reference) and applied that blue color to my background, I also added a google search bar and adjusted its colors as well"}, {"post_id": 60210, "ts": "2026-09-02T13:12:10Z", "hours": 0.2778, "text": "devlog #01 hey everyone, I followed the steps in the mission guide and I think I’ve got the basics down (yup!) next up is customizing my own tab"}]...
|
Title: SWAG Tab by @berragurlesin | Stardance
Dev Title: SWAG Tab by @berragurlesin | Stardance
Devlogs:
devlog #01 hey everyone, I followed the steps in the mission guide and I think I’ve got the basics down (yup!) next up is customizing my own tab
devlog #02 I found these colors on pinterest (I added the reference) and applied that blue color to my background, I also added a google search bar and adjusted its colors as well
devlog #03 hii, I created a live digital clock that updates itself using JS’s date object and the setInterval function. I wanna change this clock with numbers in my own style (I found a font!) now I’m going to look into how to do that
devlog #04 standard fonts didn’t give me the vibe I was looking for, so I cropped the numbers I mentioned in my previous devlog, made them all the same size and removed their backgrounds. Got them working on the clock! made the images cycle through in order every second. How is it going?
devlog #05 now, I can fetch images from NASA! I added a api key and used it by following the steps in the guide. I learned that NASA sometimes uploads videos for APOD, so I wrote an if statement and make sure nothing breaks when a video loads. I also customized the styling!
devlog #06 hey there! SWAG tab is progressing. I thought that if I am building a tab I need to add shortcuts, and I’ve spent the last three hours working on this. Now there’s a box that we can add our fav shortcuts. I put a lot of thought into the design, and this is the result! I used Google favicon fetcher to get the app icons (otherwise they look pretty bad) and I added a button to delete them if needed, make them match to the overall theme. I also applied a glittery background to the box that I really like. As the next step, I’m thinking of adding a feature to change the background color (the blue one), because I’m already itching to see some different colors! :D
devlog #07 we can now change the backgroundd I’ve added a few options that match the theme, but you can also select your own file if you want. I designed the icon for the background settings myself, I didn’t want a normal settings icon, so I added the star to it, I think it looks good now!
devlog#08 Hi guyss! There is a super important update, SWAG Tab is now even more customizable! I’ve coded the sticker adding feature I’ve had in mind from the very beginning (some parts were really tricky :D) First, I loaded default stickers and set their positions. I decided that two of them shouldn’t be deletable (the star near the search bar and the limited edition sticker. I used “canBeDeleted” boolean variable to ensure those set to false couldn’t be removed) though their positions can still be changed by user. (actually, you can move any sticker wherever you want, though there are a few bugs I still need to fix) In the video, I clear the local storage and show the default positions. Also, all of the user’s edits are saved locally. In short, the user can now add and remove stickers and move them anywhere they want on the page. However, the sizes of the stickers need to be adjustable, the next devlog might be about that! If you’ve read this far, lmk what do you think about stickers!
devlog#09 hiyaa, I spent a long time trying to add a function to adjust sticker sizes, but once I added it other features stopped working properly…I couldn’t add or drag stickers, and so on :( If you have any ideas on how to fix this, please lmk. BUUUT I did add something I really love, a cute label where you can write your name! I made it stick out a bit, adjusted the angle and placement etc. though I’m going to try changing the text to a different font. Also, a problem show up with the image/video coming from NASA today. I think it is a video for today and the issue occurs from that, I’m gonna try to fix it now
devlog#10 heelloo, I was getting an error when a video came from NASA, so I had to write the code to handle both scenarios. But then I realized there was a conflict because the image wasn’t being hidden when the video appeared. I also learned that YouTube links etc. can come through as well, so I added a parameter to account for those cases too. Insallah, this solves the problem!
devlog#11 hey everyone! you can now write a name using ransom note letters inside the “my name is” tag (I’m thinking of changing this style or adding different options later) I added three font size levels, the letters shrink as the word gets longer, so it looks betterrr. ooh, and also since I was used to it I was entering Turkish characters, so I added a function to convert them (though adding different characters directly later on might be better)
devlog #12 hii, being motivated is important and as people with goals we need it. That’s why there’s now a motivational note box in SWAG Tab! I’ll also be working on adding default options (plus, you can move this box wherever you like and it works AWESOME) Also, NASA sent a video a few days ago but it gave an error again, it seems to be a permissions issue. So I added a button that links directly to the NASA APOD page, that way the video can be watched! I hadn’t been able to share a devlog but if another video comes through I’ll show it. Ooh, and I also made it possible to drag the NASA photo box!
devlog #13 it seems like SWAG tab is finally done! We can now adjust the sticker sizes. And I wrote the project README so you can get a handle on the details. I’d be absolutely happy if you could take a look and share your feedback
Ships:
I created a new tab page that is fully customizable and allows everyone to reflect their own style. It’s called SWAG tab! From stickers you can add, remove, and resize to a box where you can write your name, from daily APOD space updates from NASA to a motivational note box… many things you can think of. I learned the basics by following the guide and fetched the APOD from NASA. Afterwards I added the features I would want for my new tab page one by one as they came to mind. Adjusting the sticker sizes was a big struggle, but I finally managed it! Overall, I really enjoyed working on this project. If you’d like to have a cool new tab page yourself, or want to learn more please read the README first, and then try the project. I would love to hear your thoughts!...
|
1794023513.7243721
|
1794109913.7243721
|
|
63537
|
mesa by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T10:50:18Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "last ship of this . it open source contribution in mesa(linux gpu driver) . i fix descriptor_heap crash problem that got merge in NIR mesa . about test ? if ur using linux in mesa its already in realease other pr are still in review .", "repo": "https://gitlab.freedesktop.org/rajaryan1492007/mesa", "demo": "https://gitlab.freedesktop.org/rajaryan1492007/mesa/-/blob/main/README.rst?ref_type=heads"}]...
|
[{"post_id": 70234, "ts": "202 [{"post_id": 70234, "ts": "2026-09-18T19:19:45Z", "hours": 11.7567, "text": "got my first pr merged"}]...
|
Title: mesa by @rajaryan1492007 | Stardance
Devlo Title: mesa by @rajaryan1492007 | Stardance
Devlogs:
got my first pr merged
Ships:
last ship of this . it open source contribution in mesa(linux gpu driver) . i fix descriptor_heap crash problem that got merge in NIR mesa . about test ? if ur using linux in mesa its already in realease other pr are still in review ....
|
1794041427.4465404
|
1794127827.4465404
|
|
44283
|
fred's games by @Googentity | Stardance
|
Googentity
|
0
|
5.34
|
0
|
[]
|
[{"post_id": 70231, "ts": "202 [{"post_id": 70231, "ts": "2026-09-18T19:11:01Z", "hours": 1.1419, "text": "you can actully collect the hajes in the platformer minigame but the heart code is broken so i might fix that after writing this devlog (also i hit 42 hours on godot on steam )"}, {"post_id": 43956, "ts": "2026-08-09T12:38:32Z", "hours": 1.5289, "text": "made the basics of the first minigame (a platformer where you need to collect 3 blahajes) and also made the animation for the hajes which doesnt show in game for some reason, also its not possible to collect the blahajes which i did try to correct in this update but i will also try after i post this devlog, also the timer thingy shows the milliseconds now"}, {"post_id": 42677, "ts": "2026-08-07T15:05:14Z", "hours": 1.8669, "text": "i have finally made the level_scene code work, the fact that it took 1 hour and 52 minutes to fix should be enough, however i unfortunately needed to use chatgpt for the fix but at least the code works now which is very much a relief"}, {"post_id": 42172, "ts": "2026-08-06T19:45:33Z", "hours": 0.3825, "text": "i made the quit button and its script and also made the level counter thingy, i also deleted the settings button because i don’t think i’ll add in a settings menu, due to the settings button being eliminated i further redesigned the main menu, also i initially made a heart in aseprite but it turned out weird in exporting so i resorted to using an image from the internet"}, {"post_id": 42148, "ts": "2026-08-06T19:14:10Z", "hours": 0.4208, "text": "i made the menu layout and the code for the start button, i initially made the buttons vertical using the vbox container, but decided to do a diagonal layout"}]...
|
Title: fred's games by @Googentity | Stardance Title: fred's games by @Googentity | Stardance
Devlogs:
i made the menu layout and the code for the start button, i initially made the buttons vertical using the vbox container, but decided to do a diagonal layout
i made the quit button and its script and also made the level counter thingy, i also deleted the settings button because i don’t think i’ll add in a settings menu, due to the settings button being eliminated i further redesigned the main menu, also i initially made a heart in aseprite but it turned out weird in exporting so i resorted to using an image from the internet
i have finally made the level_scene code work, the fact that it took 1 hour and 52 minutes to fix should be enough, however i unfortunately needed to use chatgpt for the fix but at least the code works now which is very much a relief
made the basics of the first minigame (a platformer where you need to collect 3 blahajes) and also made the animation for the hajes which doesnt show in game for some reason, also its not possible to collect the blahajes which i did try to correct in this update but i will also try after i post this devlog, also the timer thingy shows the milliseconds now
you can actully collect the hajes in the platformer minigame but the heart code is broken so i might fix that after writing this devlog (also i hit 42 hours on godot on steam )...
|
1794005293.5390189
|
1794610093.5390189
|
|
59094
|
NEXKEY by @Sammy_Uranus | Stardance
|
Sammy_Uranus
|
0
|
2.78
|
0
|
[]
|
[{"post_id": 70225, "ts": "202 [{"post_id": 70225, "ts": "2026-09-18T18:58:36Z", "hours": 2.7833, "text": "#Devlog 1 — NexKey: The First Lines of the Circuit ⚡ Today I finally started working on NexKey , my own custom macropad. 🎯 The main goal I want to build a macropad completely by myself — including the PCB . Today was mostly about getting started with KiCad and figuring out how everything will connect. 🔧 What I worked on I started building the schematic and divided it into different parts: 🧠 MCU + Power ⌨️ 9-Key Matrix 🖥️ TFT Display + SD Card 🔄 Rotary Encoder 🌈 RGB LEDs I also planned how everything will communicate with the XIAO ESP32 . The TFT and SD card will share the same SPI bus, while the keys will use a 3×3 matrix with an MCP23017 GPIO expander. For RGB, I’m using SK6812MINI-E LEDs in a chain. 🧩 What I learned I thought PCB design was mostly about placing components and drawing tracks… Turns out, there’s a LOT of planning before routing even starts. 😭 Day 1 done. ✅"}]...
|
Title: NEXKEY by @Sammy_Uranus | Stardance
Devlog Title: NEXKEY by @Sammy_Uranus | Stardance
Devlogs:
#Devlog 1 — NexKey: The First Lines of the Circuit ⚡ Today I finally started working on NexKey , my own custom macropad. 🎯 The main goal I want to build a macropad completely by myself — including the PCB . Today was mostly about getting started with KiCad and figuring out how everything will connect. 🔧 What I worked on I started building the schematic and divided it into different parts: 🧠 MCU + Power ⌨️ 9-Key Matrix 🖥️ TFT Display + SD Card 🔄 Rotary Encoder 🌈 RGB LEDs I also planned how everything will communicate with the XIAO ESP32 . The TFT and SD card will share the same SPI bus, while the keys will use a 3×3 matrix with an MCP23017 GPIO expander. For RGB, I’m using SK6812MINI-E LEDs in a chain. 🧩 What I learned I thought PCB design was mostly about placing components and drawing tracks… Turns out, there’s a LOT of planning before routing even starts. 😭 Day 1 done. ✅...
|
1793530309.4992852
|
1794135109.4992852
|
|
42291
|
Rocket Prototype by @orin_gibson | Stardance
|
orin_gibson
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T02:36:43Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Odyssey, a model rocket built around accessible materials, custom 3D-printed parts and the Orion Flight Computer PCB. I started knowing very little about rocket design, so this project involved learning SolidWorks, OpenRocket and KiCad as I went! The biggest challenge was making the nose cone practical. My first prototype didn’t fit properly, and the next version still had problems with fastening the recovery eye hook and fitting the payload inside. After several iterations, I developed a modular shoulder and nose-cone assembly using heat-set inserts and M3 fasteners. I’m particularly proud of turning unfamiliar software into physical parts I could assemble, and getting my own PCB manufactured. The airframe is assembled, but avionics assembly, ground testing and flight testing are still ahead. You can explore the CAD, PCB files, build guide and design journal on GitHub, and try the interactive OpenRocket flight replay in your browser. The replay shows simulated predictions, not results from a physical launch. https://github.com/Oringineering/OdysseyRocket", "repo": "https://github.com/Oringineering/OdysseyRocket", "demo": ""}]...
|
[{"post_id": 70224, "ts": "202 [{"post_id": 70224, "ts": "2026-09-18T18:58:02Z", "hours": 5.15, "text": "Rocket Prototype | Devlog 11 - The End? Far from it. I revised the entirety of the Rocket Nose Cone and realised a pressing issue: “you can’t access the inside of the nose cone.” Rookie mistake. On my third design, I decided to separate the nose cone into three components: the shoulder, the actual nose cone/ogive, and an avionics sled for the PCB components to be stored. (BTW the time recorded for this was ONLY for the sled that I finally finished today - the remaining components were me not being bothered to record [whoops]). The avionics sled SHOULD be printed out by tomorrow but lets see how that goes!"}, {"post_id": 53915, "ts": "2026-08-24T16:54:47Z", "hours": 1.55, "text": "Rocket Prototype | Devlog 10 - Shipment // FIN. GitHub is complete. Simulations are complete. Prototype model is done."}, {"post_id": 53571, "ts": "2026-08-24T05:06:36Z", "hours": 6.5, "text": "Rocket Prototype | Devlog 9 - Rocket Nose Finalisation and more GitHub Repo Editing! Today I spent hours of moiling away at SolidWorks: Learning how to add Fillets Creating a boss structure Building the nose cone module and the shock cord section that attaches to the eyebolt. This is likely going to be the last or second last dev log I upload as I am 90-95% complete now!"}, {"post_id": 52598, "ts": "2026-08-22T20:02:38Z", "hours": 5.9136, "text": "Rocket Prototype | Devlog 8 - Rocket Nose Cone Amendments and GitHub Repo Editing! I spent an ungodly amount of time scanning through my GitHub Repo, overhauling it and optimising it in preparation for shipping. There’s still a fair amount of work to do, but I got through a fair chunk of it. I also made an updated model for the Rocket Nose Cone. It’s far from complete as I need to discern the appropriateness of measurements when incorporating the shock cord module into the shoulder linked to the nose cone. I aim to finish a fair majority of this project tomorrow so stay tuned!"}, {"post_id": 51654, "ts": "2026-08-21T13:30:36Z", "hours": 9.0903, "text": "Rocket Prototype | Devlog 7 - PCB COMPLETION!!! Today has been nothing short of thrilling: I finished my PCB for the Orion Flight Computer for my Odyssey Rocket. I revised the schematics in KiCad, caught some errors and fixed the footprints before implementing the final touches (don’t go too hard on my design this is my first one). I learnt how to make the Nose Cone for my Rocket in SolidWorks! It’s a Von Karman Ogive that may be too optimised for subsonic travel, but we shall see…. My //README.md// and //journal.md// has been updated to reflect these changes. Now…what’s next? Code the C+ code (or whichever coding language) is required for the Orion Flight Computer. Assemble a Bill of Materials. Finish the project and finalise it for funding as my 19th birthday under 2 weeks away…."}, {"post_id": 48212, "ts": "2026-08-16T14:45:30Z", "hours": 4.4517, "text": "Rocket Prototype - Devlog 4 Today, I learnt the fundamentals of KiCad and was able to build my own schematic for the way I would like to structure the projects computer. It pretty much just features an Arduino, MPU6050, and BMP388.I have had zero experience in this field, so this was a challenging yet rewarding experience after I got it down pat! This is basic for now; I intend on adding a power source (for obvious reasons) and a MicroSD card reader for in-flight tracking.Stay tuned for when I make the PCB! (this is a reupload: I asked the Stardance developers to shift this post from one project to this one on Slack but due to a lack of response and not wanting to lose the hours I committed, I did this so that the hours would be here when it came to product shipment). Mods: Please refer to https://stardance.hackclub.com/projects/47535 for the associated session."}, {"post_id": 47954, "ts": "2026-08-16T06:58:22Z", "hours": 2.1642, "text": "Rocket Prototype | Devlog 6 Today, I just spent some time reconstructing the MPU6050 component as the Adafruit variation was different compared to the industry standard component (12 pins versus 6 pins). I updated the schematic to accommodate for these changes. As such, since I have finished the schematics and footprints for all of the components, I will shift my focus toward making the actual PCB for the Orion Flight Computer (I thought the name sounded cool). Looking forward to building it!"}, {"post_id": 46823, "ts": "2026-08-14T10:46:51Z", "hours": 3.5508, "text": "Rocket Prototype | Devlog 5 Today, I mastered the fundamentals of KiCad. I determined appropriate wiring as well as finalising schematics for the components. Tomorrow, I’ll have to redo the MPU6050 component as I decided to change to a more documented part, but otherwise, a productive session nonetheless! I also learnt how footprints operate, and managed to design them in preparation for the final step, which would be making the custom PCB!"}, {"post_id": 44067, "ts": "2026-08-09T16:11:50Z", "hours": 1.4756, "text": "Rocket Prototype | Devlog 3 Today, I finally learned the fundamentals of OpenRocket! I worked out where to place the individual components, such as the parachute deployment system, whilst also discerning key concepts like the centre of gravity and centre of pressure. I modelled it within the optimal stability range of 1.5-2 cal with it being 2.01 cal. This was truly a fun process as I got to play around with dimensions, measure some components irl (the body of my rocket is going to be a 660x60mm postal tube, so I based the measurements of this as such!). Now that I have planned out the build dimensions, I can shift my focus towards learning how to make an avionics bay and furthering my SolidWorks knowledge!"}, {"post_id": 43465, "ts": "2026-08-08T18:57:57Z", "hours": 1.6492, "text": "Rocket Prototype | Devlog 2 introduced myself to OpenRocket, an open-source program that lets you visualise a rocket and run simulations on it. I managed to grasp a basic understanding of how the software works: you select the components you want for your rocket while determining the appropriateness of certain features to optimise factors such as: Stability CP — Centre of Pressure CG — Centre of Gravity Aerodynamic performance Something I initially struggled with was producing a stable rocket. From what I later discerned, my stability calibre was not optimal and was one reason why the rocket was underperforming in simulations. I initially had a stability value above 2.8 cal, believing that a higher calibre automatically meant a more stable rocket. However, excessive stability can also result in poorer aerodynamic behaviour."}, {"post_id": 40304, "ts": "2026-08-03T18:52:33Z", "hours": 0.5833, "text": "Log 1 - Learning Software! I had a busy day today studying for engineering, working, and gymming but I promised myself that I would get started on this project! Today, I spent just over half an hour familiarising myself with Solidworks, mirroring a YouTube tutorial as well as experimenting with its own features. This is one small step for progress and one giant leap into my journey to building my first project! I will keep myself accountable throughout this journey and I cannot wait for the finalised project!"}]...
|
Title: Rocket Prototype by @orin_gibson | Stardanc Title: Rocket Prototype by @orin_gibson | Stardance
Devlogs:
Log 1 - Learning Software! I had a busy day today studying for engineering, working, and gymming but I promised myself that I would get started on this project! Today, I spent just over half an hour familiarising myself with Solidworks, mirroring a YouTube tutorial as well as experimenting with its own features. This is one small step for progress and one giant leap into my journey to building my first project! I will keep myself accountable throughout this journey and I cannot wait for the finalised project!
Rocket Prototype | Devlog 2 introduced myself to OpenRocket, an open-source program that lets you visualise a rocket and run simulations on it. I managed to grasp a basic understanding of how the software works: you select the components you want for your rocket while determining the appropriateness of certain features to optimise factors such as: Stability CP — Centre of Pressure CG — Centre of Gravity Aerodynamic performance Something I initially struggled with was producing a stable rocket. From what I later discerned, my stability calibre was not optimal and was one reason why the rocket was underperforming in simulations. I initially had a stability value above 2.8 cal, believing that a higher calibre automatically meant a more stable rocket. However, excessive stability can also result in poorer aerodynamic behaviour.
Rocket Prototype | Devlog 3 Today, I finally learned the fundamentals of OpenRocket! I worked out where to place the individual components, such as the parachute deployment system, whilst also discerning key concepts like the centre of gravity and centre of pressure. I modelled it within the optimal stability range of 1.5-2 cal with it being 2.01 cal. This was truly a fun process as I got to play around with dimensions, measure some components irl (the body of my rocket is going to be a 660x60mm postal tube, so I based the measurements of this as such!). Now that I have planned out the build dimensions, I can shift my focus towards learning how to make an avionics bay and furthering my SolidWorks knowledge!
Rocket Prototype | Devlog 5 Today, I mastered the fundamentals of KiCad. I determined appropriate wiring as well as finalising schematics for the components. Tomorrow, I’ll have to redo the MPU6050 component as I decided to change to a more documented part, but otherwise, a productive session nonetheless! I also learnt how footprints operate, and managed to design them in preparation for the final step, which would be making the custom PCB!
Rocket Prototype | Devlog 6 Today, I just spent some time reconstructing the MPU6050 component as the Adafruit variation was different compared to the industry standard component (12 pins versus 6 pins). I updated the schematic to accommodate for these changes. As such, since I have finished the schematics and footprints for all of the components, I will shift my focus toward making the actual PCB for the Orion Flight Computer (I thought the name sounded cool). Looking forward to building it!
Rocket Prototype - Devlog 4 Today, I learnt the fundamentals of KiCad and was able to build my own schematic for the way I would like to structure the projects computer. It pretty much just features an Arduino, MPU6050, and BMP388.I have had zero experience in this field, so this was a challenging yet rewarding experience after I got it down pat! This is basic for now; I intend on adding a power source (for obvious reasons) and a MicroSD card reader for in-flight tracking.Stay tuned for when I make the PCB! (this is a reupload: I asked the Stardance developers to shift this post from one project to this one on Slack but due to a lack of response and not wanting to lose the hours I committed, I did this so that the hours would be here when it came to product shipment). Mods: Please refer to https://stardance.hackclub.com/projects/47535 for the associated session.
Rocket Prototype | Devlog 7 - PCB COMPLETION!!! Today has been nothing short of thrilling: I finished my PCB for the Orion Flight Computer for my Odyssey Rocket. I revised the schematics in KiCad, caught some errors and fixed the footprints before implementing the final touches (don’t go too hard on my design this is my first one). I learnt how to make the Nose Cone for my Rocket in SolidWorks! It’s a Von Karman Ogive that may be too optimised for subsonic travel, but we shall see…. My //README.md// and //journal.md// has been updated to reflect these changes. Now…what’s next? Code the C+ code (or whichever coding language) is required for the Orion Flight Computer. Assemble a Bill of Materials. Finish the project and finalise it for funding as my 19th birthday under 2 weeks away….
Rocket Prototype | Devlog 8 - Rocket Nose Cone Amendments and GitHub Repo Editing! I spent an ungodly amount of time scanning through my GitHub Repo, overhauling it and optimising it in preparation for shipping. There’s still a fair amount of work to do, but I got through a fair chunk of it. I also made an updated model for the Rocket Nose Cone. It’s far from complete as I need to discern the appropriateness of measurements when incorporating the shock cord module into the shoulder linked to the nose cone. I aim to finish a fair majority of this project tomorrow so stay tuned!
Rocket Prototype | Devlog 9 - Rocket Nose Finalisation and more GitHub Repo Editing! Today I spent hours of moiling away at SolidWorks: Learning how to add Fillets Creating a boss structure Building the nose cone module and the shock cord section that attaches to the eyebolt. This is likely going to be the last or second last dev log I upload as I am 90-95% complete now!
Rocket Prototype | Devlog 10 - Shipment // FIN. GitHub is complete. Simulations are complete. Prototype model is done.
Rocket Prototype | Devlog 11 - The End? Far from it. I revised the entirety of the Rocket Nose Cone and realised a pressing issue: “you can’t access the inside of the nose cone.” Rookie mistake. On my third design, I decided to separate the nose cone into three components: the shoulder, the actual nose cone/ogive, and an avionics sled for the PCB components to be stored. (BTW the time recorded for this was ONLY for the sled that I finally finished today - the remaining components were me not being bothered to record [whoops]). The avionics sled SHOULD be printed out by tomorrow but lets see how that goes!
Ships:
I made Odyssey, a model rocket built around accessible materials, custom 3D-printed parts and the Orion Flight Computer PCB. I started knowing very little about rocket design, so this project involved learning SolidWorks, OpenRocket and KiCad as I went! The biggest challenge was making the nose cone practical. My first prototype didn’t fit properly, and the next version still had problems with fastening the recovery eye hook and fitting the payload inside. After several iterations, I developed a modular shoulder and nose-cone assembly using heat-set inserts and M3 fasteners. I’m particularly proud of turning unfamiliar software into physical parts I could assemble, and getting my own PCB manufactured. The airframe is assembled, but avionics assembly, ground testing and flight testing are still ahead. You can explore the CAD, PCB files, build guide and design journal on GitHub, and try the interactive OpenRocket flight replay in your browser. The replay shows simulated predictions, not results from a physical launch. https://github.com/Oringineering/OdysseyRocket...
|
1794059705.7172508
|
1794146105.7172508
|
|
63415
|
Watch driver controler by @danb1551 | Stardance
|
danb1551
|
0
|
3.54
|
0
|
[]
|
[{"post_id": 70221, "ts": "202 [{"post_id": 70221, "ts": "2026-09-18T18:52:58Z", "hours": 3.5372, "text": "Controlling your PC with esp32 watch kit"}]...
|
Title: Watch driver controler by @danb1551 | Stard Title: Watch driver controler by @danb1551 | Stardance
Devlogs:
Controlling your PC with esp32 watch kit...
|
1793663277.53958
|
1794268077.53958
|
|
63516
|
Chocolate Chip Emulator in Java (chip-8) by @omewi Chocolate Chip Emulator in Java (chip-8) by @omewillem | Stardance...
|
omewillem
|
0
|
1.12
|
0
|
[]
|
[{"post_id": 70214, "ts": "202 [{"post_id": 70214, "ts": "2026-09-18T18:33:14Z", "hours": 1.1164, "text": "I’ve started on the project, and it’s been quite a lot to take in at once. I’m using various sources to actually find how to even make this whole interpreter (I’ll link them below), but that made me even more uncertain on how I’m going to finish this haha. I have used my existing Java knowledge to get a simple display working using Swing, and I’m able to record keypresses, so that’s definitely a good start. I’m now trying to understand how every single component should work in Pico8 but it’s quite hard to understand. I’ve tried my best to “summarise” what every component does in the designated Java class but I still have absolutely no idea what I’m doing. I’m trying to only use actual human-made online sources and not just blatantly ask AI for help since that’s boring. Next step is actually getting some kind of Chip behaviour working, let’s hope that’s gonna go well. Sources that I used: https://austinmorlan.com/posts/chip8_emulator/ https://tobiasvl.github.io/blog/write-a-chip-8-emulator/#memory"}]...
|
Title: Chocolate Chip Emulator in Java (chip-8) by Title: Chocolate Chip Emulator in Java (chip-8) by @omewillem | Stardance
Devlogs:
I’ve started on the project, and it’s been quite a lot to take in at once. I’m using various sources to actually find how to even make this whole interpreter (I’ll link them below), but that made me even more uncertain on how I’m going to finish this haha. I have used my existing Java knowledge to get a simple display working using Swing, and I’m able to record keypresses, so that’s definitely a good start. I’m now trying to understand how every single component should work in Pico8 but it’s quite hard to understand. I’ve tried my best to “summarise” what every component does in the designated Java class but I still have absolutely no idea what I’m doing. I’m trying to only use actual human-made online sources and not just blatantly ask AI for help since that’s boring. Next step is actually getting some kind of Chip behaviour working, let’s hope that’s gonna go well. Sources that I used: https://austinmorlan.com/posts/chip8_emulator/ https://tobiasvl.github.io/blog/write-a-chip-8-emulator/#memory...
|
1793663368.2275379
|
1794268168.2275379
|
|
2910
|
3d game engine by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
4
|
111.0
|
1561
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T04:08:23Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "last ship in hackclub bcuz i turn 19 bye : )", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}, {"ship_num": 2, "ts": "2026-09-13T19:17:52Z", "hours": 14.0, "multiplier": 16.69, "payout": 232, "blessing": "neutral", "text": "i just finally done all thing like stable etc . and search of all libs etc so can really work making really good engine i add milestone etc . u can still test project tho but it will just artitacture doc change and some sync bug fix . other then that i add milestone so i can work on that now but i 19 now today so my hackclub will get end so i just ship to info that . devlog is end but i will continue to work on this engine bcuz it been like year since i st working on it already so anyway . and anything u wanna know u can check my project issues and roadmap", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}, {"ship_num": 3, "ts": "2026-08-26T21:35:30Z", "hours": 71.0, "multiplier": 14.89, "payout": 1056, "blessing": "neutral", "text": "-> I built the Unhuman Engine (UHE) a high-performance, custom 3D game engine written entirely from scratch in C++. It features a custom Vulkan rendering pipeline, Jolt Physics integration, and a 3D spatial audio system using miniaudio. Alongside the engine, I built a fully playable “Aim Lab” style 3D shooter game to showcase its capabilities, complete with skeletal animations, recoil mechanics, and a robust entity component system (ECS). -> Building a Vulkan renderer from the ground up is notoriously difficult due to how explicit the API is. Getting the Vulkan swapchains, descriptors, and framebuffers perfectly synchronized was a massive hurdle. Beyond rendering, building the virtual file system (VFS) to correctly resolve asset paths across different platforms (Linux native and Windows via Wine) required a lot of trial and error, as did managing multithreaded memory cleanup for the audio subsystem to prevent Because of the custom Vulkan architecture and strict C++ optimizations, the game hits 900+ FPS in release builds, even on integrated graphics! the custom pixel-perfect 3D entity picking system we built using Vulkan framebuffers (instead of relying on standard physics raycasting). Finally, the engine architecture is scalable enough that it’s not just for games—it’s designed to handle heavy robotics and autonomous vehicle simulations in the engine . -> The engine supports both Linux and Windows to play the game, just run the UHEGAME executable inside the bin folder. Important: Make sure the assets folder (which contains the 3D models and audio files) is sitting right next to the executable in the same directory, otherwise the game will fall back to a safe mode. Controls: Use your mouse to aim, Left Click to shoot the targets, and press ‘R’ to reload the animated 3D pistol also i write it too big bcuz last time many people said they don’t understand what i did . about running it u can run it in windows and linux both see window build and linux build there to work able excutable file one is uhegame.exe and uhe_editor.exe one is game and other is editor https://github.com/rajaryan2007/UNHUMAN/releases/tag/alpha i will improve the game as time goes i just st with vulkan and other if u have any problem u can ask here https://github.com/rajaryan2007/UNHUMAN/issues if still don’t understand don’t rate down read or search or just read devlog and understand instead of low rating thankyou :)", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}, {"ship_num": 4, "ts": "2026-06-09T19:02:56Z", "hours": 21.0, "multiplier": 14.37, "payout": 273, "blessing": "neutral", "text": "This project has been a daily labor of love for over a year. Over the last 4 to 5 months, I completely rewrote the entire rendering backend, moving away from a legacy OpenGL state machine to an explicit Vulkan pipeline. Along the way, I completely redesigned the Rendering Hardware Interface (RHI) to align with modern graphics architectures. Welcome to UNHUMAN! You are completely free to clone and compile this engine, but please read this first: ->The 50/50 Rule: This is a custom, explicitly defined Vulkan engine currently tailored to a Ryzen/Vega Windows environment. Because Vulkan does not hide driver-level differences (NVIDIA vs. AMD vs. Intel), there is roughly a 50/50 chance it will compile flawlessly or completely explode on your specific GPU setup. ->The Easy Way Out: If you attempt to build the project and hit Vulkan validation errors, device-lost crashes, or strict compilation failures, please do not waste your time trying to debug my RHI! * Visual Verification: If the build fails on your hardware, simply watch the YouTube Walkthrough Video linked below. It contains the full visual proof of the engine running, rendering, and functioning on the native development machine. link -> https://youtu.be/CHDIU61auYo", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}]...
|
[{"post_id": 70209, "ts": "202 [{"post_id": 70209, "ts": "2026-09-18T18:21:31Z", "hours": 4.5, "text": "reading source code of o3de and make my engine barrier better"}, {"post_id": 67555, "ts": "2026-09-13T18:10:01Z", "hours": 1.8844, "text": "just make milestone bar for realase"}, {"post_id": 66844, "ts": "2026-09-12T19:21:25Z", "hours": 2.6544, "text": "make better job system"}, {"post_id": 62020, "ts": "2026-09-05T07:13:01Z", "hours": 4.5067, "text": "add multithreading and better sync"}, {"post_id": 59175, "ts": "2026-08-31T20:15:59Z", "hours": 4.8814, "text": "added text rendering"}, {"post_id": 54512, "ts": "2026-08-25T15:19:38Z", "hours": 2.1939, "text": "added audio and animation"}, {"post_id": 52892, "ts": "2026-08-23T08:38:37Z", "hours": 1.9892, "text": "St making game in my game engine"}, {"post_id": 51531, "ts": "2026-08-21T09:17:58Z", "hours": 3.6897, "text": "added a ci/cd test For engine with lavapipe"}, {"post_id": 45963, "ts": "2026-08-12T19:45:40Z", "hours": 8.6658, "text": "Add descriptor Set fallback and Contribution guidelines"}, {"post_id": 39452, "ts": "2026-08-02T12:29:11Z", "hours": 8.3283, "text": "implemented many fallback feature no less crash add fallback of dynamic_rendering other are pending"}, {"post_id": 30001, "ts": "2026-07-17T07:25:22Z", "hours": 9.0811, "text": "all setup done just have to write fallback now :)"}, {"post_id": 25765, "ts": "2026-07-10T06:41:34Z", "hours": 3.7094, "text": "implementing old renderpass and Framebuffer and other thing to run old hardware"}, {"post_id": 23311, "ts": "2026-07-06T05:53:37Z", "hours": 3.5711, "text": "add more file more function just fallback for Vulkan Engine so it can run in more device"}, {"post_id": 22767, "ts": "2026-07-05T10:54:14Z", "hours": 3.7322, "text": "add support for extension check in Vulkan"}, {"post_id": 21133, "ts": "2026-07-02T22:43:28Z", "hours": 0.9317, "text": "so from now not developing any feature in Game engine for some weeks and Adding fallback to 1.1 to 1.4 vulkan bcuz lot of problem andriod don’t support 1.3 mostly and many gpu like intel have bug in bindless so just adding other to fallback bcuz other are also not good nvidia and amd also have some problem add buildbot that will test like github don’t support gpu to test most probably i will test in software cpu and build system so user can compile and run thing without having any problem so at last only problem left is gpu vendor specific that i will cover through blender o3de engine that how engine can run in most gpus i give better doc or reference next time to show it but it very hard and take month to search so that it"}, {"post_id": 20716, "ts": "2026-07-02T11:47:34Z", "hours": 1.1572, "text": "while working on my engine i take refernce from blender also contributed in blender one issues even got merged other are pending"}, {"post_id": 17338, "ts": "2026-06-28T02:42:07Z", "hours": 7.2022, "text": "jolt physics implementation in vulkan engine and some other bug fix"}, {"post_id": 11434, "ts": "2026-06-18T18:19:47Z", "hours": 1.8758, "text": "PBR light implementation done in my engine"}, {"post_id": 11050, "ts": "2026-06-18T02:35:35Z", "hours": 1.8658, "text": "reimplemented tracy profiler for my engine and working in PBR"}, {"post_id": 10211, "ts": "2026-06-16T20:38:31Z", "hours": 2.0136, "text": "one of the hardest bug to solve i did it now there no texture overlap"}, {"post_id": 9830, "ts": "2026-06-16T08:46:40Z", "hours": 4.2797, "text": "linux and window both support for vulkan engine tested in wine"}, {"post_id": 8004, "ts": "2026-06-13T11:03:28Z", "hours": 6.6514, "text": "model loading done in my engine"}, {"post_id": 5794, "ts": "2026-06-09T18:32:13Z", "hours": 0.28, "text": "update everything now moving toward 3d work and cleanup"}, {"post_id": 5693, "ts": "2026-06-09T16:07:36Z", "hours": 1.7525, "text": "finally port complete in vulkan with RHI and Linux support"}, {"post_id": 5390, "ts": "2026-06-09T04:27:45Z", "hours": 10.2675, "text": "finally rhi and wrapper test is done in vulkan"}, {"post_id": 3458, "ts": "2026-06-06T12:22:17Z", "hours": 8.22, "text": "almost write backend vulkan may i can see something in screen next week after 3 month 😵💫"}, {"post_id": 1715, "ts": "2026-06-03T21:36:09Z", "hours": 0.5761, "text": "rewriting my game engine backend in vulkan and adding support for linux"}]...
|
Title: 3d game engine by @rajaryan1492007 | Starda Title: 3d game engine by @rajaryan1492007 | Stardance
Devlogs:
rewriting my game engine backend in vulkan and adding support for linux
almost write backend vulkan may i can see something in screen next week after 3 month 😵💫
finally rhi and wrapper test is done in vulkan
finally port complete in vulkan with RHI and Linux support
update everything now moving toward 3d work and cleanup
model loading done in my engine
linux and window both support for vulkan engine tested in wine
one of the hardest bug to solve i did it now there no texture overlap
reimplemented tracy profiler for my engine and working in PBR
PBR light implementation done in my engine
jolt physics implementation in vulkan engine and some other bug fix
while working on my engine i take refernce from blender also contributed in blender one issues even got merged other are pending
so from now not developing any feature in Game engine for some weeks and Adding fallback to 1.1 to 1.4 vulkan bcuz lot of problem andriod don’t support 1.3 mostly and many gpu like intel have bug in bindless so just adding other to fallback bcuz other are also not good nvidia and amd also have some problem add buildbot that will test like github don’t support gpu to test most probably i will test in software cpu and build system so user can compile and run thing without having any problem so at last only problem left is gpu vendor specific that i will cover through blender o3de engine that how engine can run in most gpus i give better doc or reference next time to show it but it very hard and take month to search so that it
add support for extension check in Vulkan
add more file more function just fallback for Vulkan Engine so it can run in more device
implementing old renderpass and Framebuffer and other thing to run old hardware
all setup done just have to write fallback now :)
implemented many fallback feature no less crash add fallback of dynamic_rendering other are pending
Add descriptor Set fallback and Contribution guidelines
added a ci/cd test For engine with lavapipe
St making game in my game engine
added audio and animation
added text rendering
add multithreading and better sync
make better job system
just make milestone bar for realase
reading source code of o3de and make my engine barrier better
Ships:
This project has been a daily labor of love for over a year. Over the last 4 to 5 months, I completely rewrote the entire rendering backend, moving away from a legacy OpenGL state machine to an explicit Vulkan pipeline. Along the way, I completely redesigned the Rendering Hardware Interface (RHI) to align with modern graphics architectures. Welcome to UNHUMAN! You are completely free to clone and compile this engine, but please read this first: ->The 50/50 Rule: This is a custom, explicitly defined Vulkan engine currently tailored to a Ryzen/Vega Windows environment. Because Vulkan does not hide driver-level differences (NVIDIA vs. AMD vs. Intel), there is roughly a 50/50 chance it will compile flawlessly or completely explode on your specific GPU setup. ->The Easy Way Out: If you attempt to build the project and hit Vulkan validation errors, device-lost crashes, or strict compilation failures, please do not waste your time trying to debug my RHI! * Visual Verification: If the build fails on your hardware, simply watch the YouTube Walkthrough Video linked below. It contains the full visual proof of the engine running, rendering, and functioning on the native development machine. link -> https://youtu.be/CHDIU61auYo
-> I built the Unhuman Engine (UHE) a high-performance, custom 3D game engine written entirely from scratch in C++. It features a custom Vulkan rendering pipeline, Jolt Physics integration, and a 3D spatial audio system using miniaudio. Alongside the engine, I built a fully playable “Aim Lab” style 3D shooter game to showcase its capabilities, complete with skeletal animations, recoil mechanics, and a robust entity component system (ECS). -> Building a Vulkan renderer from the ground up is notoriously difficult due to how explicit the API is. Getting the Vulkan swapchains, descriptors, and framebuffers perfectly synchronized was a massive hurdle. Beyond rendering, building the virtual file system (VFS) to correctly resolve asset paths across different platforms (Linux native and Windows via Wine) required a lot of trial and error, as did managing multithreaded memory cleanup for the audio subsystem to prevent Because of the custom Vulkan architecture and strict C++ optimizations, the game hits 900+ FPS in release builds, even on integrated graphics! the custom pixel-perfect 3D entity picking system we built using Vulkan framebuffers (instead of relying on standard physics raycasting). Finally, the engine architecture is scalable enough that it’s not just for games—it’s designed to handle heavy robotics and autonomous vehicle simulations in the engine . -> The engine supports both Linux and Windows to play the game, just run the UHEGAME executable inside the bin folder. Important: Make sure the assets folder (which contains the 3D models and audio files) is sitting right next to the executable in the same directory, otherwise the game will fall back to a safe mode. Controls: Use your mouse to aim, Left Click to shoot the targets, and press ‘R’ to reload the animated 3D pistol also i write it too big bcuz last time many people said they don’t understand what i did . about running it u can run it in windows and linux both see window build and linux build there to work able excutable file one is uhegame.exe and uhe_editor.exe one is game and other is editor https://github.com/rajaryan2007/UNHUMAN/releases/tag/alpha i will improve the game as time goes i just st with vulkan and other if u have any problem u can ask here https://github.com/rajaryan2007/UNHUMAN/issues if still don’t understand don’t rate down read or search or just read devlog and understand instead of low rating thankyou :)
i just finally done all thing like stable etc . and search of all libs etc so can really work making really good engine i add milestone etc . u can still test project tho but it will just artitacture doc change and some sync bug fix . other then that i add milestone so i can work on that now but i 19 now today so my hackclub will get end so i just ship to info that . devlog is end but i will continue to work on this engine bcuz it been like year since i st working on it already so anyway . and anything u wanna know u can check my project issues and roadmap
last ship in hackclub bcuz i turn 19 bye : )...
|
1793930157.4926393
|
1794016557.4926393
|
|
63484
|
MacroPad by @fedcr | Stardance
|
fedcr
|
0
|
1.02
|
0
|
[]
|
[{"post_id": 70205, "ts": "202 [{"post_id": 70205, "ts": "2026-09-18T18:14:56Z", "hours": 0.3333, "text": "I have made the 3d printable case. I want this macropad to be easy and most important: Los Angeles Lakers themed"}, {"post_id": 70188, "ts": "2026-09-18T17:19:46Z", "hours": 0.6836, "text": "I have made the whole PCB for a MacroPad with 3 keys. Later I will work on a CAD development for the 3D case"}]...
|
Title: MacroPad by @fedcr | Stardance
Devlogs:
I Title: MacroPad by @fedcr | Stardance
Devlogs:
I have made the whole PCB for a MacroPad with 3 keys. Later I will work on a CAD development for the 3D case
I have made the 3d printable case. I want this macropad to be easy and most important: Los Angeles Lakers themed...
|
1793663336.2232876
|
1794268136.2232876
|
|
46325
|
Cyberpunk Macro-pad by @gemzaidahmad | Stardance
|
gemzaidahmad
|
0
|
19.67
|
0
|
[]
|
[{"post_id": 70201, "ts": "202 [{"post_id": 70201, "ts": "2026-09-18T18:05:32Z", "hours": 0.3222, "text": "I have finished the code and the 3D model. I did most work off camera because I thought it wouldn’t take much time (I was wrong )However, I am still trying to spend as much time as possible to be absolutely sure to get rid of any bugs and inconsistencies.✌️"}, {"post_id": 65494, "ts": "2026-09-10T17:49:22Z", "hours": 1.3353, "text": "I made the firmware for the Macro-pad(ig?): So uh I practically relied heavily on the guide and AI for this part because QMK is not exactly Arduino IDE, so I ultimately decided to use VS code for now Devlog update: Added more bugs to fix later lol"}, {"post_id": 63025, "ts": "2026-09-06T16:18:50Z", "hours": 8.8772, "text": "Completed the CAD and redid the PCB: I haven’t been posting in a while because I decided to complete the enclosure for the macro-pad first. I changed the CAD software 3 times LOL. I went from Fusion to TinkerCAD because I found it quite intimidating at first then from TinkerCAD to Onshape because I found TinkerCAD too basic to make such detailed models without spending too much time.(Maybe that’s just a skill issue LOL). Then I switched back to Fusion because I realised I could just import the PCB as .step file, so I don’t have to manually put in each and every measurement. I also redid the PCB because I had unknowingly let the switches overlap slightly and I thought I should make it smaller. Now, I will begin with the firmware tomorrow."}, {"post_id": 57366, "ts": "2026-08-29T14:25:07Z", "hours": 3.7044, "text": "Finished the PCB and Schematics I know I hadn’t been posting a dev-log in a while, but I had been working on the PCB and schematics. Since this was my first PCB design in Ki-Cad, when I finished the designing part, I found out that I had more than 100 errors LOL. Most of them were caused by some footprint errors and me being a complete newbie with the software. So… I re-did it T_T. But now, I have managed to blip the errors out of existence LOL, and I have made the PCB look more futuristic rather than something you would find in an average college project. I am doing the modelling part now, which tbh I think is the most crucial yet simple part of this project. I am too excited to see the end product ;)"}, {"post_id": 51199, "ts": "2026-08-20T18:28:04Z", "hours": 2.4989, "text": "PCB designing : I managed to complete the designing of the PCB. I made quite a lot of mistakes and had to redo it multiple times(I accidentally wired the diodes in reverse bias lol). I also tried to make the cable management better and make it more compact. Nevertheless, I learnt quite a lot throughout the process. There are still some errors in the PCB files which I plan to resolve very soon. P.S. Routing the PCB tracers is oddly satisfying :)"}, {"post_id": 49782, "ts": "2026-08-18T18:27:22Z", "hours": 1.3722, "text": "Cyberpunk Themed Macro-pad: I started working on the PCB for my cyberpunk-themed macro-pad. I experimented with multiple layouts before selecting one. As this is my first time designing a PCB using a proper software rather than making rough sketches of circuits, it took quite a while to familiarize myself with the software. There is still a lot of work to be done but I already like where it’s going and I can’t wait to see how it turns out in the end :3"}, {"post_id": 48410, "ts": "2026-08-16T18:59:44Z", "hours": 1.5567, "text": "Schematics for the Cyberpunk-style Macro-pad I designed the schematics for my Cyberpunk-style Macro-pad. The hardware is built around a Seeduino Xiao, 6 Keys, a rotary encoder, RGB lighting and an OLED panel. The hardware part is relatively straightforward so I intend to make it more unique during the design and coding stages; especially through the overall Cyberpunk-style aesthetic. This is my first dev-log of this project. I can’t wait to see how it turns out in the end :)"}]...
|
Title: Cyberpunk Macro-pad by @gemzaidahmad | Star Title: Cyberpunk Macro-pad by @gemzaidahmad | Stardance
Devlogs:
Schematics for the Cyberpunk-style Macro-pad I designed the schematics for my Cyberpunk-style Macro-pad. The hardware is built around a Seeduino Xiao, 6 Keys, a rotary encoder, RGB lighting and an OLED panel. The hardware part is relatively straightforward so I intend to make it more unique during the design and coding stages; especially through the overall Cyberpunk-style aesthetic. This is my first dev-log of this project. I can’t wait to see how it turns out in the end :)
Cyberpunk Themed Macro-pad: I started working on the PCB for my cyberpunk-themed macro-pad. I experimented with multiple layouts before selecting one. As this is my first time designing a PCB using a proper software rather than making rough sketches of circuits, it took quite a while to familiarize myself with the software. There is still a lot of work to be done but I already like where it’s going and I can’t wait to see how it turns out in the end :3
PCB designing : I managed to complete the designing of the PCB. I made quite a lot of mistakes and had to redo it multiple times(I accidentally wired the diodes in reverse bias lol). I also tried to make the cable management better and make it more compact. Nevertheless, I learnt quite a lot throughout the process. There are still some errors in the PCB files which I plan to resolve very soon. P.S. Routing the PCB tracers is oddly satisfying :)
Finished the PCB and Schematics I know I hadn’t been posting a dev-log in a while, but I had been working on the PCB and schematics. Since this was my first PCB design in Ki-Cad, when I finished the designing part, I found out that I had more than 100 errors LOL. Most of them were caused by some footprint errors and me being a complete newbie with the software. So… I re-did it T_T. But now, I have managed to blip the errors out of existence LOL, and I have made the PCB look more futuristic rather than something you would find in an average college project. I am doing the modelling part now, which tbh I think is the most crucial yet simple part of this project. I am too excited to see the end product ;)
Completed the CAD and redid the PCB: I haven’t been posting in a while because I decided to complete the enclosure for the macro-pad first. I changed the CAD software 3 times LOL. I went from Fusion to TinkerCAD because I found it quite intimidating at first then from TinkerCAD to Onshape because I found TinkerCAD too basic to make such detailed models without spending too much time.(Maybe that’s just a skill issue LOL). Then I switched back to Fusion because I realised I could just import the PCB as .step file, so I don’t have to manually put in each and every measurement. I also redid the PCB because I had unknowingly let the switches overlap slightly and I thought I should make it smaller. Now, I will begin with the firmware tomorrow.
I made the firmware for the Macro-pad(ig?): So uh I practically relied heavily on the guide and AI for this part because QMK is not exactly Arduino IDE, so I ultimately decided to use VS code for now Devlog update: Added more bugs to fix later lol
I have finished the code and the 3D model. I did most work off camera because I thought it wouldn’t take much time (I was wrong )However, I am still trying to spend as much time as possible to be absolutely sure to get rid of any bugs and inconsistencies.✌️...
|
1793379208.2999463
|
1793984008.2999463
|
|
61527
|
Blare by @checkers | Stardance
|
checkers
|
0
|
7.19
|
0
|
[]
|
[{"post_id": 70199, "ts": "202 [{"post_id": 70199, "ts": "2026-09-18T18:04:53Z", "hours": 0.4044, "text": "finished the code, you have to hit a qte perfect in order to turn off the alarm"}, {"post_id": 70184, "ts": "2026-09-18T17:11:31Z", "hours": 3.0669, "text": "Done with the case, this doesnt use any screws at all and I’m really proud of this fact. Also ive minimized the spaced used https://lapse.hackclub.com/timelapse/DVkP1Z7_2DTN"}, {"post_id": 69624, "ts": "2026-09-17T13:09:58Z", "hours": 1.25, "text": "Screwed up, i need space between key spaces, it was too close previously, now it must be spaced out on the pcb itself https://lapse.hackclub.com/timelapse/761gkN8O9SzK"}, {"post_id": 67042, "ts": "2026-09-13T02:43:40Z", "hours": 2.4669, "text": "Started and finished the pcb. Started the board it self which will hold it down https://lapse.hackclub.com/timelapse/2h2PNcwuiYHh"}]...
|
Title: Blare by @checkers | Stardance
Devlogs:
St Title: Blare by @checkers | Stardance
Devlogs:
Started and finished the pcb. Started the board it self which will hold it down https://lapse.hackclub.com/timelapse/2h2PNcwuiYHh
Screwed up, i need space between key spaces, it was too close previously, now it must be spaced out on the pcb itself https://lapse.hackclub.com/timelapse/761gkN8O9SzK
Done with the case, this doesnt use any screws at all and I’m really proud of this fact. Also ive minimized the spaced used https://lapse.hackclub.com/timelapse/DVkP1Z7_2DTN
finished the code, you have to hit a qte perfect in order to turn off the alarm...
|
1793649157.4302015
|
1794253957.4302015
|
|
62758
|
TermiNote by @yamex | Stardance
|
yamex
|
0
|
1.12
|
0
|
[]
|
[{"post_id": 70193, "ts": "202 [{"post_id": 70193, "ts": "2026-09-18T17:51:20Z", "hours": 1.1172, "text": "Just finished my first full program with python!"}]...
|
Title: TermiNote by @yamex | Stardance
Devlogs:
J Title: TermiNote by @yamex | Stardance
Devlogs:
Just finished my first full program with python!...
|
1793656469.9454107
|
1794261269.9454107
|
|
4190
|
Claude Second Brain Harness by @xerneas | Stardanc Claude Second Brain Harness by @xerneas | Stardance...
|
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T19:56:31Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Claude Harness that is light enough and not extra enough for daily use. After messing around with openclaw I saw that the costs and features were simply too extra. This is a great life planner that can be run simply even with lower end models like claude haiku.", "repo": "https://github.com/xerneas3318/claude-monorepo", "demo": "https://github.com/xerneas3318/claude-monorepo/releases/tag/v1.0.0"}]...
|
[{"post_id": 7019, "ts": "2026 [{"post_id": 7019, "ts": "2026-06-11T19:34:17Z", "hours": 0.2214, "text": "What it is A markdown-only second-brain that Claude Code reads at every session start and edits as you talk to it. Everything lives as plain .md files in a fixed directory tree- no database, no proprietary format. Two repos, one system brain-template: the harness itself. CLAUDE.md (the session-start instructions Claude reads), a templates/ folder, and a directory skeleton (daily/, backlog/, goals/, notes/, projects/, routines/, memory/, archive/). Drop your real notes in, edit memory/context.md, and Claude becomes a proactive planner. ClaudePlanner: the phone + sync layer on top of the harness. iOS app (SwiftUI) for Today/Browse views with tap-to-toggle, drag reorder, talk-to-Claude with on-device speech. A Node sync-daemon does bidirectional brain/ ↔ Firestore sync. A Fastify relay exposes the Claude Agent SDK with Firebase auth + MCP tools (list_today, read_file, add_task, check_task). Flow You write/edit a task in daily/today.md (or tell Claude on phone, or check a box). sync-daemon mirrors the change to Firestore. iOS app live-listens and updates instantly. Closing the loop: when Claude (on phone or terminal) edits files via the relay, sync-daemon writes them back to disk. Full iOS and server support will be shown soon"}]...
|
Title: Claude Second Brain Harness by @xerneas | S Title: Claude Second Brain Harness by @xerneas | Stardance
Devlogs:
What it is A markdown-only second-brain that Claude Code reads at every session start and edits as you talk to it. Everything lives as plain .md files in a fixed directory tree- no database, no proprietary format. Two repos, one system brain-template: the harness itself. CLAUDE.md (the session-start instructions Claude reads), a templates/ folder, and a directory skeleton (daily/, backlog/, goals/, notes/, projects/, routines/, memory/, archive/). Drop your real notes in, edit memory/context.md, and Claude becomes a proactive planner. ClaudePlanner: the phone + sync layer on top of the harness. iOS app (SwiftUI) for Today/Browse views with tap-to-toggle, drag reorder, talk-to-Claude with on-device speech. A Node sync-daemon does bidirectional brain/ ↔ Firestore sync. A Fastify relay exposes the Claude Agent SDK with Firebase auth + MCP tools (list_today, read_file, add_task, check_task). Flow You write/edit a task in daily/today.md (or tell Claude on phone, or check a box). sync-daemon mirrors the change to Firestore. iOS app live-listens and updates instantly. Closing the loop: when Claude (on phone or terminal) edits files via the relay, sync-daemon writes them back to disk. Full iOS and server support will be shown soon
Ships:
Claude Harness that is light enough and not extra enough for daily use. After messing around with openclaw I saw that the costs and features were simply too extra. This is a great life planner that can be run simply even with lower end models like claude haiku....
|
1793775125.6691663
|
1794639125.6691663
|
|
61183
|
first project: clock by @paper14 | Stardance
|
paper14
|
0
|
7.21
|
0
|
[]
|
[{"post_id": 70189, "ts": "202 [{"post_id": 70189, "ts": "2026-09-18T17:29:18Z", "hours": 2.0675, "text": "I am almost done with my clock!! now i need to arrange it and try to submit. hopefully i only have to do small changes because this is difficult"}, {"post_id": 69808, "ts": "2026-09-17T20:24:09Z", "hours": 1.9625, "text": "I spent time to make my case look fun! meow like a cat"}, {"post_id": 69626, "ts": "2026-09-17T13:13:35Z", "hours": 0.6667, "text": "I am now customizing my case so it is unique"}, {"post_id": 69399, "ts": "2026-09-16T23:49:48Z", "hours": 1.9667, "text": "I made a case, almost!"}, {"post_id": 68935, "ts": "2026-09-16T02:14:18Z", "hours": 0.5461, "text": "i finished my PCB! i dunno what it entirely does but we’ll find out"}]...
|
Title: first project: clock by @paper14 | Stardanc Title: first project: clock by @paper14 | Stardance
Devlogs:
i finished my PCB! i dunno what it entirely does but we’ll find out
I made a case, almost!
I am now customizing my case so it is unique
I spent time to make my case look fun! meow like a cat
I am almost done with my clock!! now i need to arrange it and try to submit. hopefully i only have to do small changes because this is difficult...
|
1793645986.487343
|
1794250786.487343
|
|
58184
|
WAR0WARE by @mahith | Stardance
|
mahith
|
2
|
8.3
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T16:48:23Z", "hours": 0.0, "multiplier": 2.33, "payout": 1, "blessing": "neutral", "text": "i made a warioware type minigame in godot. the hardest thing was debugging the timer and scene changes to work without resetting my score i am proud thats runs smooth now lol. to test jopen the itch link and play in browser, react quick to get the prompts.", "repo": "https://github.com/mahi-73/waroware", "demo": "https://mahith-chethan.itch.io/warioware"}, {"ship_num": 2, "ts": "2026-09-04T13:13:16Z", "hours": 8.0, "multiplier": 1.08, "payout": 9, "blessing": "neutral", "text": "i made warioware game in godot the hard part is coding which i took help from ai i am proud that my game is working to test the game u should click the targets nd avoid bombs in the screen and press space bar fast to win the game", "repo": "https://github.com/mahi-73/waroware", "demo": "https://mahith-chethan.itch.io/warioware"}]...
|
[{"post_id": 70185, "ts": "202 [{"post_id": 70185, "ts": "2026-09-18T17:14:54Z", "hours": 0.3, "text": "built a lil warioware minigame in godot. hardest part was fixin the timer and not breakin the score counter whenever changing scenes haha. pretty happy it runs in browser now. just open the itch link and click fast when prompts pop up"}, {"post_id": 70166, "ts": "2026-09-18T16:43:29Z", "hours": 0.4833, "text": "finshtouches nd web build fixed the score resetting , changed up the timer, and got the web build working on itch.io."}, {"post_id": 61479, "ts": "2026-09-04T12:41:34Z", "hours": 8.3064, "text": "i built a warioware game in godot nd added a target cliclicker with bomb nd freezer with a spacebar mash game nd added win nd loss nd upladed in itch.io for everyone to play"}]...
|
Title: WAR0WARE by @mahith | Stardance
Devlogs:
i Title: WAR0WARE by @mahith | Stardance
Devlogs:
i built a warioware game in godot nd added a target cliclicker with bomb nd freezer with a spacebar mash game nd added win nd loss nd upladed in itch.io for everyone to play
finshtouches nd web build fixed the score resetting , changed up the timer, and got the web build working on itch.io.
built a lil warioware minigame in godot. hardest part was fixin the timer and not breakin the score counter whenever changing scenes haha. pretty happy it runs in browser now. just open the itch link and click fast when prompts pop up
Ships:
i made warioware game in godot the hard part is coding which i took help from ai i am proud that my game is working to test the game u should click the targets nd avoid bombs in the screen and press space bar fast to win the game
i made a warioware type minigame in godot. the hardest thing was debugging the timer and scene changes to work without resetting my score i am proud thats runs smooth now lol. to test jopen the itch link and play in browser, react quick to get the prompts....
|
1794012558.4994743
|
1794098958.4994743
|
|
62533
|
Airin's Desk by @airinazaria_h_putri | Stardan Airin's Desk by @airinazaria_h_putri | Stardance...
|
airinazaria_h_putri
|
0
|
4.13
|
0
|
[]
|
[{"post_id": 70165, "ts": "202 [{"post_id": 70165, "ts": "2026-09-18T16:41:56Z", "hours": 1.2136, "text": "I’m really clueless of what should i put here to.. like, an hour just to wandering and deleting.. but i’m still making progress by making the other page tho.."}, {"post_id": 69687, "ts": "2026-09-17T16:06:33Z", "hours": 1.555, "text": "Making desc and infinite scrollbar"}, {"post_id": 68714, "ts": "2026-09-15T16:25:19Z", "hours": 1.3631, "text": "Working on Landing page!! I don’t really know what should i put here.."}]...
|
Title: Airin's Desk by @airinazaria_h_putri | Title: Airin's Desk by @airinazaria_h_putri | Stardance
Devlogs:
Working on Landing page!! I don’t really know what should i put here..
Making desc and infinite scrollbar
I’m really clueless of what should i put here to.. like, an hour just to wandering and deleting.. but i’m still making progress by making the other page tho.....
|
1793656224.3967366
|
1794261024.3967366
|
|
63477
|
Project AI Drone by @Bhavyadeep | Stardance
|
Bhavyadeep
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 70151, "ts": "202 [{"post_id": 70151, "ts": "2026-09-18T15:49:57Z", "hours": 0.3169, "text": "Project AI Drone- so i have just completed my BOM and also made my first Timelapse using Lapse!!! also i will be giving updates very frequently and if anybody wants to ask about the project or help me with Vision AI be sure to contact me on slack or instaa insta:qwertyshaurya880"}]...
|
Title: Project AI Drone by @Bhavyadeep | Stardance Title: Project AI Drone by @Bhavyadeep | Stardance
Devlogs:
Project AI Drone- so i have just completed my BOM and also made my first Timelapse using Lapse!!! also i will be giving updates very frequently and if anybody wants to ask about the project or help me with Vision AI be sure to contact me on slack or instaa insta:qwertyshaurya880...
|
1793663333.6071372
|
1794268133.6071372
|
|
61771
|
Marble Guessing Game by @tvrun_x_yadav | Stardance
|
tvrun_x_yadav
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 70147, "ts": "202 [{"post_id": 70147, "ts": "2026-09-18T15:40:16Z", "hours": 0.3192, "text": "Just made the rought draft of my game guess the marbles. you have to guess how many marbles are inside the jar. i kept the degine really simple for now will add more later"}]...
|
Title: Marble Guessing Game by @tvrun_x_yadav | St Title: Marble Guessing Game by @tvrun_x_yadav | Stardance
Devlogs:
Just made the rought draft of my game guess the marbles. you have to guess how many marbles are inside the jar. i kept the degine really simple for now will add more later...
|
1793649379.6461074
|
1794254179.6461074
|
|
63121
|
COSMIC LENS by @jermybiju | Stardance
|
jermybiju
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T16:28:57Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built Cosmic Lens, a NASA APOD viewer. fetches NASA’s daily astronomy image, lets you browse any past image from June 1995 onwards, and has favorites saved to localstorage. What was challenging: getting Vite’s .env setup to work for the API key, a timezone bug in the prev or next nav (toISOString uses UTC so my IST dates were off by a day) and a CORS issue with a download button I ended up removing. What I’m most proud of is it all works .first project I’ve shipped with a real build system and API integration To test: just open the live link. Try the random button, arrow keys to navigate, and click the star to save your favorites. no login needed.", "repo": "https://github.com/jermybiju/COSMIC-LENS", "demo": "https://jermybiju.github.io/COSMIC-LENS/"}]...
|
[{"post_id": 70144, "ts": "202 [{"post_id": 70144, "ts": "2026-09-18T15:33:18Z", "hours": 1.0592, "text": "added a few more things. prev or next day buttons so i can jump between images without the date picker every time. also keyboard navigation with left or right arrows. added a share button that copies the url with the date so sending someone a link shows the same image. took a bit to figure out URL SearchParams for reading the date back. also added my contact details (github, email, instagram) to the footer and readme. had a timezone bug with prev or next , they were jumping 2 days back because toISOString() uses UTC and im in IST. fixed it with a local date helper and noon time. tried a download button but CORS blocked it. removed it instead of shipping something broken. its completed now"}, {"post_id": 70070, "ts": "2026-09-18T12:03:16Z", "hours": 3.3675, "text": "I worked on the css today, I decided to go with a black background and purple accents since the site’s theme is space. I went with color names such as mediumpurple and gold for the accents instead of hex codes, easier to remember. I spent a lot of time working on the starfield, in the end, i decide to use sevral radial gradients to simulate stars and a twinkle animation. used google fonts for the space vibe ,orbitron for titles and space grotesk for body. made it responsive too, buttons stack on mobile. also had to add maxheight and objectfit ,contain on the image because some nasa pics are larg and would break the layout"}, {"post_id": 69756, "ts": "2026-09-17T18:47:25Z", "hours": 3.1469, "text": "I have started the mission today. Vite setup was complicated because I have never used anything other than raw HTML, but I managed to configure it according to the documentation. I chose the vanilla plus javascript option. The .env file configuration was confusing and took me forever to complete. First, I tried putting the API key in main.js, but then I realized that it has to be a .env file that has to have VITE_ at the beginning of the variable name, or it will not work. It took me around 20 minutes to realize that I was putting the file in the wrong directory, so it always said undefined. api works now. just console logged the data to check"}]...
|
Title: COSMIC LENS by @jermybiju | Stardance
Devl Title: COSMIC LENS by @jermybiju | Stardance
Devlogs:
I have started the mission today. Vite setup was complicated because I have never used anything other than raw HTML, but I managed to configure it according to the documentation. I chose the vanilla plus javascript option. The .env file configuration was confusing and took me forever to complete. First, I tried putting the API key in main.js, but then I realized that it has to be a .env file that has to have VITE_ at the beginning of the variable name, or it will not work. It took me around 20 minutes to realize that I was putting the file in the wrong directory, so it always said undefined. api works now. just console logged the data to check
I worked on the css today, I decided to go with a black background and purple accents since the site’s theme is space. I went with color names such as mediumpurple and gold for the accents instead of hex codes, easier to remember. I spent a lot of time working on the starfield, in the end, i decide to use sevral radial gradients to simulate stars and a twinkle animation. used google fonts for the space vibe ,orbitron for titles and space grotesk for body. made it responsive too, buttons stack on mobile. also had to add maxheight and objectfit ,contain on the image because some nasa pics are larg and would break the layout
added a few more things. prev or next day buttons so i can jump between images without the date picker every time. also keyboard navigation with left or right arrows. added a share button that copies the url with the date so sending someone a link shows the same image. took a bit to figure out URL SearchParams for reading the date back. also added my contact details (github, email, instagram) to the footer and readme. had a timezone bug with prev or next , they were jumping 2 days back because toISOString() uses UTC and im in IST. fixed it with a local date helper and noon time. tried a download button but CORS blocked it. removed it instead of shipping something broken. its completed now
Ships:
Built Cosmic Lens, a NASA APOD viewer. fetches NASA’s daily astronomy image, lets you browse any past image from June 1995 onwards, and has favorites saved to localstorage. What was challenging: getting Vite’s .env setup to work for the API key, a timezone bug in the prev or next nav (toISOString uses UTC so my IST dates were off by a day) and a CORS issue with a download button I ended up removing. What I’m most proud of is it all works .first project I’ve shipped with a real build system and API integration To test: just open the live link. Try the random button, arrow keys to navigate, and click the star to save your favorites. no login needed....
|
1794052224.98412
|
1794138624.98412
|
|
41831
|
Personal Website by @satr14 | Stardance
|
satr14
|
2
|
16.1
|
241
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T07:40:40Z", "hours": 3.0, "multiplier": 19.84, "payout": 66, "blessing": "neutral", "text": "this should have fixes from last ship’s suggestions as well as a extra background elements and animations to make the site look alive", "repo": "https://git.satr14.my.id/satr14/5th-site-expanded", "demo": "https://satr14.my.id/"}, {"ship_num": 2, "ts": "2026-09-05T02:50:59Z", "hours": 12.0, "multiplier": 14.97, "payout": 175, "blessing": "neutral", "text": "V5. IS OUT this was mainly challenging as school dumps work after work on me, but i ended up working on it in my spare time whenever i find it. new pages: /projects: contains orgs and repos /guestbook: github discussion powered /random: shows discord status and games i play", "repo": "https://git.satr14.my.id/satr14/5th-site-expanded", "demo": "https://satr14.my.id/"}]...
|
[{"post_id": 70141, "ts": "202 [{"post_id": 70141, "ts": "2026-09-18T15:29:20Z", "hours": 1.0961, "text": "i was supposed to work on smthin else, but saw my friend do this so i decided to implement it on my own site! it took this long mainly because its a very new feature and not really documented. luckily, my friend gave me docs (which will be merged upstream) and i was able to implement this early :D. regardless it was still pretty buggy added discord embed component info using same data as the main site content https://github.com/discord/discord-api-docs/blob/20b7c0d2a7c30fd455d3e8f6e58c8ab42eeb2849/developers/link-previews/component-embeds.mdx early docs if yall wanna try it"}, {"post_id": 67173, "ts": "2026-09-13T07:38:58Z", "hours": 0.6531, "text": "smol update but i randomly had a thought last night before sleeping to add this so im adding it :D added rolling titles in the background based of the roles i put in"}, {"post_id": 65941, "ts": "2026-09-11T12:40:49Z", "hours": 0.9083, "text": "i believe this shouldve been more time, because wakatime randomly stopped tracking time which shouldve been like 15-25 mins but whatever. now that its the weekend, im gonna cram as much hours i can get as this is still exam week. added background elements: idle rotating stars! made the stars turn into arrows when hovering over interactive elements / links added svelte page transitions for the conditional/fetching elements tweaked music player progress bar added a credit section for assets used and design inspiration changed timezone text display for same timezone offsets moved code duplication for styles and transitions to classes and central lib functions"}, {"post_id": 64054, "ts": "2026-09-08T05:45:02Z", "hours": 1.7758, "text": "aight i have an exam tomorrow so prob not the best time to be working, but whatever. im gonna add some finishing details from now on as well as improve based of last ship’s feedback changed hackclub role (im organizing haven in my city :D) added more audios to be randomly played made song playback persist between pages keep player notif open showing playback bar and play/pause button tweak pages gaps and paddings displayed webring name instead of “info?” changed main quote hehe"}, {"post_id": 60871, "ts": "2026-09-03T14:53:46Z", "hours": 1.855, "text": "exams are coming soon but i really need these hours. anyways, all pages should be completed by now. im gonna deploy and ship soon added discord status via lanyard api and npm package added games played via lizardbyte’s free igdb api proxy tweaked page transition to be shorter and use 1 global variable removed unused WIP component tweaked timezone info text remove timezone info card element 9 commits in total"}, {"post_id": 58137, "ts": "2026-08-30T14:25:57Z", "hours": 1.0158, "text": "im not joking when i say im burnt out from school. the only thing thats keeping me driving for coding is stardance and the certificate (prob the shop items too but the cert is more important for me). anyways i didnt have much energy this past week but i tried and well ig i managed to do somethin extra padding fixes for main site add a random page (not yet live) and todo list for what i wanna add later install svelte-lanyard for discord status fetching add extra library functions for timezone information remove unused lib function add timezone information to random page fix tab size in a file"}, {"post_id": 49588, "ts": "2026-08-18T14:00:45Z", "hours": 0.4336, "text": "short devlog because exam tomorrow but I CANT LET MY HACKATIME STREAK DIE AGAIN removed debug line left in prod from last devlog add a favicon of my cat :3 rename communities to organizations in change one of the roles to normal hackclub members add description field to orgs add org display in projects page removed blog link from main page (and prob the actual page soon) in favor of smthin else"}, {"post_id": 48953, "ts": "2026-08-17T15:06:13Z", "hours": 1.8106, "text": "finished with another project so i might as well finish this one remove located in line because i already disclose that in my bio fix curl special display to only if fecth / fix easter egg (background text) font display add vite, zed, nvim, cf, and claude skills and remove bash implemented projects page fix typescript errors with page props data spacing tweaks with main homepage animate skill icon hover resize skill icons and text to smaller size add heatmap to projects page moved heatmap url to index.ts lib tweaked card class styles to remove ugly border and add a nice shadow"}, {"post_id": 45190, "ts": "2026-08-11T14:45:36Z", "hours": 1.6867, "text": "this is longer than expected but oh well. i was too tired to work on any real projects because its a school night (yes indonesia doesnt have long summer breaks 😭) so back onto personal site i guess update personal information fields: description, skills, and roles update skill display to use icons from simpleicons cdn added hover to show skill name functionality added devops eng to roles because someone said i had devops skills from another project fix background z index overlap clarity for timezone refresh local timezone display every second remove card effect for transparent display on the guestbook havent worked on project showcase nor blog posts pages yet because i need to finish my blog first and figure out how to get git repos from forgejo api"}, {"post_id": 37466, "ts": "2026-07-30T07:17:24Z", "hours": 4.8781, "text": "admittedly working on existing projects is much easier than starting from scratch. ill be working on my personal website whenever i get burnt out from other stuff (especially chess programming) anyways i didnt really remember much on what i did because i thought i wouldnt end up working for hours and didnt think it wouldve been worth it to submit for stardance. well turns out i accumulated a lot of hours logged but no memory on what i did so heres my best recall on what i did: added dotted background grid slimmer card body made a card class for a more unified design added support for more than 1 webrings tweaked webring design and functions replaced links with website pages made a WIP component for empty pages made 3 pages: guestbook, posts, and project showcase click to copy curl command added hackatime heatmap"}]...
|
Title: Personal Website by @satr14 | Stardance
De Title: Personal Website by @satr14 | Stardance
Devlogs:
admittedly working on existing projects is much easier than starting from scratch. ill be working on my personal website whenever i get burnt out from other stuff (especially chess programming) anyways i didnt really remember much on what i did because i thought i wouldnt end up working for hours and didnt think it wouldve been worth it to submit for stardance. well turns out i accumulated a lot of hours logged but no memory on what i did so heres my best recall on what i did: added dotted background grid slimmer card body made a card class for a more unified design added support for more than 1 webrings tweaked webring design and functions replaced links with website pages made a WIP component for empty pages made 3 pages: guestbook, posts, and project showcase click to copy curl command added hackatime heatmap
this is longer than expected but oh well. i was too tired to work on any real projects because its a school night (yes indonesia doesnt have long summer breaks 😭) so back onto personal site i guess update personal information fields: description, skills, and roles update skill display to use icons from simpleicons cdn added hover to show skill name functionality added devops eng to roles because someone said i had devops skills from another project fix background z index overlap clarity for timezone refresh local timezone display every second remove card effect for transparent display on the guestbook havent worked on project showcase nor blog posts pages yet because i need to finish my blog first and figure out how to get git repos from forgejo api
finished with another project so i might as well finish this one remove located in line because i already disclose that in my bio fix curl special display to only if fecth / fix easter egg (background text) font display add vite, zed, nvim, cf, and claude skills and remove bash implemented projects page fix typescript errors with page props data spacing tweaks with main homepage animate skill icon hover resize skill icons and text to smaller size add heatmap to projects page moved heatmap url to index.ts lib tweaked card class styles to remove ugly border and add a nice shadow
short devlog because exam tomorrow but I CANT LET MY HACKATIME STREAK DIE AGAIN removed debug line left in prod from last devlog add a favicon of my cat :3 rename communities to organizations in change one of the roles to normal hackclub members add description field to orgs add org display in projects page removed blog link from main page (and prob the actual page soon) in favor of smthin else
im not joking when i say im burnt out from school. the only thing thats keeping me driving for coding is stardance and the certificate (prob the shop items too but the cert is more important for me). anyways i didnt have much energy this past week but i tried and well ig i managed to do somethin extra padding fixes for main site add a random page (not yet live) and todo list for what i wanna add later install svelte-lanyard for discord status fetching add extra library functions for timezone information remove unused lib function add timezone information to random page fix tab size in a file
exams are coming soon but i really need these hours. anyways, all pages should be completed by now. im gonna deploy and ship soon added discord status via lanyard api and npm package added games played via lizardbyte’s free igdb api proxy tweaked page transition to be shorter and use 1 global variable removed unused WIP component tweaked timezone info text remove timezone info card element 9 commits in total
aight i have an exam tomorrow so prob not the best time to be working, but whatever. im gonna add some finishing details from now on as well as improve based of last ship’s feedback changed hackclub role (im organizing haven in my city :D) added more audios to be randomly played made song playback persist between pages keep player notif open showing playback bar and play/pause button tweak pages gaps and paddings displayed webring name instead of “info?” changed main quote hehe
i believe this shouldve been more time, because wakatime randomly stopped tracking time which shouldve been like 15-25 mins but whatever. now that its the weekend, im gonna cram as much hours i can get as this is still exam week. added background elements: idle rotating stars! made the stars turn into arrows when hovering over interactive elements / links added svelte page transitions for the conditional/fetching elements tweaked music player progress bar added a credit section for assets used and design inspiration changed timezone text display for same timezone offsets moved code duplication for styles and transitions to classes and central lib functions
smol update but i randomly had a thought last night before sleeping to add this so im adding it :D added rolling titles in the background based of the roles i put in
i was supposed to work on smthin else, but saw my friend do this so i decided to implement it on my own site! it took this long mainly because its a very new feature and not really documented. luckily, my friend gave me docs (which will be merged upstream) and i was able to implement this early :D. regardless it was still pretty buggy added discord embed component info using same data as the main site content https://github.com/discord/discord-api-docs/blob/20b7c0d2a7c30fd455d3e8f6e58c8ab42eeb2849/developers/link-previews/component-embeds.mdx early docs if yall wanna try it
Ships:
V5. IS OUT this was mainly challenging as school dumps work after work on me, but i ended up working on it in my spare time whenever i find it. new pages: /projects: contains orgs and repos /guestbook: github discussion powered /random: shows discord status and games i play
this should have fixes from last ship’s suggestions as well as a extra background elements and animations to make the site look alive...
|
1794012927.104173
|
1794099327.104173
|
|
4513
|
My new personal website! by @jonasvanleeuwen19 | S My new personal website! by @jonasvanleeuwen19 | Stardance...
|
jonasvanleeuwen19
|
3
|
24.0
|
321
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T09:13:21Z", "hours": 5.0, "multiplier": 14.43, "payout": 71, "blessing": "neutral", "text": "Added some updates to my website, small css and content updates, new badges section with 88x31 badges! (so cool!) I also added pages for projects and made a docker container to monitor my recent playing game on steam, to show it on a widget in the “What am I doing right now?” section!", "repo": "https://git.tuxworld.nl/jonas/site-redesign", "demo": "https://jonas.yixboost.dev"}, {"ship_num": 2, "ts": "2026-07-16T03:03:47Z", "hours": 12.0, "multiplier": 13.83, "payout": 163, "blessing": "neutral", "text": "This is my second ship on this project! The goal of this project is to create an personal site about me that isn’t boring and is made without AI. It’s already live on my domain (jonas.yixboost.dev). All the assets used like the background, the drawings for section borders, lines, the navbar, cards and buttons are made by me with GIMP and Inkscape, because it makes my site more special and I want to get better with these programs. Even the font used for headings (MyDamnFont) is my own hand writing (; Hope you all like it!", "repo": "https://git.tuxworld.nl/jonas/site-redesign", "demo": "https://jonas.yixboost.dev"}, {"ship_num": 3, "ts": "2026-06-17T16:18:05Z", "hours": 7.0, "multiplier": 13.41, "payout": 87, "blessing": "neutral", "text": "I made a redesign of my personal website, it’s a complete rebuild from scratch, I wanted to replace my personal website with one I completely made myself without AI. I have added some nice cards for my projects, Hackatime stats and an animated section about myself. I finally published it on https://jonas.yixboost.dev The background image is self-made with GIMP to improve my GIMP skills (that time is not logged, rip)", "repo": "https://git.tuxworld.nl/jonas/site-redesign", "demo": "https://jonas.yixboost.dev"}]...
|
[{"post_id": 70139, "ts": "202 [{"post_id": 70139, "ts": "2026-09-18T15:24:10Z", "hours": 0.8519, "text": "Added steam currently playing game to the “What am I doing right now?” section. It uses an API proxy for current playing games I made with python running in docker: https://git.tuxworld.nl/jonas/steam-now-playing"}, {"post_id": 66208, "ts": "2026-09-11T21:51:35Z", "hours": 1.4586, "text": "Added project information page with automatic loading from my JSON projects list. Also made some CSS and html changes to clean up like removing tags and better css positioning."}, {"post_id": 35427, "ts": "2026-07-26T20:38:36Z", "hours": 0.6267, "text": "Small CSS fixes, better README and updated screenshot"}, {"post_id": 29747, "ts": "2026-07-16T20:48:20Z", "hours": 1.9881, "text": "Added badges section Added some cool 88x31 badges to a section on my website! Including badges about the site, my favorite software, games and more!"}, {"post_id": 29278, "ts": "2026-07-16T02:54:55Z", "hours": 4.6006, "text": "Massive update today! To start with, I didn’t really like the morph sidebar I made last time, so I made the hard choice to remove it. I looked at some Hack Club event websites, and found out many of them are using custom image assets for things like container borders and buttons, I like that idea, it’s cool to make hand drawn assets and use them on your website, it gives your website something special. So of course I tried it myself, First I did some research on how it works and how you can make custom section borders, I found this guide: https://css-tricks.com/revisiting-css-border-image/ This guide explains very well how custom borders work and how you can use it Of course I saved it to my personal Readeck ;) I started with just drawing a simple square in GIMP (just because I already know how to use GIMP) and then I applied it with CSS to my sections like in the guide, this worked, but I didn’t look that good, so I removed the CSS blur effect from earlier and used image opacity in GIMP to create a blue semi-transparent section, and I added a thin extra line to the border to make it look better. I wanted to use this on my LastFM music widget as well, but that didn’t work because the background needs to be applied with CSS with colors from the currently playing songs cover image, so there I can’t use the same border image as background. The problem here is that the background is then going outside of the border lines, after MANY ways of trying to fix this I found the solution, I made a black and white version of the image and updated my javascript to replace the black and white with the correct colors and then inject THAT image. This works extremely good, it’s looks so good now! When that was finally done, I did some last changes, made assets for buttons, lines, the navbar, the other cards, etc, all the components do now have a custom drawn border. I ended with adding new fonts, all the normal text is now Jetbrains Mono Regular (cause why not, I use that everywhere) and the headings are my own handwriting! I used an online tool to make a hand drawn font and used that font on my site! (MyDamnFont)"}, {"post_id": 23702, "ts": "2026-07-06T20:13:08Z", "hours": 3.2211, "text": "Today is my longest devlog! (I needed time for centering a with CSS, lol) But now serious, I worked really long on my new desktop sidebar, first it’s the same navbar as earlier but if you scroll the navbar is first decreasing it’s width and then increasing it’s height until it’s a sidebar. It has fade animations for the content inside of it and on mobile it stays a navbar but with a hamburger menu. There are also some small changes, the links in the nav/sidebar are now buttons so it’s more clear you can click on them (thanks for the suggestion you random person from ship #1 rating) The site is also more mobile friendly, as I said, there’s nwo a better hamburger menu exclusive for mobile devices, and the links in the about section are big buttons on your phone. The allignment for the whole about section is fixed for mobile devices. Lastly, in many of the feedbacks people said that the hackatime widgets where going out of the section, that’s now fixed (;"}, {"post_id": 20677, "ts": "2026-07-02T10:29:24Z", "hours": 1.8083, "text": "I added an ‘What am I doing right now?’ section with a music widget that displays my now playing music, it auto-updates the background gradient and badge colors by getting the main colors from the songs cover image, it gets the now playing song from the Last.fm API, and my Last.fm profile is connected to my JellyFin server. I also added two extra projects to the carousel, “This website” and “The Jump 3000”"}, {"post_id": 12619, "ts": "2026-06-20T16:47:47Z", "hours": 1.3639, "text": "Today I added an animated pacman with ghost and pacman made with css animations, and I redesigned the Hackatime section widgets by looking at the documentation for the widgets"}, {"post_id": 12527, "ts": "2026-06-20T13:30:24Z", "hours": 0.8478, "text": "Made the Hackclub guy transparent and outline-only, made javascript to load projects from projects.json and I used swiper.js to put the project cards inside a 3D carousel"}, {"post_id": 10690, "ts": "2026-06-17T15:37:23Z", "hours": 1.2806, "text": "Today i added animations, typing effect, moving images, small content updates, and i added a better README, and most important! I published it on jonas.yixboost.dev!"}, {"post_id": 10017, "ts": "2026-06-16T15:44:39Z", "hours": 1.0206, "text": "Today I added some cool stuff! I started with designing a new background image with nicer colors, it’s self made in GIMP, the .xcf file is in the /assets/images folder Then I wanted to add something happy to the startpage, so i got an image of this Hack Club guy with a flag and added it to the right of the ‘Who am I?’ section (terrible positioning a div is not so fun to do), by the way, I renamed that, it was called the ‘About’ section, but that’s boring…. To make the ‘Who am I?’ section even nicer, I added an CSS shimmer effect to my name, I can use this effect everywhere now by adding the “shimmer” class to an html tag. In the top right corner of the ’’My Projects” section (renamed from “Projects”) I added a link to all my repositories, to put it in the corner I needed to use the bootstrap “d-flex” class. Because of the new background the scroll to top button was less visible, so i made it light gray Lastly, I edited some text content."}, {"post_id": 6397, "ts": "2026-06-10T19:15:23Z", "hours": 0.6267, "text": "Today I did not have that much time, but I gave the navbar a nice blurred glass effect, added an scroll to top button that appears when you scroll down (Credits: https://github.com/mdbootstrap/bootstrap-back-to-top-button ), I also made the buttons inside the project cards nicer. Some small changes everywhere, but every minute counts!"}, {"post_id": 5568, "ts": "2026-06-09T12:13:38Z", "hours": 1.4839, "text": "Today added many small changes! To start I added a Favicon (simple but needed) I did some content changes, and I added a brand new “Hackatime Stats” section, because i think it’s cool if you can see real time data, this works perfect, I added programming language stats, 356 day activity and a button to my Hackatime profile, another thing I did was making the project section nice, I added real content, the right images, hand-written descriptions and buttons and links, I added Yixboost Games, ChessOverAPI and JustTitanium."}, {"post_id": 5124, "ts": "2026-06-08T20:14:47Z", "hours": 0.555, "text": "I added an logo to the navbar and made the beginning of my Projects section, i’m completing that section later."}, {"post_id": 887, "ts": "2026-06-02T16:40:35Z", "hours": 1.0392, "text": "I made the allignment better, made the navbar dark and I made the about section a real (visible) container and gave it a blur effect, next I added a cool background"}, {"post_id": 807, "ts": "2026-06-02T14:09:13Z", "hours": 0.5267, "text": "I started the project by making a simple bootstrap structure"}]...
|
Title: My new personal website! by @jonasvanleeuwe Title: My new personal website! by @jonasvanleeuwen19 | Stardance
Devlogs:
I started the project by making a simple bootstrap structure
I made the allignment better, made the navbar dark and I made the about section a real (visible) container and gave it a blur effect, next I added a cool background
I added an logo to the navbar and made the beginning of my Projects section, i’m completing that section later.
Today added many small changes! To start I added a Favicon (simple but needed) I did some content changes, and I added a brand new “Hackatime Stats” section, because i think it’s cool if you can see real time data, this works perfect, I added programming language stats, 356 day activity and a button to my Hackatime profile, another thing I did was making the project section nice, I added real content, the right images, hand-written descriptions and buttons and links, I added Yixboost Games, ChessOverAPI and JustTitanium.
Today I did not have that much time, but I gave the navbar a nice blurred glass effect, added an scroll to top button that appears when you scroll down (Credits: https://github.com/mdbootstrap/bootstrap-back-to-top-button ), I also made the buttons inside the project cards nicer. Some small changes everywhere, but every minute counts!
Today I added some cool stuff! I started with designing a new background image with nicer colors, it’s self made in GIMP, the .xcf file is in the /assets/images folder Then I wanted to add something happy to the startpage, so i got an image of this Hack Club guy with a flag and added it to the right of the ‘Who am I?’ section (terrible positioning a div is not so fun to do), by the way, I renamed that, it was called the ‘About’ section, but that’s boring…. To make the ‘Who am I?’ section even nicer, I added an CSS shimmer effect to my name, I can use this effect everywhere now by adding the “shimmer” class to an html tag. In the top right corner of the ’’My Projects” section (renamed from “Projects”) I added a link to all my repositories, to put it in the corner I needed to use the bootstrap “d-flex” class. Because of the new background the scroll to top button was less visible, so i made it light gray Lastly, I edited some text content.
Today i added animations, typing effect, moving images, small content updates, and i added a better README, and most important! I published it on jonas.yixboost.dev!
Made the Hackclub guy transparent and outline-only, made javascript to load projects from projects.json and I used swiper.js to put the project cards inside a 3D carousel
Today I added an animated pacman with ghost and pacman made with css animations, and I redesigned the Hackatime section widgets by looking at the documentation for the widgets
I added an ‘What am I doing right now?’ section with a music widget that displays my now playing music, it auto-updates the background gradient and badge colors by getting the main colors from the songs cover image, it gets the now playing song from the Last.fm API, and my Last.fm profile is connected to my JellyFin server. I also added two extra projects to the carousel, “This website” and “The Jump 3000”
Today is my longest devlog! (I needed time for centering a with CSS, lol) But now serious, I worked really long on my new desktop sidebar, first it’s the same navbar as earlier but if you scroll the navbar is first decreasing it’s width and then increasing it’s height until it’s a sidebar. It has fade animations for the content inside of it and on mobile it stays a navbar but with a hamburger menu. There are also some small changes, the links in the nav/sidebar are now buttons so it’s more clear you can click on them (thanks for the suggestion you random person from ship #1 rating) The site is also more mobile friendly, as I said, there’s nwo a better hamburger menu exclusive for mobile devices, and the links in the about section are big buttons on your phone. The allignment for the whole about section is fixed for mobile devices. Lastly, in many of the feedbacks people said that the hackatime widgets where going out of the section, that’s now fixed (;
Massive update today! To start with, I didn’t really like the morph sidebar I made last time, so I made the hard choice to remove it. I looked at some Hack Club event websites, and found out many of them are using custom image assets for things like container borders and buttons, I like that idea, it’s cool to make hand drawn assets and use them on your website, it gives your website something special. So of course I tried it myself, First I did some research on how it works and how you can make custom section borders, I found this guide: https://css-tricks.com/revisiting-css-border-image/ This guide explains very well how custom borders work and how you can use it Of course I saved it to my personal Readeck ;) I started with just drawing a simple square in GIMP (just because I already know how to use GIMP) and then I applied it with CSS to my sections like in the guide, this worked, but I didn’t look that good, so I removed the CSS blur effect from earlier and used image opacity in GIMP to create a blue semi-transparent section, and I added a thin extra line to the border to make it look better. I wanted to use this on my LastFM music widget as well, but that didn’t work because the background needs to be applied with CSS with colors from the currently playing songs cover image, so there I can’t use the same border image as background. The problem here is that the background is then going outside of the border lines, after MANY ways of trying to fix this I found the solution, I made a black and white version of the image and updated my javascript to replace the black and white with the correct colors and then inject THAT image. This works extremely good, it’s looks so good now! When that was finally done, I did some last changes, made assets for buttons, lines, the navbar, the other cards, etc, all the components do now have a custom drawn border. I ended with adding new fonts, all the normal text is now Jetbrains Mono Regular (cause why not, I use that everywhere) and the headings are my own handwriting! I used an online tool to make a hand drawn font and used that font on my site! (MyDamnFont)
Added badges section Added some cool 88x31 badges to a section on my website! Including badges about the site, my favorite software, games and more!
Small CSS fixes, better README and updated screenshot
Added project information page with automatic loading from my JSON projects list. Also made some CSS and html changes to clean up like removing tags and better css positioning.
Added steam currently playing game to the “What am I doing right now?” section. It uses an API proxy for current playing games I made with python running in docker: https://git.tuxworld.nl/jonas/steam-now-playing
Ships:
I made a redesign of my personal website, it’s a complete rebuild from scratch, I wanted to replace my personal website with one I completely made myself without AI. I have added some nice cards for my projects, Hackatime stats and an animated section about myself. I finally published it on https://jonas.yixboost.dev The background image is self-made with GIMP to improve my GIMP skills (that time is not logged, rip)
This is my second ship on this project! The goal of this project is to create an personal site about me that isn’t boring and is made without AI. It’s already live on my domain (jonas.yixboost.dev). All the assets used like the background, the drawings for section borders, lines, the navbar, cards and buttons are made by me with GIMP and Inkscape, because it makes my site more special and I want to get better with these programs. Even the font used for headings (MyDamnFont) is my own hand writing (; Hope you all like it!
Added some updates to my website, small css and content updates, new badges section with 88x31 badges! (so cool!) I also added pages for projects and made a docker container to monitor my recent playing game on steam, to show it on a widget in the “What am I doing right now?” section!...
|
1793922875.7152586
|
1794009275.7152586
|
|
63162
|
FairwayIndex by @fedcr | Stardance
|
fedcr
|
0
|
4.45
|
0
|
[]
|
[{"post_id": 70132, "ts": "202 [{"post_id": 70132, "ts": "2026-09-18T15:04:09Z", "hours": 2.2717, "text": "I have made the html page, with links and c++ script. Now I will work on the css to make the web page “lookable at”"}, {"post_id": 69779, "ts": "2026-09-17T19:28:01Z", "hours": 1.3131, "text": "Implemented the complete index averaging engine. Added cap limiters (soft and hard cap). Built the CLI driver and JSON exporter. Validated index outputs againt official 20 round benchmark, logging selected scoring differentials and cap trigger states. It seems to have some bugs I will work on later"}, {"post_id": 69729, "ts": "2026-09-17T17:40:33Z", "hours": 0.5581, "text": "Implemented the world handicap system differential formulas and added the world handicap system sliding scale matrix determining the exact count of lowest differentials used base on total registered scoring records. Incorpored 113 standard slope baseline"}, {"post_id": 69712, "ts": "2026-09-17T16:57:39Z", "hours": 0.3106, "text": "Initialized the FairwayIndex repository. Defined standard world handicap system domain models, including course rating, slope, adjusted gross score and 9 or 18 hole round configurations with playing conditions calculation support"}]...
|
Title: FairwayIndex by @fedcr | Stardance
Devlogs Title: FairwayIndex by @fedcr | Stardance
Devlogs:
Initialized the FairwayIndex repository. Defined standard world handicap system domain models, including course rating, slope, adjusted gross score and 9 or 18 hole round configurations with playing conditions calculation support
Implemented the world handicap system differential formulas and added the world handicap system sliding scale matrix determining the exact count of lowest differentials used base on total registered scoring records. Incorpored 113 standard slope baseline
Implemented the complete index averaging engine. Added cap limiters (soft and hard cap). Built the CLI driver and JSON exporter. Validated index outputs againt official 20 round benchmark, logging selected scoring differentials and cap trigger states. It seems to have some bugs I will work on later
I have made the html page, with links and c++ script. Now I will work on the css to make the web page “lookable at”...
|
1793659959.2246733
|
1794264759.2246733
|
|
1847
|
Catalyst by @adii | Stardance
|
adii
|
0
|
42.51
|
0
|
[]
|
[{"post_id": 7013, "ts": "2026 [{"post_id": 7013, "ts": "2026-06-11T19:22:47Z", "hours": 42.5106, "text": "started learning pygame. and this is what i’ve built so far (ik this aint a lot). lots of bugs, lots of googling, but we’re making progress 😭 will be posting more updates later!!"}]...
|
Title: Catalyst by @adii | Stardance
Devlogs:
sta Title: Catalyst by @adii | Stardance
Devlogs:
started learning pygame. and this is what i’ve built so far (ik this aint a lot). lots of bugs, lots of googling, but we’re making progress 😭 will be posting more updates later!!...
|
1793555283.8321307
|
1794160083.8321307
|
|
55334
|
Solar System Simulation by @CyberIntruder | Starda Solar System Simulation by @CyberIntruder | Stardance...
|
CyberIntruder
|
1
|
29.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T15:19:05Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a web application that simulates our solar system. At first, I wanted to make a satellite tracker app with a realistic earth model, but after a while I decided I wanted to have also other planets in the background, so I started working on that. I also wanted the moon, so I added moons to all planets, and soon enough a whole solar system simulation was born. Later I decided it would be cool to simulate solar and lunar eclipses, but when I tried it, the moon and earth didn’t align at all, so of course I had to fix it. And I also did. At this point I decided that I’m not making a satellite tracker app, so I transitioned to the solar system simulation app. I specifically wanted realistic distances between planets, moons, etc. to show the massive difference there is, and I added the ability to view all planets from close up and also the whole solar system. At this point the UI still looked terrible, I’m a really bad UI designer, so I decided to use my free three prompts to claude opus 4.8 for exactly this. After that I cleaned up the code and the project was finished!", "repo": "https://github.com/anton2026gamca/solar-system-simulation", "demo": "https://anton2026gamca.github.io/solar-system-simulation/"}]...
|
[{"post_id": 70128, "ts": "202 [{"post_id": 70128, "ts": "2026-09-18T14:54:38Z", "hours": 0.3925, "text": "I deployed the project to github pages, added an icon, and added this image to the README"}, {"post_id": 70102, "ts": "2026-09-18T13:47:13Z", "hours": 5.7144, "text": "I polished the UI with the help of some AI, it looks way better now in my opinion. I also optimized the app a lot by for example downscaling the textures and optimizing some parts of the code, and it loads now a lot faster than before. Then I added a texture to the moon and seasonal textures to earth that change based on what month it is."}, {"post_id": 63670, "ts": "2026-09-07T16:32:39Z", "hours": 9.2492, "text": "Firstly I fixed some major errors in the solar system simulation, like the planets spinning in the wrong direction, the earth not aligning it’s rotation with the sun correctly, etc. Other than that I improved the UI a little bit, it now also shows the current time in the simulation and I also added a toggle for the orbit paths when the earth is focused. Then I added these lines that show the tilt of planets. I also improved the sun’s shader so it looks better and changed the earth’s atmosphere shader so it doesn’t display those jumps as it did before. (PS: Did you know Uranus has for some reason a massive 98 degree tilt like this?)"}, {"post_id": 58373, "ts": "2026-08-30T19:40:19Z", "hours": 9.3211, "text": "I made a simulation of our solar system. It isn’t extremely precise, because when I tested some solar eclipses, it didn’t align completely (well it didn’t align at all…), but I want to improve this in the future. I did use a lot of AI to help me with the position and rotation calculation system, because that was a lot of complex math and it would take me ages to get something working 🙏 . After that I reworked the earth scene to display this more realistic model of earth and hide the orbit paths when I focus it. I also added some movement to the clouds, it looks much better when they move at least somehow."}, {"post_id": 57076, "ts": "2026-08-29T05:07:46Z", "hours": 4.2178, "text": "I didn’t have an idea of what I want to make at the start, so I naturally asked AI. One of the first ideas it gave me was this satellite tracker web app thing, so I decided to start doing that. After some time though I decided to make firstly a super realistic scene with earth, so I worked on that. It’s not done yet, not even close, but I’m slowly getting there! (PS: There’s also a moon in the screenshot!)"}]...
|
Title: Solar System Simulation by @CyberIntruder | Title: Solar System Simulation by @CyberIntruder | Stardance
Devlogs:
I didn’t have an idea of what I want to make at the start, so I naturally asked AI. One of the first ideas it gave me was this satellite tracker web app thing, so I decided to start doing that. After some time though I decided to make firstly a super realistic scene with earth, so I worked on that. It’s not done yet, not even close, but I’m slowly getting there! (PS: There’s also a moon in the screenshot!)
I made a simulation of our solar system. It isn’t extremely precise, because when I tested some solar eclipses, it didn’t align completely (well it didn’t align at all…), but I want to improve this in the future. I did use a lot of AI to help me with the position and rotation calculation system, because that was a lot of complex math and it would take me ages to get something working 🙏 . After that I reworked the earth scene to display this more realistic model of earth and hide the orbit paths when I focus it. I also added some movement to the clouds, it looks much better when they move at least somehow.
Firstly I fixed some major errors in the solar system simulation, like the planets spinning in the wrong direction, the earth not aligning it’s rotation with the sun correctly, etc. Other than that I improved the UI a little bit, it now also shows the current time in the simulation and I also added a toggle for the orbit paths when the earth is focused. Then I added these lines that show the tilt of planets. I also improved the sun’s shader so it looks better and changed the earth’s atmosphere shader so it doesn’t display those jumps as it did before. (PS: Did you know Uranus has for some reason a massive 98 degree tilt like this?)
I polished the UI with the help of some AI, it looks way better now in my opinion. I also optimized the app a lot by for example downscaling the textures and optimizing some parts of the code, and it loads now a lot faster than before. Then I added a texture to the moon and seasonal textures to earth that change based on what month it is.
I deployed the project to github pages, added an icon, and added this image to the README
Ships:
I made a web application that simulates our solar system. At first, I wanted to make a satellite tracker app with a realistic earth model, but after a while I decided I wanted to have also other planets in the background, so I started working on that. I also wanted the moon, so I added moons to all planets, and soon enough a whole solar system simulation was born. Later I decided it would be cool to simulate solar and lunar eclipses, but when I tried it, the moon and earth didn’t align at all, so of course I had to fix it. And I also did. At this point I decided that I’m not making a satellite tracker app, so I transitioned to the solar system simulation app. I specifically wanted realistic distances between planets, moons, etc. to show the massive difference there is, and I added the ability to view all planets from close up and also the whole solar system. At this point the UI still looked terrible, I’m a really bad UI designer, so I decided to use my free three prompts to claude opus 4.8 for exactly this. After that I cleaned up the code and the project was finished!...
|
1794012970.055273
|
1794099370.055273
|
|
62822
|
AirGap Vault by @fedcr | Stardance
|
fedcr
|
0
|
3.01
|
0
|
[]
|
[{"post_id": 70123, "ts": "202 [{"post_id": 70123, "ts": "2026-09-18T14:48:04Z", "hours": 3.0064, "text": "I got completely caught in a deep flow state while building out AirGap Vault and during this extended development block I ended all the code. All the code has been made in a unic session with continous development and bug fixes (sometimes of almost the full code)"}]...
|
Title: AirGap Vault by @fedcr | Stardance
Devlogs Title: AirGap Vault by @fedcr | Stardance
Devlogs:
I got completely caught in a deep flow state while building out AirGap Vault and during this extended development block I ended all the code. All the code has been made in a unic session with continous development and bug fixes (sometimes of almost the full code)...
|
1793656545.6163893
|
1794261345.6163893
|
|
32245
|
Driftpocalypse by @niklas_089 | Stardance
|
niklas_089
|
0
|
13.96
|
0
|
[]
|
[{"post_id": 70120, "ts": "202 [{"post_id": 70120, "ts": "2026-09-18T14:37:56Z", "hours": 2.3489, "text": "I had to take a break due to personal reasons. Be back soon. Ill work on a side project first and then go back to this game."}, {"post_id": 27781, "ts": "2026-07-13T17:15:43Z", "hours": 9.0822, "text": "Driftpocalypse DevLog #002 - Enemy and more Added: Enemy Added a basic Zombie Enemy that moves towards the player and tries to attack them. It will deal half its current health left as damage, if it contacts the player from in front or if the player is going below a certain speed. Collision Logic When the player and an enemy collide, the code checks whether the player is going fast enough and hitting the enemy from an angle. If either one are not fulfilled, the player takes damage as described earlier and gets significantly slowed down. Otherwise if the player is going fast enough and at an appropriate angle the enemy will be catapulted back depending on how fast the player was going. The Enemy will also take damage that is calculated using the following formula I made up on the fly while coding: The combined speed of the player and the enemy to the power of 2 multiplied with the magnitude difference between player and enemy all divided by 12.5. I do not know why but this formula feels quite intuitive while playing. Death Logic Pretty obvious. If an enemy reaches 0 HP or below it gets deleted (will add death animation in the future). If the player reaches 0 HP the game stops (will add menus later) Environment Added a City Map using free assets from the Unity Asset Store. I will be using it for first testing and later improve for the final level designs. Drift Tracks When you drift, tracks appear under your wheels. They last for a coupe of seconds before disppearing. Headlights Toggleable using the v key. Toggles Point Lights on the front of the car. Added for potential night / fog levels. Animation Animated the wheels actually spinning while driving and gave the enemy a walking animation Improvements: Controls Improved controls and made them feel smoother, more intuitive and more realistic by adjusting the sideways friction while drifting and making it so drifting has a transition instead of just intantly toggling Shadows Shadows of the player looked erratic and uncontrolled. Fixed by changing Rigidbody interpolation to none. ToDo for next time: Add Sounds Add Engine sounds, enemy idle, attack and death sounds + collision sounds Add particle effects For drifting, crashing, driving in rain and ramming enemies. Add rounds, shop and money For upgrades between runs, and temporary buffs. Also add general rougelike elements That will be it for today. Please comment any suggestions/ideas you have. I am always open for feedback. See you next time :) -Niklas"}, {"post_id": 24888, "ts": "2026-07-08T18:51:54Z", "hours": 2.5333, "text": "Driftpocalypse DevLog #001 – Basic Car Controls SETUP: Since it is the first day I this Project existing, I started by setting up my workspace, organizing my files and adding my free assets from the Unity Asset Store. IDEA: My plan was to make a first draft of a script that lets the user controll the car using WASD as well as SPACE to drift. Second plan was to add a first draft of a script that makes the camera follow the player. ISSUES: 1) At first I had some issues with the car flying around completly without a chance of trying to control it. Then noticed a part of the Hitbox was glitched into the floor causing the car to be catapulted upwards. Fixed That issue by moving the Car 1 unit upwards in the scene. 2) While trying to animate the wheels, they were moving in unplanned ways e.g laying parallell to the floor or being mirrorred to have the rims on the inside due to the right hand wheels having been just copied from the left side and flipped. Fixed it by checking whether the wheel being controlled is on the right side and flipping it back if that is the case. TO DO: Tomorrow I will start working on a rudementary Zombie AI. Good Bye! See you in the next DevLog"}]...
|
Title: Driftpocalypse by @niklas_089 | Stardance
Title: Driftpocalypse by @niklas_089 | Stardance
Devlogs:
Driftpocalypse DevLog #001 – Basic Car Controls SETUP: Since it is the first day I this Project existing, I started by setting up my workspace, organizing my files and adding my free assets from the Unity Asset Store. IDEA: My plan was to make a first draft of a script that lets the user controll the car using WASD as well as SPACE to drift. Second plan was to add a first draft of a script that makes the camera follow the player. ISSUES: 1) At first I had some issues with the car flying around completly without a chance of trying to control it. Then noticed a part of the Hitbox was glitched into the floor causing the car to be catapulted upwards. Fixed That issue by moving the Car 1 unit upwards in the scene. 2) While trying to animate the wheels, they were moving in unplanned ways e.g laying parallell to the floor or being mirrorred to have the rims on the inside due to the right hand wheels having been just copied from the left side and flipped. Fixed it by checking whether the wheel being controlled is on the right side and flipping it back if that is the case. TO DO: Tomorrow I will start working on a rudementary Zombie AI. Good Bye! See you in the next DevLog
Driftpocalypse DevLog #002 - Enemy and more Added: Enemy Added a basic Zombie Enemy that moves towards the player and tries to attack them. It will deal half its current health left as damage, if it contacts the player from in front or if the player is going below a certain speed. Collision Logic When the player and an enemy collide, the code checks whether the player is going fast enough and hitting the enemy from an angle. If either one are not fulfilled, the player takes damage as described earlier and gets significantly slowed down. Otherwise if the player is going fast enough and at an appropriate angle the enemy will be catapulted back depending on how fast the player was going. The Enemy will also take damage that is calculated using the following formula I made up on the fly while coding: The combined speed of the player and the enemy to the power of 2 multiplied with the magnitude difference between player and enemy all divided by 12.5. I do not know why but this formula feels quite intuitive while playing. Death Logic Pretty obvious. If an enemy reaches 0 HP or below it gets deleted (will add death animation in the future). If the player reaches 0 HP the game stops (will add menus later) Environment Added a City Map using free assets from the Unity Asset Store. I will be using it for first testing and later improve for the final level designs. Drift Tracks When you drift, tracks appear under your wheels. They last for a coupe of seconds before disppearing. Headlights Toggleable using the v key. Toggles Point Lights on the front of the car. Added for potential night / fog levels. Animation Animated the wheels actually spinning while driving and gave the enemy a walking animation Improvements: Controls Improved controls and made them feel smoother, more intuitive and more realistic by adjusting the sideways friction while drifting and making it so drifting has a transition instead of just intantly toggling Shadows Shadows of the player looked erratic and uncontrolled. Fixed by changing Rigidbody interpolation to none. ToDo for next time: Add Sounds Add Engine sounds, enemy idle, attack and death sounds + collision sounds Add particle effects For drifting, crashing, driving in rain and ramming enemies. Add rounds, shop and money For upgrades between runs, and temporary buffs. Also add general rougelike elements That will be it for today. Please comment any suggestions/ideas you have. I am always open for feedback. See you next time :) -Niklas
I had to take a break due to personal reasons. Be back soon. Ill work on a side project first and then go back to this game....
|
1793487013.955692
|
1794091813.955692
|
|
63220
|
PopMine by @rudresh | Stardance
|
rudresh
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T14:43:23Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made PopMine, an incremental ASMR block-mining and merge web game. The most challenging part was balancing the economy curves so high levels felt rewarding without hitting progression walls, as well as integrating the custom pop audio triggers and 4x4 merge grid logic. I’m proud of the Bedrock Ascension mechanic and the glowing reticle auras that unlock as you dig deeper. To test: Click the blocks to mine, fuse matching gems in the 4x4 Merge Vault to boost ore value, and unlock upgrade tiers in the shop.", "repo": "https://github.com/opdpinthechat/PopMine", "demo": "https://popmine.vercel.app/"}]...
|
[{"post_id": 70118, "ts": "202 [{"post_id": 70118, "ts": "2026-09-18T14:33:32Z", "hours": 0.2667, "text": "I Launched this fun game PopMine, an incremental ASMR block mining game! Features: Digging loop with different audio and multipliers for each ore type 4x4 Merge Vault with specimens and their market value Altars to sacrifice Tier 9 Bedrock cores for 10 million dollars and keep relics 50+ Levels, Reticle Auras Showcase ore radars and other resources with depth and real time rendering You can try the demo here: https://popmine.vercel.app/ Source code: https://github.com/opdpinthechat/PopMine"}]...
|
Title: PopMine by @rudresh | Stardance
Devlogs:
I Title: PopMine by @rudresh | Stardance
Devlogs:
I Launched this fun game PopMine, an incremental ASMR block mining game! Features: Digging loop with different audio and multipliers for each ore type 4x4 Merge Vault with specimens and their market value Altars to sacrifice Tier 9 Bedrock cores for 10 million dollars and keep relics 50+ Levels, Reticle Auras Showcase ore radars and other resources with depth and real time rendering You can try the demo here: https://popmine.vercel.app/ Source code: https://github.com/opdpinthechat/PopMine
Ships:
I made PopMine, an incremental ASMR block-mining and merge web game. The most challenging part was balancing the economy curves so high levels felt rewarding without hitting progression walls, as well as integrating the custom pop audio triggers and 4x4 merge grid logic. I’m proud of the Bedrock Ascension mechanic and the glowing reticle auras that unlock as you dig deeper. To test: Click the blocks to mine, fuse matching gems in the 4x4 Merge Vault to boost ore value, and unlock upgrade tiers in the shop....
|
1794052247.4938905
|
1794138647.4938905
|
|
29024
|
NimbusLoft by @SML_365 | Stardance
|
SML_365
|
2
|
11.77
|
169
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T21:26:26Z", "hours": 2.0, "multiplier": 8.76, "payout": 21, "blessing": "neutral", "text": "Ship #2 for NimbusLoft - A visual clipboard engine This is NimbusLofts ship for v1.2.0. NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This ship includes: Colored files URL saving (Thank you to an anonymous reviewer for this idea!) Bugfixes File size display And more, which you can try out by downloading the executable on GitHub! Please note that NimbusLoft is intended for 64-bit Windows systems.", "repo": "https://github.com/SML365/NimbusLoft", "demo": "https://github.com/SML365/NimbusLoft/releases/"}, {"ship_num": 2, "ts": "2026-07-02T04:51:07Z", "hours": 8.0, "multiplier": 18.75, "payout": 148, "blessing": "neutral", "text": "I made a utility dock for storing temporary files so you don’t have to juggle three instances of File Explorer.", "repo": "https://github.com/SML365/NimbusLoft", "demo": "https://github.com/SML365/NimbusLoft/releases/"}]...
|
[{"post_id": 70117, "ts": "202 [{"post_id": 70117, "ts": "2026-09-18T14:32:24Z", "hours": 1.7656, "text": "Devlog #6 for NimbusLoft It was mainly just bug fixes. I fixed a couple of style issues as well as the version number. I also made it slightly more stable. No new features were added. Anyways, that’s it from me, and have a nice day/night!"}, {"post_id": 23733, "ts": "2026-07-06T21:04:28Z", "hours": 1.31, "text": "Devlog #5 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog is focused on adding URL saving and loading support and stabilizing existing features, along with the releases of v1.1.1 and v2.1.0, available to try on GitHub! Added: URL saving and loading: You can now drag in URLs to save, drag them out into a browser, and open them with the browser. Everything shoulf work as expected 1-second pause before hiding the window upon startup: It helps first-time users find where NimbusLoft is located on their screen, since it might be different depending on monitor setups Adjusted color-code colors: The purple was a bit too strong, and I’ll be adjusting the yellow in an upcoming stability fix (v1.2.1) to make it a bit less green Upcoming: Settings menu (v2.0.0 planned) Persistent items (v2.0.0 planned) Search and Sort functionality (also mentioned in Devlog #4 ) (v2.0.0 planned) Multi-monitor support (v1.4.0 planned) Custom thumbnails for URLs depending on webpage (v1.3.0 planned)"}, {"post_id": 23255, "ts": "2026-07-06T03:11:47Z", "hours": 1.1003, "text": "Devlog #4 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog is focused on getting all the features working for the v1.1.0 release, available to try on GitHub! Added: Right click context menu for each file entry, with options to open and remove file, as well as color changes Change background color of file for organization, with over 6 color options (as well as the default color) Contextual title also shows file size along with full file name Upcoming: Sort by color to improve organization Search functionality (sort) Settings panel to configure options such as auto startup, themes, and more"}, {"post_id": 20525, "ts": "2026-07-02T04:24:09Z", "hours": 1.5339, "text": "Devlog #3 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog is focused on getting everything up and running for the v1.0.0 release, available to try on GitHub! Done: Horizontal scrolling Clear button now works Stability improvements Common filetypes tested (.mp3, .mp4, .png, .jpg, .html) Folders tested Upcoming (In later versions): Theming More stability improvements Removed: Settings button (Maybe coming in later versions)"}, {"post_id": 20287, "ts": "2026-07-01T20:55:22Z", "hours": 3.5933, "text": "Devlog #2 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog was mostly focused on implementing the file drag/drop and having it all showing up. The next high-priority update involves adding a scrolling shelf, a vital element needed to actually make NimbusLoft scale. Done: File drag + drop Folder drag + drop File cards with icons Blurred background Updated styling Upcoming: Drag out to paste Paste whole folders at once Scrolling shelf! Settings panel Clear button functionality Maybe Adding: Custom icons Context menu for each file with remove, copy, delete, etc. functionality"}, {"post_id": 19699, "ts": "2026-07-01T02:47:31Z", "hours": 2.7972, "text": "Devlog #1 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. Done: Basic structure Quit button Transparent UI language Hides in alt+tab menu / taskbar Upcoming: Clear button File drag + drop support Show + hide when the mouse touches the top of the screen Settings menu Title and filename preview in the remaining space in the top of the bar"}]...
|
Title: NimbusLoft by @SML_365 | Stardance
Devlogs Title: NimbusLoft by @SML_365 | Stardance
Devlogs:
Devlog #1 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. Done: Basic structure Quit button Transparent UI language Hides in alt+tab menu / taskbar Upcoming: Clear button File drag + drop support Show + hide when the mouse touches the top of the screen Settings menu Title and filename preview in the remaining space in the top of the bar
Devlog #2 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog was mostly focused on implementing the file drag/drop and having it all showing up. The next high-priority update involves adding a scrolling shelf, a vital element needed to actually make NimbusLoft scale. Done: File drag + drop Folder drag + drop File cards with icons Blurred background Updated styling Upcoming: Drag out to paste Paste whole folders at once Scrolling shelf! Settings panel Clear button functionality Maybe Adding: Custom icons Context menu for each file with remove, copy, delete, etc. functionality
Devlog #3 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog is focused on getting everything up and running for the v1.0.0 release, available to try on GitHub! Done: Horizontal scrolling Clear button now works Stability improvements Common filetypes tested (.mp3, .mp4, .png, .jpg, .html) Folders tested Upcoming (In later versions): Theming More stability improvements Removed: Settings button (Maybe coming in later versions)
Devlog #4 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog is focused on getting all the features working for the v1.1.0 release, available to try on GitHub! Added: Right click context menu for each file entry, with options to open and remove file, as well as color changes Change background color of file for organization, with over 6 color options (as well as the default color) Contextual title also shows file size along with full file name Upcoming: Sort by color to improve organization Search functionality (sort) Settings panel to configure options such as auto startup, themes, and more
Devlog #5 for NimbusLoft - A visual clipboard engine NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This devlog is focused on adding URL saving and loading support and stabilizing existing features, along with the releases of v1.1.1 and v2.1.0, available to try on GitHub! Added: URL saving and loading: You can now drag in URLs to save, drag them out into a browser, and open them with the browser. Everything shoulf work as expected 1-second pause before hiding the window upon startup: It helps first-time users find where NimbusLoft is located on their screen, since it might be different depending on monitor setups Adjusted color-code colors: The purple was a bit too strong, and I’ll be adjusting the yellow in an upcoming stability fix (v1.2.1) to make it a bit less green Upcoming: Settings menu (v2.0.0 planned) Persistent items (v2.0.0 planned) Search and Sort functionality (also mentioned in Devlog #4 ) (v2.0.0 planned) Multi-monitor support (v1.4.0 planned) Custom thumbnails for URLs depending on webpage (v1.3.0 planned)
Devlog #6 for NimbusLoft It was mainly just bug fixes. I fixed a couple of style issues as well as the version number. I also made it slightly more stable. No new features were added. Anyways, that’s it from me, and have a nice day/night!
Ships:
I made a utility dock for storing temporary files so you don’t have to juggle three instances of File Explorer.
Ship #2 for NimbusLoft - A visual clipboard engine This is NimbusLofts ship for v1.2.0. NimbusLoft is a Python-based visual clipboard for all the files you need to use, but don’t want to go hunting in your filesystem for. Just drag them to the dock, and they get saved instantly. This ship includes: Colored files URL saving (Thank you to an anonymous reviewer for this idea!) Bugfixes File size display And more, which you can try out by downloading the executable on GitHub! Please note that NimbusLoft is intended for 64-bit Windows systems....
|
1793915736.4121103
|
1794002136.4121103
|
|
63440
|
Frictionless by @kingforg | Stardance
|
kingforg
|
0
|
0.65
|
0
|
[]
|
[{"post_id": 70116, "ts": "202 [{"post_id": 70116, "ts": "2026-09-18T14:32:02Z", "hours": 0.6506, "text": "My first frictionless project (Multiple tools to use for daily use)"}]...
|
Title: Frictionless by @kingforg | Stardance
Devl Title: Frictionless by @kingforg | Stardance
Devlogs:
My first frictionless project (Multiple tools to use for daily use)...
|
1793663297.9914188
|
1794268097.9914188
|
|
63016
|
SWING IT by @nurali | Stardance
|
nurali
|
1
|
8.0
|
73
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T15:39:10Z", "hours": 8.0, "multiplier": 8.69, "payout": 73, "blessing": "neutral", "text": "Swing It, is a simple physics game about swinging a double pendulum. Drag the green handle, release it and watch the pendulum move! you can play it over at itch io directly in your browser: https://nurali312.itch.io/swing-it The maths was pretty complicated but once that was over it was mainly about polishing the experience as the physics provided some lets say “unique” bugs. Overall it was fun working on this and i think it came out great. its really fun to just swing it around and watch the chaos and the different trails it makes.", "repo": "https://github.com/nurali-amirgali/double-pendulum", "demo": "https://nurali312.itch.io/swing-it"}]...
|
[{"post_id": 70114, "ts": "202 [{"post_id": 70114, "ts": "2026-09-18T14:22:02Z", "hours": 3.4692, "text": "Devlog 4 So i decided to really polish it up. i fixed a ton of bugs with the lower pendulum while its being grabbed. I also thought that the simulation was a bit confusing so i made a short intro sequence teaching the player the controls and what to do. I also added a button that applies a random force to the pendulum, a button that slows the pendulum down by increasing friction, and a button that shows the controls on screen. Furthermore i added some nice quality of life features like the hitbox of the green handle becomes bigger the faster it is making it easier to grab while its spinning fast. Oh and i added a little color change when grabbing which isnt very noticeable but a nice touch. And last but not least i used claude to add some of the async stuff required by pygbag to convert it into html to be run on itch.io as a demo without downloading anything. I also quickly made a nice logo for this in inkscape which i think looks nice. So hopefully i can release this now!"}, {"post_id": 69725, "ts": "2026-09-17T17:33:33Z", "hours": 2.4375, "text": "Devlog 3 added dragging the top pendulum which caused tons of headaches (image 3). it kept spinning insanely fast. but i managed to fix it. i also added a nice fade out effect for the trails, added a pause button, added a reset button and added increasaing and decreasing the simulation speed. overall im pretty happy with how it turned out!"}, {"post_id": 69577, "ts": "2026-09-17T10:41:38Z", "hours": 1.6997, "text": "Devlog 2 fixed a bug where it would randomly crash because the momentum overflows and cant be stored anymore. There was also a strange issue where it kept slowing down and losing energy even with friction set to 0. I fixed this by switching from eulers method to RK4. I also added a nice trail that follows it around, centered it on the screen and adjusted the screen size. Next up i need to add grabbing the pendulums so you can move them around and play around with them. And i need to add some text on screen showing all the velocities and stuff."}, {"post_id": 69498, "ts": "2026-09-17T05:51:40Z", "hours": 0.7878, "text": "Devlog 1 setup all the basic formulas and physics. Got it to render the pendulum. now i need to add grabbing the pendulum and making it prettier."}]...
|
Title: SWING IT by @nurali | Stardance
Devlogs:
D Title: SWING IT by @nurali | Stardance
Devlogs:
Devlog 1 setup all the basic formulas and physics. Got it to render the pendulum. now i need to add grabbing the pendulum and making it prettier.
Devlog 2 fixed a bug where it would randomly crash because the momentum overflows and cant be stored anymore. There was also a strange issue where it kept slowing down and losing energy even with friction set to 0. I fixed this by switching from eulers method to RK4. I also added a nice trail that follows it around, centered it on the screen and adjusted the screen size. Next up i need to add grabbing the pendulums so you can move them around and play around with them. And i need to add some text on screen showing all the velocities and stuff.
Devlog 3 added dragging the top pendulum which caused tons of headaches (image 3). it kept spinning insanely fast. but i managed to fix it. i also added a nice fade out effect for the trails, added a pause button, added a reset button and added increasaing and decreasing the simulation speed. overall im pretty happy with how it turned out!
Devlog 4 So i decided to really polish it up. i fixed a ton of bugs with the lower pendulum while its being grabbed. I also thought that the simulation was a bit confusing so i made a short intro sequence teaching the player the controls and what to do. I also added a button that applies a random force to the pendulum, a button that slows the pendulum down by increasing friction, and a button that shows the controls on screen. Furthermore i added some nice quality of life features like the hitbox of the green handle becomes bigger the faster it is making it easier to grab while its spinning fast. Oh and i added a little color change when grabbing which isnt very noticeable but a nice touch. And last but not least i used claude to add some of the async stuff required by pygbag to convert it into html to be run on itch.io as a demo without downloading anything. I also quickly made a nice logo for this in inkscape which i think looks nice. So hopefully i can release this now!
Ships:
Swing It, is a simple physics game about swinging a double pendulum. Drag the green handle, release it and watch the pendulum move! you can play it over at itch io directly in your browser: https://nurali312.itch.io/swing-it The maths was pretty complicated but once that was over it was mainly about polishing the experience as the physics provided some lets say “unique” bugs. Overall it was fun working on this and i think it came out great. its really fun to just swing it around and watch the chaos and the different trails it makes....
|
1794052174.564303
|
1794138574.564303
|
|
4418
|
A drone claw by @WillD | Stardance
|
WillD
|
0
|
0.55
|
0
|
[]
|
[{"post_id": 701, "ts": "2026- [{"post_id": 701, "ts": "2026-06-02T08:23:30Z", "hours": 0.5539, "text": "The research I have the choice of 2 boards, esp32 and raspberry pi zero. Both boards are great! however they both carry limitations (see image above/below). esp32 has great radio reach as antennas can easily be attatched. The raspberry pi has a super easy and user friendly connectivity due to its computer like system. these boards will be the brains of the claw, this will tell the mechanism to open/close when the other device sends a signal wirelessly to the brains - similar to how our brains work (just…not wirelessly :/) However as the handheld device will be a physical (or digital touch) button I believe the esp32 will be a better fit, this is because it will have a longer range which is needed for drones especially if the drone is custom built, the esp32 also doesnt drain battery meaning the device can be lighter - meaning more flight time for the drone as well as a cheaper system (it wont need a lot of batteries or need larger batteries) although the esp has a long radio signal it will still need a LoRa addon, this is because of drones signals."}]...
|
Title: A drone claw by @WillD | Stardance
Devlogs Title: A drone claw by @WillD | Stardance
Devlogs:
The research I have the choice of 2 boards, esp32 and raspberry pi zero. Both boards are great! however they both carry limitations (see image above/below). esp32 has great radio reach as antennas can easily be attatched. The raspberry pi has a super easy and user friendly connectivity due to its computer like system. these boards will be the brains of the claw, this will tell the mechanism to open/close when the other device sends a signal wirelessly to the brains - similar to how our brains work (just…not wirelessly :/) However as the handheld device will be a physical (or digital touch) button I believe the esp32 will be a better fit, this is because it will have a longer range which is needed for drones especially if the drone is custom built, the esp32 also doesnt drain battery meaning the device can be lighter - meaning more flight time for the drone as well as a cheaper system (it wont need a lot of batteries or need larger batteries) although the esp has a long radio signal it will still need a LoRa addon, this is because of drones signals....
|
1793504869.1950238
|
1794109669.1950238
|