|
32610
|
super screen shotter by @im_best | Stardance
|
im_best
|
0
|
22.55
|
0
|
[]
|
[{"post_id": 46192, "ts": "202 [{"post_id": 46192, "ts": "2026-08-13T07:49:52Z", "hours": 6.8122, "text": "I’m currently improving basic controls, such as the button, rect, color, and Font classes. Then I extracted the SVG icon pack from snow-shot. At first, I planned to use Skia’s SVG module to handle them, but after several attempts, I gave up on using Skia for SVG processing and switched to resvg, because Skia kept having compilation issues. I used AI to help me integrate resvg. vcpkg cannot properly handle Skia’s SVG module, which is really a frustrating issue."}, {"post_id": 41783, "ts": "2026-08-06T05:41:23Z", "hours": 8.0531, "text": "I completed a window class, so now I can easily create and manage windows. I finally wrote a program that supports multiple windows! Then I used this window class to implement a settings page window, though I haven’t written much content for it yet. I had AI help introduce a Rust project so my program can retrieve the current system accent color and whether dark mode is enabled, allowing my windows to automatically switch colors based on the system theme. Additionally, I fixed a small bug where the tray icon wasn’t displaying properly."}, {"post_id": 35614, "ts": "2026-07-27T04:36:11Z", "hours": 1.9064, "text": "Completed and tested the multilingual system lang class and fix some bugs"}, {"post_id": 29007, "ts": "2026-07-15T17:28:53Z", "hours": 0.9597, "text": "Enhanced the hotkey class to facilitate conversion between keycodes and strings; added functionality to the log class to print integer arrays."}, {"post_id": 28970, "ts": "2026-07-15T16:19:29Z", "hours": 4.8192, "text": "I did some foundational work, such as configuring the system, setting up the logging system, and creating classes for parsing hotkeys. Then I ran tests, and all modules seem to be working fine."}]...
|
Title: super screen shotter by @im_best | Stardanc Title: super screen shotter by @im_best | Stardance
Devlogs:
I did some foundational work, such as configuring the system, setting up the logging system, and creating classes for parsing hotkeys. Then I ran tests, and all modules seem to be working fine.
Enhanced the hotkey class to facilitate conversion between keycodes and strings; added functionality to the log class to print integer arrays.
Completed and tested the multilingual system lang class and fix some bugs
I completed a window class, so now I can easily create and manage windows. I finally wrote a program that supports multiple windows! Then I used this window class to implement a settings page window, though I haven’t written much content for it yet. I had AI help introduce a Rust project so my program can retrieve the current system accent color and whether dark mode is enabled, allowing my windows to automatically switch colors based on the system theme. Additionally, I fixed a small bug where the tray icon wasn’t displaying properly.
I’m currently improving basic controls, such as the button, rect, color, and Font classes. Then I extracted the SVG icon pack from snow-shot. At first, I planned to use Skia’s SVG module to handle them, but after several attempts, I gave up on using Skia for SVG processing and switched to resvg, because Skia kept having compilation issues. I used AI to help me integrate resvg. vcpkg cannot properly handle Skia’s SVG module, which is really a frustrating issue....
|
1792806487.0361352
|
1793411287.0361352
|
|
516
|
Nephthys by @Mish | Stardance
|
Mish
|
0
|
22.53
|
0
|
[]
|
[{"post_id": 77687, "ts": "202 [{"post_id": 77687, "ts": "2026-10-07T21:40:41Z", "hours": 21.1439, "text": "a lot of stuff has been done! notably: We now have API keys that let you access message content on the API! (see below) Give credit to the last responder (not the resolver) on recently-active threads Enforce type checks with Pyright Category tags v2: Now editable and assigned using a desicion model (Jev)!"}, {"post_id": 939, "ts": "2026-06-02T18:16:49Z", "hours": 0.5314, "text": "I had the idea of dynamically updating the topic in the team channel to include the number of open tickets! And then I scrapped that idea because I realised it would spam the channel with these messages…"}, {"post_id": 234, "ts": "2026-06-01T11:10:53Z", "hours": 0.8533, "text": "Added a new transcript to make Nephthys work for Stardance!"}]...
|
Title: Nephthys by @Mish | Stardance
Devlogs:
Add Title: Nephthys by @Mish | Stardance
Devlogs:
Added a new transcript to make Nephthys work for Stardance!
I had the idea of dynamically updating the topic in the team channel to include the number of open tickets! And then I scrapped that idea because I realised it would spam the channel with these messages…
a lot of stuff has been done! notably: We now have API keys that let you access message content on the API! (see below) Give credit to the last responder (not the resolver) on recently-active threads Enforce type checks with Pyright Category tags v2: Now editable and assigned using a desicion model (Jev)!...
|
1793217127.8860688
|
1793821927.8860688
|
|
54669
|
BLACKBOX (complain filing application) by @Fabulou BLACKBOX (complain filing application) by @FabulousHippoOfOrangeLake | Stardance...
|
FabulousHippoOfOrangeLake
|
1
|
22.5
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T16:28:54Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a python desktop app for student feedback, issue and complain management. The main idea was to provide students with one core place to report problems. Students use their roll number for logins, they can upvote issues to show its urgency, they can change their own password. There is also a separate admin dashboard with issues organised cleanly according to priority. I am proud of using Custom Tkinter for the first time but not proud of having 1200 lines of code in one file! I hope u find this project worthy and fun to use!", "repo": "https://github.com/sharmashashwat27-source/BLACKBOX", "demo": "https://github.com/sharmashashwat27-source/BLACKBOX/releases/tag/custom-Tkinter"}]...
|
[{"post_id": 72698, "ts": "202 [{"post_id": 72698, "ts": "2026-09-23T15:05:48Z", "hours": 7.5047, "text": "DEVLOG #9 idk SO i added so may features and it was such a pain in the ass to retain feature when adding new ones i kept messing up here and there and even forgot to call the simplest of functions. But now i’m here and this is what I added: Different types of admin (headmaster, housemaster senior master etc.) feature to chose who u want to submit the report too feature to forward the issue (as an admin) - if the particular admin finds its not for him logging in if ur in guest mode and logging out if ur in student mode my reports and all reports button added a view issue button which lets u view the full issue instead of the dot expanding thing i had before lastly the stupidest but most needed asterisk while entering passwords."}, {"post_id": 64289, "ts": "2026-09-08T15:59:34Z", "hours": 0.8783, "text": "DEVLOG#9 So today I finished the new gui design it isn’t as good and as clean as my refernce but I am still happ with it i even added the code from where the gui redesign started. by the way i had to change this exact code numerous timessssss. This devlog includes the most time i spent vibe coding , and regretted………….. So i hope to add 2-3 more features like allowing admins to change the password(maybe) and I hope to ship this project by day after tommorow :)"}, {"post_id": 63630, "ts": "2026-09-07T15:37:46Z", "hours": 1.7175, "text": "DEVLOG#8 Today I fixed ALL of the mistakes like when u get the admin passowrd wrong whilst changing the status of a Issue report shitt was working great i hope to ship this before the 10th buutttttttttttttt….. Life isn’t so easy, I wanted to UPGRADE the GUI one last time to make it look like a decent application and I am still in the middle of that but i will definitely update u according to my progress. Here my inspiration ( not where i am rn ) I am aiming for smthing like this for my app"}, {"post_id": 60904, "ts": "2026-09-03T15:40:22Z", "hours": 1.0444, "text": "DEVLOG #8 So today I gave the same functions i gave to student view yesterday to admin view but better I added a priority calculator, a show more show less thing from yesterday and the filter thingy"}, {"post_id": 60289, "ts": "2026-09-02T15:47:16Z", "hours": 1.0939, "text": "DEVOG#7 This took way more time than it should have, so when i ran the program today I realized that the filter function wasn’t working properly and to fix i ended up removing the show show less option which i got working after loads of struggles due to some of the STUPIDEST mistakes…"}, {"post_id": 59638, "ts": "2026-09-01T15:38:45Z", "hours": 2.1444, "text": "DEVLOG #6 SO today consisted of me correcting my stupid mistakes again…. But this time I actually fixed everything and I also added a show more, show less option/button because too much text was ending up pushing the upvote button off the screen, making it IMPOSSIBLE to upvote. I also add a feature that lets the users sort and classify the problems so its easier to manage rather than having like 20+ problems on your page and having to read through ALL of themm.. Along with that I even took the concept of taking urgency as input out of the equation as I didn’t want people to be writing “The urgency is 9999 bro trust me”; to deal with such larpers I added basic yet effective limiters…"}, {"post_id": 59536, "ts": "2026-09-01T12:40:57Z", "hours": 0.8722, "text": "DEVLOG#5 So I basically worked on adding a function to chage the status of a problem, something only admins can access. Liittle did I know I would mess up half of the code smhw, even Chatgpt wasn’t helping but after fixing some of the stupidest mistakes I got the code running, but yes there are still some problemss…"}, {"post_id": 57405, "ts": "2026-08-29T15:28:54Z", "hours": 1.0681, "text": "DEVLOG#4 so today included touching up and finessing because i forgot to add features, i also added a change password function messed around with customtkinter but failed miserably hope to do some absolute legendary progress tomorrow."}, {"post_id": 56566, "ts": "2026-08-28T11:29:59Z", "hours": 3.6278, "text": "DEVLOG#3 Absolutely Legendary progress, almost done with the final GUI looks awesome. I also worked on major backend code addes passwords and login statements for both students and admins and i also ensured that one person cannot upvote on an issue more than once. I also added guest mode. Tomorrow will include making loads of changes and making the GUI better!"}, {"post_id": 55581, "ts": "2026-08-27T15:05:38Z", "hours": 1.0158, "text": "DEVLOG#2 So today was a mess because I had to go around fighting teachers in my school just so I could have my OWN LAPTOP, a big pain in the *ss but all of that stuff aside. Today’s progress was decent i worked on the GUI alot messed around with Tkinter diferrent sizes and style and I also added a admin tab to the website which is still in progress because I ran into numerous errors and I am still pinpointing my mistakes. Along with the admin tab I added a login interface type of thig and that turned out to be a task because again MY FIRST TIME designing an OAUTH. Hope to improve the GUI a lotttttt!!!!!!! but i am satisfied with what i have right now. till we meet againnnnnn………."}, {"post_id": 55107, "ts": "2026-08-26T15:47:57Z", "hours": 1.0783, "text": "DEVLOG#1 First time working with JSON and Tkinter till now i have coded the frontend of the app to some extent and hope to start working on the backend soon. This was also my first time using JSON, I used it to make kind of like a database which store previous complains and uses this stored data to develop a combined report of similar issues. Lovely experience, but not going to lie Gemini helped me out a lot to spot my mistakes in like every 20-25 lines and it turned out to be somewhat a pain but I hope that JSON and Tkinter will help me developing future projects."}]...
|
Title: BLACKBOX (complain filing application) by @ Title: BLACKBOX (complain filing application) by @FabulousHippoOfOrangeLake | Stardance
Devlogs:
DEVLOG#1 First time working with JSON and Tkinter till now i have coded the frontend of the app to some extent and hope to start working on the backend soon. This was also my first time using JSON, I used it to make kind of like a database which store previous complains and uses this stored data to develop a combined report of similar issues. Lovely experience, but not going to lie Gemini helped me out a lot to spot my mistakes in like every 20-25 lines and it turned out to be somewhat a pain but I hope that JSON and Tkinter will help me developing future projects.
DEVLOG#2 So today was a mess because I had to go around fighting teachers in my school just so I could have my OWN LAPTOP, a big pain in the *ss but all of that stuff aside. Today’s progress was decent i worked on the GUI alot messed around with Tkinter diferrent sizes and style and I also added a admin tab to the website which is still in progress because I ran into numerous errors and I am still pinpointing my mistakes. Along with the admin tab I added a login interface type of thig and that turned out to be a task because again MY FIRST TIME designing an OAUTH. Hope to improve the GUI a lotttttt!!!!!!! but i am satisfied with what i have right now. till we meet againnnnnn……….
DEVLOG#3 Absolutely Legendary progress, almost done with the final GUI looks awesome. I also worked on major backend code addes passwords and login statements for both students and admins and i also ensured that one person cannot upvote on an issue more than once. I also added guest mode. Tomorrow will include making loads of changes and making the GUI better!
DEVLOG#4 so today included touching up and finessing because i forgot to add features, i also added a change password function messed around with customtkinter but failed miserably hope to do some absolute legendary progress tomorrow.
DEVLOG#5 So I basically worked on adding a function to chage the status of a problem, something only admins can access. Liittle did I know I would mess up half of the code smhw, even Chatgpt wasn’t helping but after fixing some of the stupidest mistakes I got the code running, but yes there are still some problemss…
DEVLOG #6 SO today consisted of me correcting my stupid mistakes again…. But this time I actually fixed everything and I also added a show more, show less option/button because too much text was ending up pushing the upvote button off the screen, making it IMPOSSIBLE to upvote. I also add a feature that lets the users sort and classify the problems so its easier to manage rather than having like 20+ problems on your page and having to read through ALL of themm.. Along with that I even took the concept of taking urgency as input out of the equation as I didn’t want people to be writing “The urgency is 9999 bro trust me”; to deal with such larpers I added basic yet effective limiters…
DEVOG#7 This took way more time than it should have, so when i ran the program today I realized that the filter function wasn’t working properly and to fix i ended up removing the show show less option which i got working after loads of struggles due to some of the STUPIDEST mistakes…
DEVLOG #8 So today I gave the same functions i gave to student view yesterday to admin view but better I added a priority calculator, a show more show less thing from yesterday and the filter thingy
DEVLOG#8 Today I fixed ALL of the mistakes like when u get the admin passowrd wrong whilst changing the status of a Issue report shitt was working great i hope to ship this before the 10th buutttttttttttttt….. Life isn’t so easy, I wanted to UPGRADE the GUI one last time to make it look like a decent application and I am still in the middle of that but i will definitely update u according to my progress. Here my inspiration ( not where i am rn ) I am aiming for smthing like this for my app
DEVLOG#9 So today I finished the new gui design it isn’t as good and as clean as my refernce but I am still happ with it i even added the code from where the gui redesign started. by the way i had to change this exact code numerous timessssss. This devlog includes the most time i spent vibe coding , and regretted………….. So i hope to add 2-3 more features like allowing admins to change the password(maybe) and I hope to ship this project by day after tommorow :)
DEVLOG #9 idk SO i added so may features and it was such a pain in the ass to retain feature when adding new ones i kept messing up here and there and even forgot to call the simplest of functions. But now i’m here and this is what I added: Different types of admin (headmaster, housemaster senior master etc.) feature to chose who u want to submit the report too feature to forward the issue (as an admin) - if the particular admin finds its not for him logging in if ur in guest mode and logging out if ur in student mode my reports and all reports button added a view issue button which lets u view the full issue instead of the dot expanding thing i had before lastly the stupidest but most needed asterisk while entering passwords.
Ships:
I made a python desktop app for student feedback, issue and complain management. The main idea was to provide students with one core place to report problems. Students use their roll number for logins, they can upvote issues to show its urgency, they can change their own password. There is also a separate admin dashboard with issues organised cleanly according to priority. I am proud of using Custom Tkinter for the first time but not proud of having 1200 lines of code in one file! I hope u find this project worthy and fun to use!...
|
1793134067.6261988
|
1793220467.6261988
|
|
7463
|
PixelOrbit by @leotsio | Stardance
|
leotsio
|
0
|
22.49
|
0
|
[]
|
[{"post_id": 14941, "ts": "202 [{"post_id": 14941, "ts": "2026-06-24T08:41:13Z", "hours": 3.5547, "text": "👾 PixelOrbit - Devlog #4 (Perseverance sprite & UI improvements) 🚀 New spacecraft (kind of…) I added perseverance in the spacecraftData.json and made a sprite for it with my pixelator.py helper program (check it out in my first devlog), however i haven’t made a provider for it yet. I will also add JWST and Voyager 1 , so help me decide what data should i add for these along with perseverance. UI polish (the good stuff) I didn’t actually work hard on this update, but i made the frontend a bit more engaging. Ngl i have not very high css skills and i left most of the weird styling in chatgpt but the whole design is mine. First of all, i added a slight parallax effect that helped me move on from this static design. gave it some colour , since before it was like a black and white 90s photo. Another huge UI redesign was the navigator which now has a completely new look and now works like a real carousel . ⚠️ Debugging I also noticed a minor bug and had the chance to fix it. well, both side arrows triggered the same function which made the UI feel broken because no matter to which side you wanted to change spacecraft, it always slid to the right. Resources check it out at: PixelOrbit The repo: LeoTsio/PixelOrbit"}, {"post_id": 11862, "ts": "2026-06-19T09:44:25Z", "hours": 8.6467, "text": "👾 PixelOrbit — Devlog #3 (UI) The Goal PixelOrbit is a pixel-art style website that has one goal in mind: Make NASA mission data & telemetry understandable by anyone. After hours of a C++ guy trying to write javascript i finally finished the first version of the UI . have a look: PixelOrbit Making It Real This was the moment where the project actually started to feel real to me. Instead of random bits of code and half-working ideas, PixelOrbit now has an actual face: a proper landing view, the spacecraft front and center, a selector to switch between them, and a data panel that actually belongs there. What it has now a proper landing view the spacecraft front and center a selector to switch between them a data panel that feels like it actually belongs there ❓QUESTION I would love any feedback from all of you on any improvements, but most importantly what data would you like to see for JWST, voyager 1 and perseverance. Good options are the most unexpected ones who anyone can understand."}, {"post_id": 6390, "ts": "2026-06-10T19:03:29Z", "hours": 3.2056, "text": "👾 PixelOrbit — Devlog #2 (Providers) I’m building PixelOrbit , a retro pixel-art website that turns real NASA spacecraft telemetry into something anyone can understand. This week I finished the first working version of the project. Provider System I built a provider system where every spacecraft has its own JavaScript file ( iss.js , hubble.js , etc.) responsible for fetching and processing data. The UI doesn’t need to know anything about the spacecraft itself—it simply asks the current provider for data and displays the result. This should make adding future spacecraft incredibly easy. Progress I also reorganized the entire project structure, added a testing UI, and got live telemetry working for both the ISS and Hubble. After spending far more time fighting GitHub Pages, CORS restrictions, HTTPS issues, and random API limitations than actually coding features, I finally managed to get everything running online. 🌍 Live website: https://leotsio.github.io/PixelOrbit/ Current Spacecraft 🛰️ ISS — Altitude, velocity, current location 🔭 Hubble — Altitude, velocity, current location ❓ Question for Everyone What data would you actually want to see for spacecraft like the ISS, Hubble, JWST, Voyager 1, or Perseverance? I’m trying to focus on the stats that are genuinely fascinating rather than just technically available."}, {"post_id": 4900, "ts": "2026-06-08T14:02:53Z", "hours": 7.0839, "text": "👾 PixelOrbit - Devlog #1 (Pixelator) I’m building PixelOrbit , a pixel-art website that transforms real NASA spacecraft telemetry into interactive visualizations that are easier to understand. Today I completed the first milestone of the project: the Pixelator . The Pixelator takes an image from either a local file or an internet URL and automatically: Removes the background Crops the main object Converts it into pixel art Exports a transparent PNG The image below shows the first successful conversion of the Hubble Space Telescope . Most of today’s work was spent debugging dependencies and getting the background-removal pipeline running on my 11-year-old MacBook Air, but the first version is now working and ready for the next stage of the project 🚀"}]...
|
Title: PixelOrbit by @leotsio | Stardance
Devlogs Title: PixelOrbit by @leotsio | Stardance
Devlogs:
👾 PixelOrbit - Devlog #1 (Pixelator) I’m building PixelOrbit , a pixel-art website that transforms real NASA spacecraft telemetry into interactive visualizations that are easier to understand. Today I completed the first milestone of the project: the Pixelator . The Pixelator takes an image from either a local file or an internet URL and automatically: Removes the background Crops the main object Converts it into pixel art Exports a transparent PNG The image below shows the first successful conversion of the Hubble Space Telescope . Most of today’s work was spent debugging dependencies and getting the background-removal pipeline running on my 11-year-old MacBook Air, but the first version is now working and ready for the next stage of the project 🚀
👾 PixelOrbit — Devlog #2 (Providers) I’m building PixelOrbit , a retro pixel-art website that turns real NASA spacecraft telemetry into something anyone can understand. This week I finished the first working version of the project. Provider System I built a provider system where every spacecraft has its own JavaScript file ( iss.js , hubble.js , etc.) responsible for fetching and processing data. The UI doesn’t need to know anything about the spacecraft itself—it simply asks the current provider for data and displays the result. This should make adding future spacecraft incredibly easy. Progress I also reorganized the entire project structure, added a testing UI, and got live telemetry working for both the ISS and Hubble. After spending far more time fighting GitHub Pages, CORS restrictions, HTTPS issues, and random API limitations than actually coding features, I finally managed to get everything running online. 🌍 Live website: https://leotsio.github.io/PixelOrbit/ Current Spacecraft 🛰️ ISS — Altitude, velocity, current location 🔭 Hubble — Altitude, velocity, current location ❓ Question for Everyone What data would you actually want to see for spacecraft like the ISS, Hubble, JWST, Voyager 1, or Perseverance? I’m trying to focus on the stats that are genuinely fascinating rather than just technically available.
👾 PixelOrbit — Devlog #3 (UI) The Goal PixelOrbit is a pixel-art style website that has one goal in mind: Make NASA mission data & telemetry understandable by anyone. After hours of a C++ guy trying to write javascript i finally finished the first version of the UI . have a look: PixelOrbit Making It Real This was the moment where the project actually started to feel real to me. Instead of random bits of code and half-working ideas, PixelOrbit now has an actual face: a proper landing view, the spacecraft front and center, a selector to switch between them, and a data panel that actually belongs there. What it has now a proper landing view the spacecraft front and center a selector to switch between them a data panel that feels like it actually belongs there ❓QUESTION I would love any feedback from all of you on any improvements, but most importantly what data would you like to see for JWST, voyager 1 and perseverance. Good options are the most unexpected ones who anyone can understand.
👾 PixelOrbit - Devlog #4 (Perseverance sprite & UI improvements) 🚀 New spacecraft (kind of…) I added perseverance in the spacecraftData.json and made a sprite for it with my pixelator.py helper program (check it out in my first devlog), however i haven’t made a provider for it yet. I will also add JWST and Voyager 1 , so help me decide what data should i add for these along with perseverance. UI polish (the good stuff) I didn’t actually work hard on this update, but i made the frontend a bit more engaging. Ngl i have not very high css skills and i left most of the weird styling in chatgpt but the whole design is mine. First of all, i added a slight parallax effect that helped me move on from this static design. gave it some colour , since before it was like a black and white 90s photo. Another huge UI redesign was the navigator which now has a completely new look and now works like a real carousel . ⚠️ Debugging I also noticed a minor bug and had the chance to fix it. well, both side arrows triggered the same function which made the UI feel broken because no matter to which side you wanted to change spacecraft, it always slid to the right. Resources check it out at: PixelOrbit The repo: LeoTsio/PixelOrbit...
|
1793260424.140681
|
1793865224.140681
|
|
46565
|
Fun with Squares by @noahplaysmario | Stardance
|
noahplaysmario
|
0
|
22.48
|
0
|
[]
|
[{"post_id": 79678, "ts": "202 [{"post_id": 79678, "ts": "2026-10-15T01:26:38Z", "hours": 1.0539, "text": "Improved the demo scene so it represents the actual game better and I can work on making the graphics good."}, {"post_id": 79528, "ts": "2026-10-14T13:28:26Z", "hours": 0.5383, "text": "OH MY GOODNESS I FINALLY GOT IT WORKING I finally figured out (with the help of claude) where the bug was and I fixed it (myself). Now I can actually see the world instead of just a screen full of sky!"}, {"post_id": 63308, "ts": "2026-09-07T01:54:33Z", "hours": 2.9153, "text": "Got the 3d texture set up but not working… Help wanted! I got the 3D texture working, but I just see a screen full of sky. I am going to work on debugging it myself, but if you want to look at the code and you see something weird, I would like to know."}, {"post_id": 60771, "ts": "2026-09-03T11:20:43Z", "hours": 5.8661, "text": "Did some optimizations, discarded some to do later instead, kept 1, and started work on sending world data from CPU. Note: No git commit for this one because I need to finish the code for tracking the world on the CPU, but there’s a good idea of what I’m doing in the screenshot!"}, {"post_id": 47701, "ts": "2026-08-15T19:46:24Z", "hours": 3.26, "text": "Refractions, Reflection, and Skybox I added refractions, reflections, and a skybox. I also made the camera move. The next steps for the project are lighting, optimizing the shader for performance(so I can have a reasonable render distance because 64 looks like a lot but the player is actually 8 blocks wide because this game is more detailed than Minecraft), and sending the world data from the CPU instead of generating it while rendering."}, {"post_id": 47036, "ts": "2026-08-14T17:10:13Z", "hours": 4.9458, "text": "I finally got a start to ray tracing! The game is finally rendering using raytracing, although it’s currently very minimal and for some reason there’s a blue bar on the left. If anyone can help figure out why, it would be much appreciated."}, {"post_id": 45464, "ts": "2026-08-11T23:09:42Z", "hours": 2.5631, "text": "The Test Triangle Look! A triangle! (This is a very common test to make sure a graphics library works)"}, {"post_id": 45149, "ts": "2026-08-11T13:36:16Z", "hours": 1.3356, "text": "Finally got the window drawing! (WGPU is hard)"}]...
|
Title: Fun with Squares by @noahplaysmario | Stard Title: Fun with Squares by @noahplaysmario | Stardance
Devlogs:
Finally got the window drawing! (WGPU is hard)
The Test Triangle Look! A triangle! (This is a very common test to make sure a graphics library works)
I finally got a start to ray tracing! The game is finally rendering using raytracing, although it’s currently very minimal and for some reason there’s a blue bar on the left. If anyone can help figure out why, it would be much appreciated.
Refractions, Reflection, and Skybox I added refractions, reflections, and a skybox. I also made the camera move. The next steps for the project are lighting, optimizing the shader for performance(so I can have a reasonable render distance because 64 looks like a lot but the player is actually 8 blocks wide because this game is more detailed than Minecraft), and sending the world data from the CPU instead of generating it while rendering.
Did some optimizations, discarded some to do later instead, kept 1, and started work on sending world data from CPU. Note: No git commit for this one because I need to finish the code for tracking the world on the CPU, but there’s a good idea of what I’m doing in the screenshot!
Got the 3d texture set up but not working… Help wanted! I got the 3D texture working, but I just see a screen full of sky. I am going to work on debugging it myself, but if you want to look at the code and you see something weird, I would like to know.
OH MY GOODNESS I FINALLY GOT IT WORKING I finally figured out (with the help of claude) where the bug was and I fixed it (myself). Now I can actually see the world instead of just a screen full of sky!
Improved the demo scene so it represents the actual game better and I can work on making the graphics good....
|
1792669995.756712
|
1793274795.756712
|
|
44682
|
andOS by @clumsy261 | Stardance
|
clumsy261
|
2
|
22.47
|
30
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T21:30:25Z", "hours": 13.0, "multiplier": 2.39, "payout": 30, "blessing": "neutral", "text": "Here is the newest version of my webOS! https://clumsy261.github.io/andOS/ Among the new features from the first part there are: -a new notes app -a new code editor app (for custom user scripts) -an actual app store for user made apps -resizeable windows (made easy by just using resizeElement(card) in any custom script) -ping pong app (vibe coded but made to be a proof of concept) -secret easter egg add (check out what the andOS name actually means) This was a really nice experience, now I really understand most html, css and js concepts (not many courses offer that). Hopefully this will get some attention and users will start building actual apps. :D (come to think of it it’s just a fancy server for testing web code)", "repo": "https://github.com/clumsy261/andOS", "demo": "https://clumsy261.github.io/andOS/"}, {"ship_num": 2, "ts": "2026-08-12T11:39:40Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom webOS using the guide offered by stardance. It was really simple, thinking back on it. I added a template for future apps and made it more efficient with file sorting. I’m planning on adding an actual window creator app, where a user can write any code they want to compile into the OS as an actual app.", "repo": "https://github.com/clumsy261/andOS", "demo": "https://clumsy261.github.io/andOS/"}]...
|
[{"post_id": 57544, "ts": "202 [{"post_id": 57544, "ts": "2026-08-29T18:35:49Z", "hours": 0.4653, "text": "I’ve looked at some post-use apps made by some users and fixed some bugs: if the icon is invalid it’s replaced by a default “gears” app doesn’t allow blank titles anymore - they get renamed “App ” if left blank Now I’m debating wether or not to manually remove junk apps - test blobs made by some users just for testing the platform"}, {"post_id": 56201, "ts": "2026-08-27T21:07:27Z", "hours": 1.3964, "text": "I just wrote a decent README so, It’s finished!!! :D (for the 17th time) The app store isn’t very rich right now, but I plan on adding more apps if users request any"}, {"post_id": 54728, "ts": "2026-08-25T20:11:46Z", "hours": 2.5144, "text": "First app is up! :D Made a ping-pong game (mostly ai slop) … BUT I KNOW how it works, had to make the game pause when hidden and resume when the window gets clicked."}, {"post_id": 53813, "ts": "2026-08-24T14:48:35Z", "hours": 3.6983, "text": "The hard part is done. AndOS now has a code editor, “compiler” and publisher ~ and all bugs that I knew of are gone :D"}, {"post_id": 53095, "ts": "2026-08-23T15:06:54Z", "hours": 0.8214, "text": "He he hell yeah It’s done. A working demo for the submitting apps is done, now any user can actually create their own app inside my webos (for real this time) I’ll add some user-friendly documentation soon on the prebuilt functions and more."}, {"post_id": 53051, "ts": "2026-08-23T13:22:57Z", "hours": 1.2092, "text": "I have succesfully made a custom script for custom apps. Now an entire window can be opened on my page with an object like this. I only need to add two things, one local interface to actually submit the code from a user, and then a public app store."}, {"post_id": 49774, "ts": "2026-08-18T18:14:30Z", "hours": 1.2, "text": "Today was a good day, I finished the notes app earlier (not sure it was today) aaaand implemented a new feature I wanted for some time. Now every day my os has a new background, the nasa apod background! I also added an info window that includes the name and info about the image. I got the idea from windows back when I had to use it without a license and this was the default."}, {"post_id": 48882, "ts": "2026-08-17T13:30:52Z", "hours": 1.0886, "text": "Completed the notes app! New feature: Apps can now be resized properly, since the resize function returns an event-target that can be used in the custom app script."}, {"post_id": 47371, "ts": "2026-08-15T08:40:00Z", "hours": 0.7733, "text": "I’ve implemented two new functions!! The resizeElement initializez a div in the bottom right corner of the window. It acts as a handle to resize the window. It has no practical use I can think of, aside from user experience. And then there is the overlay function, I forgot to put this in from the original guide but now this allows each app to be put in front of the others when interacted with."}, {"post_id": 45708, "ts": "2026-08-12T11:35:01Z", "hours": 1.7156, "text": "It’s officially done! There are still features I’d like to add later on, but for now this is a functional webOS. You can check out the latest demo right here: https://clumsy261.github.io/andOS/"}, {"post_id": 44168, "ts": "2026-08-09T18:59:33Z", "hours": 2.3583, "text": "Finally have a good demo for the weather app!!"}, {"post_id": 43950, "ts": "2026-08-09T12:23:04Z", "hours": 0.6453, "text": "Officially made a user-friendly (kinda) platform to add apps, I will now go on to some actual apps and I’m done"}, {"post_id": 43857, "ts": "2026-08-09T09:23:12Z", "hours": 1.0436, "text": "Finally made the apps fully modular, any js script can be made by anyone, I have to make a platform now to upload such scripts"}, {"post_id": 43459, "ts": "2026-08-08T18:38:44Z", "hours": 1.5206, "text": "Soooo I’m like halfway thru the guide (the interesting part of it), finally got everything working, I just want to make it more modular (I’ll explain later)"}, {"post_id": 42890, "ts": "2026-08-07T20:58:56Z", "hours": 1.7061, "text": "Finally made the moving tab work, I have a great plan for this. I’m thinking of changing the background daily, and to put a “find out more about this image tab”, that’s basically the apod api"}]...
|
Title: andOS by @clumsy261 | Stardance
Devlogs:
F Title: andOS by @clumsy261 | Stardance
Devlogs:
Finally made the moving tab work, I have a great plan for this. I’m thinking of changing the background daily, and to put a “find out more about this image tab”, that’s basically the apod api
Soooo I’m like halfway thru the guide (the interesting part of it), finally got everything working, I just want to make it more modular (I’ll explain later)
Finally made the apps fully modular, any js script can be made by anyone, I have to make a platform now to upload such scripts
Officially made a user-friendly (kinda) platform to add apps, I will now go on to some actual apps and I’m done
Finally have a good demo for the weather app!!
It’s officially done! There are still features I’d like to add later on, but for now this is a functional webOS. You can check out the latest demo right here: https://clumsy261.github.io/andOS/
I’ve implemented two new functions!! The resizeElement initializez a div in the bottom right corner of the window. It acts as a handle to resize the window. It has no practical use I can think of, aside from user experience. And then there is the overlay function, I forgot to put this in from the original guide but now this allows each app to be put in front of the others when interacted with.
Completed the notes app! New feature: Apps can now be resized properly, since the resize function returns an event-target that can be used in the custom app script.
Today was a good day, I finished the notes app earlier (not sure it was today) aaaand implemented a new feature I wanted for some time. Now every day my os has a new background, the nasa apod background! I also added an info window that includes the name and info about the image. I got the idea from windows back when I had to use it without a license and this was the default.
I have succesfully made a custom script for custom apps. Now an entire window can be opened on my page with an object like this. I only need to add two things, one local interface to actually submit the code from a user, and then a public app store.
He he hell yeah It’s done. A working demo for the submitting apps is done, now any user can actually create their own app inside my webos (for real this time) I’ll add some user-friendly documentation soon on the prebuilt functions and more.
The hard part is done. AndOS now has a code editor, “compiler” and publisher ~ and all bugs that I knew of are gone :D
First app is up! :D Made a ping-pong game (mostly ai slop) … BUT I KNOW how it works, had to make the game pause when hidden and resume when the window gets clicked.
I just wrote a decent README so, It’s finished!!! :D (for the 17th time) The app store isn’t very rich right now, but I plan on adding more apps if users request any
I’ve looked at some post-use apps made by some users and fixed some bugs: if the icon is invalid it’s replaced by a default “gears” app doesn’t allow blank titles anymore - they get renamed “App ” if left blank Now I’m debating wether or not to manually remove junk apps - test blobs made by some users just for testing the platform
Ships:
I made a custom webOS using the guide offered by stardance. It was really simple, thinking back on it. I added a template for future apps and made it more efficient with file sorting. I’m planning on adding an actual window creator app, where a user can write any code they want to compile into the OS as an actual app.
Here is the newest version of my webOS! https://clumsy261.github.io/andOS/ Among the new features from the first part there are: -a new notes app -a new code editor app (for custom user scripts) -an actual app store for user made apps -resizeable windows (made easy by just using resizeElement(card) in any custom script) -ping pong app (vibe coded but made to be a proof of concept) -secret easter egg add (check out what the andOS name actually means) This was a really nice experience, now I really understand most html, css and js concepts (not many courses offer that). Hopefully this will get some attention and users will start building actual apps. :D (come to think of it it’s just a fancy server for testing web code)...
|
1793253020.0745366
|
1793339420.0745366
|
|
64735
|
Pathway by @saminsiddiqui | Stardance
|
saminsiddiqui
|
0
|
22.46
|
0
|
[]
|
[{"post_id": 82692, "ts": "202 [{"post_id": 82692, "ts": "2026-10-25T16:40:52Z", "hours": 5.8025, "text": "I had exams last week, so I am a bit late. I need to get a lot of work done in the next couple of days. Anyways, this devlog covers all of the changes that I made since the last devlog. First of all, I have added the roadmaps of 5 countries in the countries tab. The animation of the checkpoint traveling as the user scrolls down in any one of the roadmaps was a bit difficult to make. It is still a bit glitchy. I will work on it again in the upcoming days. Also, the toolkit tab is now grouped into main sections. It only has one main section now. I will add more sections in the upcoming days. Additionally, I have organized the content to be a bit cleaner and more minimalistic as I myself felt a bit overwhelmed reading through the content. Moreover, it took a lot of time to gather and check all of the facts."}, {"post_id": 80202, "ts": "2026-10-16T18:22:03Z", "hours": 8.1011, "text": "It has been quite a while since I lasted posted a devlog. I know that I take way too much time before I post a devlog. However, it is just that I do not feel like posting before I do make some actual progress. Anyways, back to the progress - So, the Plan tab is finished. Basically, you get to answer up to eight short questions and then Pathway builds a dated plan for the USA, Finland, Turkey, Malaysia or New Zealand from 117 sourced facts. The planner works backwards from each deadline and runs twice i.e. once without safety margins to decide whether an intake is still possible. The hardest part was the animation (as expected). It is because the phone’s frame log showed stutters which needed some serious fixes."}, {"post_id": 75290, "ts": "2026-09-29T17:21:44Z", "hours": 8.5519, "text": "Ooopsss! I figured that I have to post a devlog soon. Anyways, I have started working on Pathway. It has now its real app shell i.e. four tabs, light and dark themes with a manual switch, and a design built around a metro map. The hardest part was the status bar. On my phone, the clock became unreadable in light mode until I found that Capacitor 8 never draws behind the system bars on Android 14 and older. So, the app now asks for it itself."}]...
|
Title: Pathway by @saminsiddiqui | Stardance
Devl Title: Pathway by @saminsiddiqui | Stardance
Devlogs:
Ooopsss! I figured that I have to post a devlog soon. Anyways, I have started working on Pathway. It has now its real app shell i.e. four tabs, light and dark themes with a manual switch, and a design built around a metro map. The hardest part was the status bar. On my phone, the clock became unreadable in light mode until I found that Capacitor 8 never draws behind the system bars on Android 14 and older. So, the app now asks for it itself.
It has been quite a while since I lasted posted a devlog. I know that I take way too much time before I post a devlog. However, it is just that I do not feel like posting before I do make some actual progress. Anyways, back to the progress - So, the Plan tab is finished. Basically, you get to answer up to eight short questions and then Pathway builds a dated plan for the USA, Finland, Turkey, Malaysia or New Zealand from 117 sourced facts. The planner works backwards from each deadline and runs twice i.e. once without safety margins to decide whether an intake is still possible. The hardest part was the animation (as expected). It is because the phone’s frame log showed stutters which needed some serious fixes.
I had exams last week, so I am a bit late. I need to get a lot of work done in the next couple of days. Anyways, this devlog covers all of the changes that I made since the last devlog. First of all, I have added the roadmaps of 5 countries in the countries tab. The animation of the checkpoint traveling as the user scrolls down in any one of the roadmaps was a bit difficult to make. It is still a bit glitchy. I will work on it again in the upcoming days. Also, the toolkit tab is now grouped into main sections. It only has one main section now. I will add more sections in the upcoming days. Additionally, I have organized the content to be a bit cleaner and more minimalistic as I myself felt a bit overwhelmed reading through the content. Moreover, it took a lot of time to gather and check all of the facts....
|
1793065975.9368417
|
1793670775.9368417
|
|
11315
|
Chip Factory by @heitordecarvalhopessoa | Stardanc Chip Factory by @heitordecarvalhopessoa | Stardance...
|
heitordecarvalhopessoa
|
1
|
22.45
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T20:42:20Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "THE FINAL VERSION IS HERE", "repo": "https://github.com/heitordecarvalhopessoa-debug/Chip-Factory", "demo": "https://heitordecarvalhopessoa-debug.github.io/Chip-Factory/"}]...
|
[{"post_id": 17697, "ts": "202 [{"post_id": 17697, "ts": "2026-06-28T16:42:41Z", "hours": 2.4536, "text": "New hud, just this"}, {"post_id": 10313, "ts": "2026-06-16T23:39:43Z", "hours": 4.6467, "text": "New version 7 New chips: 1 Bridge 2 Analytics Bug Fixeds Prices changes New shop category (Neutral)"}, {"post_id": 8215, "ts": "2026-06-13T17:40:48Z", "hours": 3.68, "text": "New version 6 Animations Laboratory (level 5) 1 (NEW) Vault 2 Processor 3 Nexus Hud changes Bugs Fixed Shop Changes"}, {"post_id": 7150, "ts": "2026-06-11T22:49:28Z", "hours": 2.3283, "text": "New version 5 New prestige system Tutorial Mini Hud Changes Bugs Fixed"}, {"post_id": 6509, "ts": "2026-06-10T22:46:24Z", "hours": 1.4286, "text": "New version 4 New chips: 1 - Market 2 - Nexus 3 - Autosell Bugs Fixed Ctrl and Shift are shortcuts."}, {"post_id": 5241, "ts": "2026-06-08T23:02:28Z", "hours": 1.8894, "text": "New version 3 New chip (Processor) New data storage system Bugs Fixed Hud Changed"}, {"post_id": 4566, "ts": "2026-06-07T22:14:12Z", "hours": 1.5711, "text": "New version 2 New chip textures New chip (Battery) Overclock and miner changes"}, {"post_id": 4348, "ts": "2026-06-07T17:06:39Z", "hours": 4.4169, "text": "ChipFactory Version 1"}]...
|
Title: Chip Factory by @heitordecarvalhopessoa | S Title: Chip Factory by @heitordecarvalhopessoa | Stardance
Devlogs:
ChipFactory Version 1
New version 2 New chip textures New chip (Battery) Overclock and miner changes
New version 3 New chip (Processor) New data storage system Bugs Fixed Hud Changed
New version 4 New chips: 1 - Market 2 - Nexus 3 - Autosell Bugs Fixed Ctrl and Shift are shortcuts.
New version 5 New prestige system Tutorial Mini Hud Changes Bugs Fixed
New version 6 Animations Laboratory (level 5) 1 (NEW) Vault 2 Processor 3 Nexus Hud changes Bugs Fixed Shop Changes
New version 7 New chips: 1 Bridge 2 Analytics Bug Fixeds Prices changes New shop category (Neutral)
New hud, just this
Ships:
THE FINAL VERSION IS HERE...
|
1793123698.1417198
|
1793210098.1417198
|
|
69960
|
XenoOS by @Xenoxx | Stardance
|
Xenoxx
|
0
|
22.44
|
0
|
[]
|
[{"post_id": 80049, "ts": "202 [{"post_id": 80049, "ts": "2026-10-16T02:25:48Z", "hours": 22.4422, "text": "My OS, uhh got a very high number so imma incearse it"}]...
|
Title: XenoOS by @Xenoxx | Stardance
Devlogs:
My Title: XenoOS by @Xenoxx | Stardance
Devlogs:
My OS, uhh got a very high number so imma incearse it...
|
1792957884.486915
|
1793821884.486915
|
|
35554
|
DIY RC car by @kis904 | Stardance
|
kis904
|
0
|
22.43
|
0
|
[]
|
[{"post_id": 83008, "ts": "202 [{"post_id": 83008, "ts": "2026-10-26T15:08:05Z", "hours": 6.8044, "text": "Since the last devlog a lot happened: worked a lot on the ESC: I seperated them to 2 PCBs so the IC and the low current part is printed with 1oz copper and the MOSFET part where will be high current with 2 oz copper. After all I still don’t know whether it’ll work at all as I don’t know how it’ll dissipate thermal waste and how noisy the signal’ll be the differential: I got lost because I don’t know how the torque and high RPM will effect it and the motor. In addition if it hits an obstacle or smg how it’ll react to that (gear friction, current spike…) so decided to use timing belt from the motor to the differntial to absorb radical mechanical changes but realised it’s way too expansive and I’m already running out of the 3rd tier’s max fund limit as printing these PCBs is just very expensive especially the MOSFET side with 2 oz copper. So my current idea is to make a prototype with 3D printed differential and everything so it’ll be cheap and good to see which parts will be effected the most during usage. Also probably I’ll have to include plus one gear set because with tires the differential would almost hit the ground so I want to place it higher, but because of that I’ll have to set a pair of gears up to pass the rotation on."}, {"post_id": 79129, "ts": "2026-10-12T19:32:15Z", "hours": 4.1033, "text": "Worked a lot on the differential: choose new gears that are available on JLCMC as making a DIY with CNC is very expensive, chose material, size and type loaded them, to fit and don’t interfere with each other made animation to check if everything works made custom pipes, spaceholders to keep gears on the right space Also started designing the ESC’s PCB design routed a lot the easier traces still thinking how to manage making high current traces to avoid overheating and interference"}, {"post_id": 75312, "ts": "2026-09-29T18:26:24Z", "hours": 2.6194, "text": "Since the last log I’ve removed the things from the wheels, as I don’t know how it’ll rotate and don’t want the wheels to crash to the chassis, so I’ll leave more space and holes and print it after I have the main frame and the tires and steering and know how it rotates, how much place it takes Also worked like an hour on the ESC’s PCB layout so when I’ll continue you’ll see a bit of development in the PCB design compared to the previous record. In addition decided to make differential and steering DIY with the help of JLC CNC machining, as I doubt regular 3D printed ones would work and don’t want to buy (assume you also wouldn’t like :P) So started planning the differential of the RC car, see the result on the images!"}, {"post_id": 71918, "ts": "2026-09-21T19:27:03Z", "hours": 1.7953, "text": "Worked a lot on the 3D design, to make it look good, designed a lot. In the previous frame I left too much space for the tires, especially at the front ones. Now, I corrected it to make the hole just fit the tires, also have an other driving mechanism in my mind. I was thinking about whether I need metal gearbox and differential, as it will have to deliver a lot of power and the motor’s high RPM. I don’t have experience, but probably a 3D printed version won’t make it, not durable enough, so I’ll have to buy a metal one and fit into the 3d model."}, {"post_id": 67339, "ts": "2026-09-13T12:38:46Z", "hours": 1.3161, "text": "Continued working on ESC, read the bigger part of the IC’s docs. It’s just so complex all the SPI communications, registers. In addition, I still don’t know what exact parameters to use for some capacitors, resistors, inductors, as in the documentation, they just give an example application for 30A cont. current with 12V input. The huge difference is that I want to make it handle much larger current as high as 50A and I’ll power it from a battery that doesn’t have a stable input voltage. It’ll vary between 16.8-14.0 V If anyone can help, I’d really appreciate it ! Schematic among hte screenshots I use the DRV8305 gate driver IC with STL160N4F7 MOSFETs I know it’s much stronger compared to what needed, but I want to make sure"}, {"post_id": 65568, "ts": "2026-09-10T19:52:38Z", "hours": 2.7686, "text": "Continued to work on ESC, gathered parts. It was very hard and exhausting to search for like half an hour to find a MOSFET that’s available on Mouser but can’t find it on EasyEDA, so look in other libraries… To sum up it’s really time-consuming. Fortunately at the end I had the parts and started actually making the schematic"}, {"post_id": 63105, "ts": "2026-09-06T18:39:32Z", "hours": 2.0633, "text": "I forgot to post devlog after my previous session, so yesterday I was searching for how to build a custom DIY ESC for my BLDC (brushless dc just to write it once) motor. That needs about 50-70A at peak and I will power it with my 4S LiPo I already have. I did find pretty cutting-edge ICs. The problem was that I didn’t know how I’ll be able to control this with my ESP32 or if I have to get an Arduino. After about an hour of research I found SimpleFOC a library for Arduino/ESP32 that does exactly that. Today I continued it with looking at the supported hardware section and found an older but still good enough I hope IC, DRV8305 from TI (Texas Instruments). Unfortunately it has 48 pins so it’ll take a while to make a schematic from it… It’s just so complex I don’t even understand some pins function or why I need them…. In addition I also continued to search for an appropriate BLDC that not too big to draw my battery fully in 3 mins, however still strong enough to make my car go with about 30-50km/h, that’s what I imagined that’d be good to reach. Also saw videos on youtube that high kv vs low kv BLDC motors it turned out that doesn’t really matter so I will pair with my relatively high nominal voltage battery with a lower kv motor that doesn’t have that huge current need. Still hesitating whether I need sensored motor or sensorless. That’s all I think. I’ll definitely continue in the upcoming days"}, {"post_id": 61356, "ts": "2026-09-04T07:19:51Z", "hours": 0.9631, "text": "Started designing the main frame, it’s roughly complete, but I want to polish it like rounding corners, and making it symmetric. Unfortunately I lost like 30 mins when I started making the frame, cause I stopped the record and forgot to resume it. That’s the skip at 18s on Lapse. Also wanted to check in 3D whether there’s enough space for the front tyres to rotate. Don’t know whether it’s robust enough, to endure the forces and don’t get broken. Also attached the image of a BMW E30 that I will try to build as a 1/10 scale rc car. The scale is not good yet in the sketch I just wanted to get the ratios."}]...
|
Title: DIY RC car by @kis904 | Stardance
Devlogs: Title: DIY RC car by @kis904 | Stardance
Devlogs:
Started designing the main frame, it’s roughly complete, but I want to polish it like rounding corners, and making it symmetric. Unfortunately I lost like 30 mins when I started making the frame, cause I stopped the record and forgot to resume it. That’s the skip at 18s on Lapse. Also wanted to check in 3D whether there’s enough space for the front tyres to rotate. Don’t know whether it’s robust enough, to endure the forces and don’t get broken. Also attached the image of a BMW E30 that I will try to build as a 1/10 scale rc car. The scale is not good yet in the sketch I just wanted to get the ratios.
I forgot to post devlog after my previous session, so yesterday I was searching for how to build a custom DIY ESC for my BLDC (brushless dc just to write it once) motor. That needs about 50-70A at peak and I will power it with my 4S LiPo I already have. I did find pretty cutting-edge ICs. The problem was that I didn’t know how I’ll be able to control this with my ESP32 or if I have to get an Arduino. After about an hour of research I found SimpleFOC a library for Arduino/ESP32 that does exactly that. Today I continued it with looking at the supported hardware section and found an older but still good enough I hope IC, DRV8305 from TI (Texas Instruments). Unfortunately it has 48 pins so it’ll take a while to make a schematic from it… It’s just so complex I don’t even understand some pins function or why I need them…. In addition I also continued to search for an appropriate BLDC that not too big to draw my battery fully in 3 mins, however still strong enough to make my car go with about 30-50km/h, that’s what I imagined that’d be good to reach. Also saw videos on youtube that high kv vs low kv BLDC motors it turned out that doesn’t really matter so I will pair with my relatively high nominal voltage battery with a lower kv motor that doesn’t have that huge current need. Still hesitating whether I need sensored motor or sensorless. That’s all I think. I’ll definitely continue in the upcoming days
Continued to work on ESC, gathered parts. It was very hard and exhausting to search for like half an hour to find a MOSFET that’s available on Mouser but can’t find it on EasyEDA, so look in other libraries… To sum up it’s really time-consuming. Fortunately at the end I had the parts and started actually making the schematic
Continued working on ESC, read the bigger part of the IC’s docs. It’s just so complex all the SPI communications, registers. In addition, I still don’t know what exact parameters to use for some capacitors, resistors, inductors, as in the documentation, they just give an example application for 30A cont. current with 12V input. The huge difference is that I want to make it handle much larger current as high as 50A and I’ll power it from a battery that doesn’t have a stable input voltage. It’ll vary between 16.8-14.0 V If anyone can help, I’d really appreciate it ! Schematic among hte screenshots I use the DRV8305 gate driver IC with STL160N4F7 MOSFETs I know it’s much stronger compared to what needed, but I want to make sure
Worked a lot on the 3D design, to make it look good, designed a lot. In the previous frame I left too much space for the tires, especially at the front ones. Now, I corrected it to make the hole just fit the tires, also have an other driving mechanism in my mind. I was thinking about whether I need metal gearbox and differential, as it will have to deliver a lot of power and the motor’s high RPM. I don’t have experience, but probably a 3D printed version won’t make it, not durable enough, so I’ll have to buy a metal one and fit into the 3d model.
Since the last log I’ve removed the things from the wheels, as I don’t know how it’ll rotate and don’t want the wheels to crash to the chassis, so I’ll leave more space and holes and print it after I have the main frame and the tires and steering and know how it rotates, how much place it takes Also worked like an hour on the ESC’s PCB layout so when I’ll continue you’ll see a bit of development in the PCB design compared to the previous record. In addition decided to make differential and steering DIY with the help of JLC CNC machining, as I doubt regular 3D printed ones would work and don’t want to buy (assume you also wouldn’t like :P) So started planning the differential of the RC car, see the result on the images!
Worked a lot on the differential: choose new gears that are available on JLCMC as making a DIY with CNC is very expensive, chose material, size and type loaded them, to fit and don’t interfere with each other made animation to check if everything works made custom pipes, spaceholders to keep gears on the right space Also started designing the ESC’s PCB design routed a lot the easier traces still thinking how to manage making high current traces to avoid overheating and interference
Since the last devlog a lot happened: worked a lot on the ESC: I seperated them to 2 PCBs so the IC and the low current part is printed with 1oz copper and the MOSFET part where will be high current with 2 oz copper. After all I still don’t know whether it’ll work at all as I don’t know how it’ll dissipate thermal waste and how noisy the signal’ll be the differential: I got lost because I don’t know how the torque and high RPM will effect it and the motor. In addition if it hits an obstacle or smg how it’ll react to that (gear friction, current spike…) so decided to use timing belt from the motor to the differntial to absorb radical mechanical changes but realised it’s way too expansive and I’m already running out of the 3rd tier’s max fund limit as printing these PCBs is just very expensive especially the MOSFET side with 2 oz copper. So my current idea is to make a prototype with 3D printed differential and everything so it’ll be cheap and good to see which parts will be effected the most during usage. Also probably I’ll have to include plus one gear set because with tires the differential would almost hit the ground so I want to place it higher, but because of that I’ll have to set a pair of gears up to pass the rotation on....
|
1793145178.2128332
|
1793749978.2128332
|
|
37932
|
Newt by @xerneas | Stardance
|
|
0
|
22.43
|
0
|
[]
|
[{"post_id": 39093, "ts": "202 [{"post_id": 39093, "ts": "2026-08-01T19:51:12Z", "hours": 12.11, "text": "my terminal browser reads wikipedia the same as chrome now last time it did the exact opposite. newt could technically read wikipedia, but it showed you EVERYTHING first, the nav bar, the search box, and every single one of wikipedia’s 93 language links (“Afrikaans, Aragonés, العربية…” for a whole screen) before one word of the actual article the hard part of a browser was figuring out which 10% of the slop on the page that’s actually useful. so i built a baby version of reader mode: find the part that’s actually the article and render ONLY that. pages leave breadcrumbs a main tag, an article tag, a role=main and wikipedia hides its article in a div called mw-content-text. newt hunts those down and throws the rest away. It opens straight on “Salamanders are a group of amphibians…” like it should also made it stop looking like a ransom note: text in a centered column with a margin now, headings get an underline sized to the actual heading (not a random 60-char bar), and the bullet lists stopped leaving a blank line between every item! current problem it nails wikipedia and normal articles but’ll flop on weird sites, and wikipedia’s info box still renders as a sad stack of one-word lines bc i don’t have tables yet. grrr ##next: color. been doing everything in grayscale on purpose and it’s finally time"}, {"post_id": 34572, "ts": "2026-07-25T12:34:05Z", "hours": 10.3233, "text": "BIG BROWSER DOESN’T WANT YOU TO KNOW THIS real talk: every terminal web browser you’ve heard of is faking it . browsh, carbonyl, all of them, they boot up a full headless chrome in the background and just screenshot it into your terminal. it’s chrome wearing a terminal costume. so i’m building the real thing. you type a URL, and my code fetches the page, parses the HTML, and lays it out as text in your shell, with a custom engine no chromium. no webkit. no html library doing the hard part. it’s called newt . and it already works?? (kinda) it’s reading the wikipedia article on salamanders right now: headings get a rule under them, paragraphs wrap to my terminal, links and refs work. my biggest bug so far: whitespace (grrr). my first render had a space before every comma and printed refs as “[ 2 ]” instead of “[2]”. turns out a link and the comma after it are separate chunks of text in HTML, and i was gluing them back with spaces that were never there. the fix is genuinely the hard part of a browser: layout has to remember whether real whitespace existed between two chunks. so now every word knows if it has a space in front of it, and it only wraps at real spaces (also why “lizard-like” doesn’t snap in half). So dumb next: teaching it to read CSS so pages look like themselves. no color, clicking links, or scroll yet. This is gonna be amazing"}]...
|
Title: Newt by @xerneas | Stardance
Devlogs:
BIG Title: Newt by @xerneas | Stardance
Devlogs:
BIG BROWSER DOESN’T WANT YOU TO KNOW THIS real talk: every terminal web browser you’ve heard of is faking it . browsh, carbonyl, all of them, they boot up a full headless chrome in the background and just screenshot it into your terminal. it’s chrome wearing a terminal costume. so i’m building the real thing. you type a URL, and my code fetches the page, parses the HTML, and lays it out as text in your shell, with a custom engine no chromium. no webkit. no html library doing the hard part. it’s called newt . and it already works?? (kinda) it’s reading the wikipedia article on salamanders right now: headings get a rule under them, paragraphs wrap to my terminal, links and refs work. my biggest bug so far: whitespace (grrr). my first render had a space before every comma and printed refs as “[ 2 ]” instead of “[2]”. turns out a link and the comma after it are separate chunks of text in HTML, and i was gluing them back with spaces that were never there. the fix is genuinely the hard part of a browser: layout has to remember whether real whitespace existed between two chunks. so now every word knows if it has a space in front of it, and it only wraps at real spaces (also why “lizard-like” doesn’t snap in half). So dumb next: teaching it to read CSS so pages look like themselves. no color, clicking links, or scroll yet. This is gonna be amazing
my terminal browser reads wikipedia the same as chrome now last time it did the exact opposite. newt could technically read wikipedia, but it showed you EVERYTHING first, the nav bar, the search box, and every single one of wikipedia’s 93 language links (“Afrikaans, Aragonés, العربية…” for a whole screen) before one word of the actual article the hard part of a browser was figuring out which 10% of the slop on the page that’s actually useful. so i built a baby version of reader mode: find the part that’s actually the article and render ONLY that. pages leave breadcrumbs a main tag, an article tag, a role=main and wikipedia hides its article in a div called mw-content-text. newt hunts those down and throws the rest away. It opens straight on “Salamanders are a group of amphibians…” like it should also made it stop looking like a ransom note: text in a centered column with a margin now, headings get an underline sized to the actual heading (not a random 60-char bar), and the bullet lists stopped leaving a blank line between every item! current problem it nails wikipedia and normal articles but’ll flop on weird sites, and wikipedia’s info box still renders as a sad stack of one-word lines bc i don’t have tables yet. grrr ##next: color. been doing everything in grayscale on purpose and it’s finally time...
|
1792896592.258539
|
1793760592.258539
|
|
45544
|
AlGOL by @rayzchen | Stardance
|
rayzchen
|
0
|
22.42
|
0
|
[]
|
[{"post_id": 72733, "ts": "202 [{"post_id": 72733, "ts": "2026-09-23T16:43:17Z", "hours": 4.6883, "text": "Cursor for placement Much of this logged time was actually spent hunting for RLE files and testing them… Rewrote a large portion of the loading code to render a ‘cursor’ which indicates where the placed cells will be. The actual placing hasn’t been implemented yet… RLE bank can be found at https://rayzchen.github.io/algol/patterns/"}, {"post_id": 71460, "ts": "2026-09-20T21:21:27Z", "hours": 1.2733, "text": "Loading RLE strings Added a modal to input any RLE string (many can be found at https://conwaylife.com/wiki/ !). Spent a while trying to debug an extra generation simulated when loading, only to realise my RLE loading was too fast and outpaced the simulator… The RLE can also be inputted through Ctrl+Enter. RLE banks to be created soon… Temporary deployments can be found at https://rayzchen.github.io/algol/"}, {"post_id": 50667, "ts": "2026-08-19T22:59:05Z", "hours": 2.2294, "text": "Minimap and QoL After a few busy days at work, I’ve finally made progress on AlGOL! A minimap of the current viewing area appears when the map is dragged or zoomed, it can be toggled and adjusts according to wrapping. Also added zoom hotkeys that zoom precisely on the centre for ease of access. Temporary deployments can be found at https://rayzchen.github.io/algol/"}, {"post_id": 45078, "ts": "2026-08-11T10:55:22Z", "hours": 1.3367, "text": "Wrapping There is now an option to enable/disable grid wrapping, so cells on the edge of the map will die off. Produces interesting results! Also added a button to reset the view to the middle of the map in case the user gets lost in the unwrapped grid. Temporary deployments can be found at https://rayzchen.github.io/algol/"}, {"post_id": 44882, "ts": "2026-08-10T22:28:37Z", "hours": 2.8556, "text": "RLE PATTERN LOADING! There are three default patterns that can be loaded into the map: glider, glider gun, and breeder1 (a glider gun breeder). The map has been expanded to 2048x2048 which may have terrible performance at faster simulation speeds :( Color themes have also been added (currently only blue/green or black/white). Temporary deployments can be found at https://rayzchen.github.io/algol/"}, {"post_id": 44745, "ts": "2026-08-10T18:24:56Z", "hours": 0.5489, "text": "Performance and UI improvements Rendering is now disabled when the simulation is paused, which makes moving around really smooth! The side panel now shows the current zoom level and some keybinds for the buttons. Temporary deployments can be found at https://rayzchen.github.io/algol/"}, {"post_id": 44714, "ts": "2026-08-10T17:33:44Z", "hours": 2.1089, "text": "Better controls The slider now has larger segments for more common speeds (1-5 frames per second, 1-5x speed) for better usability, and now there’s a play/pause button and a step button to view individual generations! https://www.desmos.com/calculator/3ipfxfsmlu contains some of the math for the slider Temporary deployments can be found at https://rayzchen.github.io/algol/"}, {"post_id": 44629, "ts": "2026-08-10T15:03:14Z", "hours": 1.6703, "text": "Click+drag! The map is now larger than just the screen, and click+drag works to explore the whole (repeating) map! Temporary deployments can be found at https://rayzchen.github.io/algol/"}, {"post_id": 44210, "ts": "2026-08-09T20:25:50Z", "hours": 1.9578, "text": "Simulation speeds Changing the “Iterations” slider will change the number of steps the simulation goes through each frame. The code runs slow on mobile for some reason but performance doesn’t drop too much even with 32x iterations on desktop edit: most of the logged time was spent making optimizations in the shaders, will have to investigate mobile later"}, {"post_id": 44089, "ts": "2026-08-09T16:48:54Z", "hours": 0.8133, "text": "Basic GUI Added a few user interaction elements such as toggleable GUI, FPS counter and some frameworks to add more panels"}, {"post_id": 43504, "ts": "2026-08-08T20:21:29Z", "hours": 0.8361, "text": "Colour Cells now fade and change colour when they form and die."}, {"post_id": 43478, "ts": "2026-08-08T19:27:15Z", "hours": 0.7353, "text": "Game of Life rules Implemented the rules of Game of Life: Each cell is either “dead” (black) or “alive” (white) If an alive cell has more than 3 alive neighbours it dies of crowding If an alive cell has less than 2 alive neighbours it dies of loneliness If a dead cell has exactly 3 alive neighbours it becomes alive Each frame is then decided based on the state of the previous. You can see some “glider” patterns emerging from the randomly generated soup!"}, {"post_id": 43263, "ts": "2026-08-08T12:54:09Z", "hours": 1.3628, "text": "Setup First time using WebGL, so I had to look at the mdn documentation quite a few times to understand the syntax. Pink screen."}]...
|
Title: AlGOL by @rayzchen | Stardance
Devlogs:
Se Title: AlGOL by @rayzchen | Stardance
Devlogs:
Setup First time using WebGL, so I had to look at the mdn documentation quite a few times to understand the syntax. Pink screen.
Game of Life rules Implemented the rules of Game of Life: Each cell is either “dead” (black) or “alive” (white) If an alive cell has more than 3 alive neighbours it dies of crowding If an alive cell has less than 2 alive neighbours it dies of loneliness If a dead cell has exactly 3 alive neighbours it becomes alive Each frame is then decided based on the state of the previous. You can see some “glider” patterns emerging from the randomly generated soup!
Colour Cells now fade and change colour when they form and die.
Basic GUI Added a few user interaction elements such as toggleable GUI, FPS counter and some frameworks to add more panels
Simulation speeds Changing the “Iterations” slider will change the number of steps the simulation goes through each frame. The code runs slow on mobile for some reason but performance doesn’t drop too much even with 32x iterations on desktop edit: most of the logged time was spent making optimizations in the shaders, will have to investigate mobile later
Click+drag! The map is now larger than just the screen, and click+drag works to explore the whole (repeating) map! Temporary deployments can be found at https://rayzchen.github.io/algol/
Better controls The slider now has larger segments for more common speeds (1-5 frames per second, 1-5x speed) for better usability, and now there’s a play/pause button and a step button to view individual generations! https://www.desmos.com/calculator/3ipfxfsmlu contains some of the math for the slider Temporary deployments can be found at https://rayzchen.github.io/algol/
Performance and UI improvements Rendering is now disabled when the simulation is paused, which makes moving around really smooth! The side panel now shows the current zoom level and some keybinds for the buttons. Temporary deployments can be found at https://rayzchen.github.io/algol/
RLE PATTERN LOADING! There are three default patterns that can be loaded into the map: glider, glider gun, and breeder1 (a glider gun breeder). The map has been expanded to 2048x2048 which may have terrible performance at faster simulation speeds :( Color themes have also been added (currently only blue/green or black/white). Temporary deployments can be found at https://rayzchen.github.io/algol/
Wrapping There is now an option to enable/disable grid wrapping, so cells on the edge of the map will die off. Produces interesting results! Also added a button to reset the view to the middle of the map in case the user gets lost in the unwrapped grid. Temporary deployments can be found at https://rayzchen.github.io/algol/
Minimap and QoL After a few busy days at work, I’ve finally made progress on AlGOL! A minimap of the current viewing area appears when the map is dragged or zoomed, it can be toggled and adjusts according to wrapping. Also added zoom hotkeys that zoom precisely on the centre for ease of access. Temporary deployments can be found at https://rayzchen.github.io/algol/
Loading RLE strings Added a modal to input any RLE string (many can be found at https://conwaylife.com/wiki/ !). Spent a while trying to debug an extra generation simulated when loading, only to realise my RLE loading was too fast and outpaced the simulator… The RLE can also be inputted through Ctrl+Enter. RLE banks to be created soon… Temporary deployments can be found at https://rayzchen.github.io/algol/
Cursor for placement Much of this logged time was actually spent hunting for RLE files and testing them… Rewrote a large portion of the loading code to render a ‘cursor’ which indicates where the placed cells will be. The actual placing hasn’t been implemented yet… RLE bank can be found at https://rayzchen.github.io/algol/patterns/...
|
1792626720.3162212
|
1793231520.3162212
|
|
40034
|
Gameboy mini by @ari-therationalbirdie | Stardance
|
ari-therationalbirdie
|
0
|
22.41
|
0
|
[]
|
[{"post_id": 39601, "ts": "202 [{"post_id": 39601, "ts": "2026-08-02T18:08:13Z", "hours": 8.3356, "text": "Fixed the code so that the super mario bros game had full 8 levels, a proper HUD for coins, points and time, a debug menu with all the levels. The map layout is not exactly like the original NES version but inspired by it (I don’t want to get sued by Nintendo :\\ )"}, {"post_id": 36549, "ts": "2026-07-28T18:56:06Z", "hours": 8.5503, "text": "Lots of changes in the code and some hardware this time. firstly added 3 square LEDS on top which are always on as a design choice and one blue LED which turns on with the buzzer. Added 5 new games including TETRIS, Super Mario Bros, Donkey kong, PacMan, and the Chrome Dino game. Now at a total of 10 games with storage to spare I believe I can add up to 35-40 games if I want to (please do give me some ideas for new games to add in the comments). Additionally added a start screen with inspiration from the real gameboy start screen along with 10 start screens for the games showing a cartridge (with custom cover art) moving into a reader, to add to that there are custom sounds (a sort of jingle) for the cover screen and each of the individual game start screen. Finally I added an end screen after the game ends with the score, and the Hi score which is saved and updated for each game and stored in the eprom of the microcontroller."}, {"post_id": 35972, "ts": "2026-07-27T19:22:18Z", "hours": 3.78, "text": "Changed the code so that the screen worked and rewired the gameboy to make it look better, also added a battery at the back."}, {"post_id": 35706, "ts": "2026-07-27T09:48:26Z", "hours": 0.4333, "text": "I tested the screen with an example code and it seems to work just fine. I believe it may be a problem with the code."}, {"post_id": 35365, "ts": "2026-07-26T18:24:35Z", "hours": 0.6283, "text": "Rewired and changed the code for the esp32-c3 but the screen doesn’t work :( I’ll test it to be sure it’s working tomorrow, but I feel like the internals are fried or something."}, {"post_id": 35218, "ts": "2026-07-26T14:33:44Z", "hours": 0.6817, "text": "Made a prototype to test the game boy but will switch to a xiao ESP32-C3 instead of an arduino nano every"}]...
|
Title: Gameboy mini by @ari-therationalbirdie | St Title: Gameboy mini by @ari-therationalbirdie | Stardance
Devlogs:
Made a prototype to test the game boy but will switch to a xiao ESP32-C3 instead of an arduino nano every
Rewired and changed the code for the esp32-c3 but the screen doesn’t work :( I’ll test it to be sure it’s working tomorrow, but I feel like the internals are fried or something.
I tested the screen with an example code and it seems to work just fine. I believe it may be a problem with the code.
Changed the code so that the screen worked and rewired the gameboy to make it look better, also added a battery at the back.
Lots of changes in the code and some hardware this time. firstly added 3 square LEDS on top which are always on as a design choice and one blue LED which turns on with the buzzer. Added 5 new games including TETRIS, Super Mario Bros, Donkey kong, PacMan, and the Chrome Dino game. Now at a total of 10 games with storage to spare I believe I can add up to 35-40 games if I want to (please do give me some ideas for new games to add in the comments). Additionally added a start screen with inspiration from the real gameboy start screen along with 10 start screens for the games showing a cartridge (with custom cover art) moving into a reader, to add to that there are custom sounds (a sort of jingle) for the cover screen and each of the individual game start screen. Finally I added an end screen after the game ends with the score, and the Hi score which is saved and updated for each game and stored in the eprom of the microcontroller.
Fixed the code so that the super mario bros game had full 8 levels, a proper HUD for coins, points and time, a debug menu with all the levels. The map layout is not exactly like the original NES version but inspired by it (I don’t want to get sued by Nintendo :\ )...
|
1792777667.8315458
|
1793382467.8315458
|
|
9327
|
Drone ESC and FC by @puffiniac | Stardance
|
puffiniac
|
0
|
22.4
|
0
|
[]
|
[{"post_id": 74254, "ts": "202 [{"post_id": 74254, "ts": "2026-09-27T02:29:54Z", "hours": 3.8747, "text": "Devlog 10 wow we are in the double digits! Here is the most important parts! I am back after 2 months of not working on the project, I realized how much of a waste it would be if I don’t finish. However, there are some big changes. I will build the 4 in 1 ESC and a Flight Controller! I will not be able to finish the entire drone, however the 2 most important things will be finished! Anyway, here’s what happened, about 2 months ago I wanted to make the single ESC I had be a 4 in 1. Issue was that I did not know how the module and multi-channel tool worked… This made it so that I would be forced to had make everything. This was something I just could not bring myself to do. This was even worsened by the fact that school was beginning for me. I decided to rest on it for a while. But my friend brought it up with me and I started to properly learn about PCB’s and I think this is a little bit more possible for me now. I hopefully can finish this by the next devlog and then I can work on the flight controller. Here are some photos!"}, {"post_id": 44311, "ts": "2026-08-09T23:52:24Z", "hours": 4.8669, "text": "Devlog 9 This was about 3 days of work, I did not have a lot of motivation to continue keep doing this however i was able to finally finish the ESC PCB. Please do not bully me about my via’s… I know that they are bad. That is one thing that I would like to work on when doing the flight controller. The copper pour that I did was only for GND. although this is very messy i hope to improve how i layout the flight controller because that is the next step. The size that i used was 40mm by 40mm. Although this is pretty big, I hope that it still is ok for the drone. Now its time to work on the flight controller, something that I am both excited about and scared, because now I have a set size that i can use. 40mm by 40mm… i hope that i can do this!"}, {"post_id": 32099, "ts": "2026-07-21T01:00:35Z", "hours": 1.7172, "text": "Devlog 8 Today I started off by completely organizing my project files because things were getting way too messy to actually work efficiently. Once that was cleaned up, I ran the schematic-to-PCB sync in KiCad to pull all my components into the PCB editor, which immediately helped me catch a few footprint issues. I realized I had accidentally mixed up the footprint for my DRV8329 driver chip with my MCU, so I went back and properly assigned the QFN footprint for the AT32 MCU and imported the custom library folder for the Bourns CRE2512 current shunt resistor. I also sorted out the final connector footprints, adding a 3-pin JST-SH vertical connector for the flight controller interface signals like DSHOT and raw power, plus solid through-hole test pads for the three motor phase outputs. After clearing out all the sync errors, every single component from the MCU down to the connectors has a valid physical footprint attached. The schematic is officially completely finished for real this time, and I am finally ready to jump straight into component placement and routing on the PCB."}, {"post_id": 28032, "ts": "2026-07-14T01:34:20Z", "hours": 1.8, "text": "Devlog #7 WE ARE DONE… with the schematic… :( I finally finished wiring up the entire schematic for this block and cleaned up all the remaining loose ends Used an 3V3 rail and renamed a ton of stuff Added a bunch of resistors and capacitors as a backup power just in case I am officially ready to move past the schematic capture phase and start the physical PCB layout"}, {"post_id": 26834, "ts": "2026-07-11T21:06:30Z", "hours": 2.4833, "text": "Devlog #6 Day 7 was all about adding critical passive components to the gate driver schematic so the hardware can actually boot up and run safely. These include capacitors and Resistors. In the Schematic we have: three 1µF 50V X7R ceramic capacitors (C1, C2, C3) separate decoupling capacitors (1µF and 0.1µF) to clean up electrical noise. a 200kΩ resistor to ground to lock in a 20 V/V gain threshold for tracking motor current for the CSAGAIN"}, {"post_id": 25682, "ts": "2026-07-10T03:22:13Z", "hours": 1.8753, "text": "Devlog #5 Day 6 was all about getting off the drawing board and starting the actual schematic wiring for the ESC. my friend started something about the code idrk… in the meantime, i was able to get one esc almost finished. it was getting late so im going to go to sleep however, the goal next time i lock in is to finish schematics and move on. im thinking about doing a copper pour to make my life a lot easier. i think it will also be better for the amount of power that is getting put into this thing. the screenshots show just ONE of the ESC’s. i feel like this was the only way that this would be manageable. (breaking it up into 4 smaller parts.) needed to do a lot a lot of research on what exactly all the pins did. was able to figure out most of them. if anyone sees any errors pleaseeee tell me i lwk dont want to cook my motherboard…"}, {"post_id": 24460, "ts": "2026-07-08T01:14:21Z", "hours": 1.1667, "text": "Devlog #4 Talked about Outpost and talked about how we would code the drone. We need to finalize how we will do the code. + all of the important protocols that we need to use. After that we can both go on our individual ways to CAD/code the drone. We also talked about how we can implement PID into the software side of things. We might talk to a robotics person we know if he can help us. We were talking about how we can design each of the ESC’s. Turns out this might be easier that we expected… Overall productive session because we have not been working for a while."}, {"post_id": 18127, "ts": "2026-06-29T04:24:26Z", "hours": 2.2961, "text": "Devlog #4 to push the drone to 200mph we laid out the architecture for a custom 4-in-1 Electronic Speed Controller (ESC) designed to handle extreme current. the last photo shows our design that we came up with. it was inspired by the design of the SpeedyBee F405 V5 55A. then we worked on creating our shopping list and things that we need to buy to flush out the drone. while doing this we realized how expensive this would get. Realizing this we asked Alfie however he redirected us to Max which i sent another message to, we shall see how this works out… next is to finish the shopping cart, see if we can/should continue then open up KiCAD!"}, {"post_id": 16697, "ts": "2026-06-27T04:07:46Z", "hours": 1.2667, "text": "Devlog #3 Looking for Products wait i didnt realize that i could type here 😭 so i guess ill explain the past 3 days the best that I can! the first day me and my friend figured out the best that we could on how we would but I completely blanked on the fact that i was supposed to be recording a timelapse of the process. because of that, a massive chunk of the mental heavy lifting is already done behind the scenes. if you look back in day 2 (yesterday) we did all the layout needed. however today we flushed out the power part of the schematic. we decided to buy the GPS part of the drone because after doing some research we found that it is basically impossible to do it ourselves. we now need to figure out what we need to buy. so we created the shopping list using google sheets. we found some items however we need to finish it up. after that ill get be using KiCAD until my computer dies 😭"}, {"post_id": 16072, "ts": "2026-06-26T03:50:04Z", "hours": 1.05, "text": "Devlog #2: Schematic Hell"}]...
|
Title: Drone ESC and FC by @puffiniac | Stardance
Title: Drone ESC and FC by @puffiniac | Stardance
Devlogs:
Devlog #2: Schematic Hell
Devlog #3 Looking for Products wait i didnt realize that i could type here 😭 so i guess ill explain the past 3 days the best that I can! the first day me and my friend figured out the best that we could on how we would but I completely blanked on the fact that i was supposed to be recording a timelapse of the process. because of that, a massive chunk of the mental heavy lifting is already done behind the scenes. if you look back in day 2 (yesterday) we did all the layout needed. however today we flushed out the power part of the schematic. we decided to buy the GPS part of the drone because after doing some research we found that it is basically impossible to do it ourselves. we now need to figure out what we need to buy. so we created the shopping list using google sheets. we found some items however we need to finish it up. after that ill get be using KiCAD until my computer dies 😭
Devlog #4 to push the drone to 200mph we laid out the architecture for a custom 4-in-1 Electronic Speed Controller (ESC) designed to handle extreme current. the last photo shows our design that we came up with. it was inspired by the design of the SpeedyBee F405 V5 55A. then we worked on creating our shopping list and things that we need to buy to flush out the drone. while doing this we realized how expensive this would get. Realizing this we asked Alfie however he redirected us to Max which i sent another message to, we shall see how this works out… next is to finish the shopping cart, see if we can/should continue then open up KiCAD!
Devlog #4 Talked about Outpost and talked about how we would code the drone. We need to finalize how we will do the code. + all of the important protocols that we need to use. After that we can both go on our individual ways to CAD/code the drone. We also talked about how we can implement PID into the software side of things. We might talk to a robotics person we know if he can help us. We were talking about how we can design each of the ESC’s. Turns out this might be easier that we expected… Overall productive session because we have not been working for a while.
Devlog #5 Day 6 was all about getting off the drawing board and starting the actual schematic wiring for the ESC. my friend started something about the code idrk… in the meantime, i was able to get one esc almost finished. it was getting late so im going to go to sleep however, the goal next time i lock in is to finish schematics and move on. im thinking about doing a copper pour to make my life a lot easier. i think it will also be better for the amount of power that is getting put into this thing. the screenshots show just ONE of the ESC’s. i feel like this was the only way that this would be manageable. (breaking it up into 4 smaller parts.) needed to do a lot a lot of research on what exactly all the pins did. was able to figure out most of them. if anyone sees any errors pleaseeee tell me i lwk dont want to cook my motherboard…
Devlog #6 Day 7 was all about adding critical passive components to the gate driver schematic so the hardware can actually boot up and run safely. These include capacitors and Resistors. In the Schematic we have: three 1µF 50V X7R ceramic capacitors (C1, C2, C3) separate decoupling capacitors (1µF and 0.1µF) to clean up electrical noise. a 200kΩ resistor to ground to lock in a 20 V/V gain threshold for tracking motor current for the CSAGAIN
Devlog #7 WE ARE DONE… with the schematic… :( I finally finished wiring up the entire schematic for this block and cleaned up all the remaining loose ends Used an 3V3 rail and renamed a ton of stuff Added a bunch of resistors and capacitors as a backup power just in case I am officially ready to move past the schematic capture phase and start the physical PCB layout
Devlog 8 Today I started off by completely organizing my project files because things were getting way too messy to actually work efficiently. Once that was cleaned up, I ran the schematic-to-PCB sync in KiCad to pull all my components into the PCB editor, which immediately helped me catch a few footprint issues. I realized I had accidentally mixed up the footprint for my DRV8329 driver chip with my MCU, so I went back and properly assigned the QFN footprint for the AT32 MCU and imported the custom library folder for the Bourns CRE2512 current shunt resistor. I also sorted out the final connector footprints, adding a 3-pin JST-SH vertical connector for the flight controller interface signals like DSHOT and raw power, plus solid through-hole test pads for the three motor phase outputs. After clearing out all the sync errors, every single component from the MCU down to the connectors has a valid physical footprint attached. The schematic is officially completely finished for real this time, and I am finally ready to jump straight into component placement and routing on the PCB.
Devlog 9 This was about 3 days of work, I did not have a lot of motivation to continue keep doing this however i was able to finally finish the ESC PCB. Please do not bully me about my via’s… I know that they are bad. That is one thing that I would like to work on when doing the flight controller. The copper pour that I did was only for GND. although this is very messy i hope to improve how i layout the flight controller because that is the next step. The size that i used was 40mm by 40mm. Although this is pretty big, I hope that it still is ok for the drone. Now its time to work on the flight controller, something that I am both excited about and scared, because now I have a set size that i can use. 40mm by 40mm… i hope that i can do this!
Devlog 10 wow we are in the double digits! Here is the most important parts! I am back after 2 months of not working on the project, I realized how much of a waste it would be if I don’t finish. However, there are some big changes. I will build the 4 in 1 ESC and a Flight Controller! I will not be able to finish the entire drone, however the 2 most important things will be finished! Anyway, here’s what happened, about 2 months ago I wanted to make the single ESC I had be a 4 in 1. Issue was that I did not know how the module and multi-channel tool worked… This made it so that I would be forced to had make everything. This was something I just could not bring myself to do. This was even worsened by the fact that school was beginning for me. I decided to rest on it for a while. But my friend brought it up with me and I started to properly learn about PCB’s and I think this is a little bit more possible for me now. I hopefully can finish this by the next devlog and then I can work on the flight controller. Here are some photos!...
|
1792633991.6727064
|
1793238791.6727064
|
|
26700
|
The Eclipse Lamp by @vrunchil7 | Stardance
|
vrunchil7
|
0
|
22.4
|
0
|
[]
|
[{"post_id": 24399, "ts": "202 [{"post_id": 24399, "ts": "2026-07-07T22:39:36Z", "hours": 1.8203, "text": "Eclipse Lamp Devlog #11 - Finishing the Bottom Lamp Case print and assembling the Servo and Pi to it. Also Finishing the B.O.M. Today was pretty fun since I got to work mostly on the hardware. I started my print at 8 AM (the earliest I’ve woken up this summer) and let the 6-hour print run. I came back at 2:13 to see the final product. Since this was the bottom shell, I needed to print it in a dark color so light wouldn’t shine through. I was itching to use my new red-and-black silk PLA, so I loaded it into my extruder and got started. Next, I was ready to hot glue the servo into the walls I designed, but first I needed to make sure the servo shaft was centered. I grabbed a 150 × 150 mm plate and used a compass and ruler to find the midpoint (shoutout to my geometry teacher). I found that the servo shaft was only 2 mm off-center, which I was totally fine with. After that, I tried fitting the Raspberry Pi into its spot but realized I had made a CAD mistake. When I aligned it with the screw holes, the audio jack stuck out because I hadn’t designed an opening for it. Instead of reprinting the whole part, I grabbed my hot glue gun and burned a hole through the side. It worked perfectly, and the Pi fit right in. I originally wanted to screw the Pi in place, but I didn’t have the right size hardware. I needed 3.5 mm screws and only had 3 mm and 4 mm, so I ended up hot gluing it in instead, and it held perfectly. I also hot glued the camera into its enclosure so it became part of the iris mechanism. After finishing the hardware, I started and finished the BOM and posted it to my GitHub. The next step is printing the top case."}, {"post_id": 23297, "ts": "2026-07-06T05:12:10Z", "hours": 2.3781, "text": "Eclipse Lamp Devlog #10 - Finishing the YOLO and AI Person Detection, starting and finishing the Telegram Push Notification system, and assembling the printed Iris-Camera frame shutter system YOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Today was actually the most productive session ever. First, before I started my recording I finished the iris-camera frame attachment that attaches the camera to the back of the iris mechanism. My main motive for today was getting the Telegram notification setup, but I did so much more. First I decided on using Telegram, downloading the app on my phone and computer for notifications. Then I created a bot through BotFather, got my bot token and chat ID, and went into terminal so the Pi could send messages directly to my Telegram. Within minutes I was getting notifications on both my phone and computer simultaneously — that part was actually easy and satisfying to get done fast. After that I said “third time’s the charm for AI” and it really was. I decided to finally fix the YOLO detection once and for all, and if successful, tie it together with Telegram. I copied everything over to Claude — no more ChatGPT ragebait. I was so desperate I started glazing Claude talking about how ChatGPT is terrible. Honestly though it was the right call. What followed was probably the most painful dependency debugging session of this entire project. The Pi threw everything at me — numpy version conflicts between picamera2 and opencv, OpenCV itself crashing with “Illegal instruction” because pip installed an x86 build on an ARM chip, then PyTorch doing the exact same thing because it installed a CUDA build completely incompatible with the Pi. I had to hunt down and manually delete broken opencv and numpy installs from multiple locations across the filesystem, increase the Pi’s swap space from 512MB to 1024MB so torch wouldn’t get killed mid-download, reinstall PyTorch from the official CPU ARM wheel, and finally export the YOLOv8n model from PyTorch format to ONNX format so it could run through ONNX Runtime instead — which is dramatically more efficient on ARM hardware. Every single fix revealed another problem underneath it, but step by step it all got resolved. The final detect.py runs three fully independent threads — one capturing camera frames at full speed, one running YOLO inference every 2 seconds without ever blocking the stream, and one serving the live feed to the browser via Flask. YOLO only detects people (class 0 out of 80) which makes it faster, and Telegram alerts fire with a 60 second cooldown so it doesn’t spam. The moment it all worked and a notification hit my phone while the bounding box showed up in the browser was genuinely insane. By the end of today I have a fully working computer vision + notification pipeline running on the Pi — live browser stream, YOLO person detection, and real-time Telegram alerts to my phone and computer. The core software of the Eclipse Lamp is done, but this wasn’t it for today. Sometime in the middle of my recording my print finished and I had the frame and extension. The sad part was the extension wasn’t properly designed, the camera was supposed to look through it but I forgot the hole, lol, but it’s okay because its a small and fast part to reprint. The camera fit inside its case perfectly(Which never happens to me) and I wanted to start screwing. All I did was take the screws that came with all of my servos (5) and aligned them with the holes in the iris. I was so proud of myself when the camera was facing the right way and I got the screw alignment correct. The annoying part was it took me 20 fricking minutes to get 5 screws in and my chubby little finger just couldn’t, not to mention my screwdriver was trash as well. IN the end it worked perfectly and I am SOOOOOO happy for today"}, {"post_id": 22643, "ts": "2026-07-05T06:06:10Z", "hours": 3.0853, "text": "Eclipse Lamp Devlog #9 - Posting all the CAD models on my Github and spicing up my ReadMe. Today I probably worked more on my Github than I ever had before. I also learnt some cool new helpful stuff since I’m pretty much a noob to Github. Today I found out that if i press the period button on my computer it will take me to VS code on my computer or the dev version. With this I was able to minimize my commits by a lot and it was really cool to use it for the first time. Later I realized I had to add markdown files for my iris to camera frame CAD and my Iris Face Extension CAD models. While I was doing this I updated my Custom Created CAD models file. After typing everything out on that, I wanted to work on my ReadMe because it was looking pretty sad and boring. First to please my OCD I set my badges in color coded order, added a table for core components and a quick start guide. The biggest and coolest thing I learnt today were ASCII Diagrams. With these I had Claude Generate them for my repo and I was able to change them around a bit. I first had one created of my whole repo layout with files, folders, and everything else. I then had some others created for power consumption, signal and data flow, and the Detection/Alert pipeline with push notifications. In the end I added my resources and credits for the thing I used in this project. Some of these things may not be correct though because I am not fully done with this project. I also want to thank my friend rishith for helping me organize my github, and learning from his ReadMe organization to make my own. Go check him out, he’s working on Prometheus right now, a fire drone: ( @rishithc )."}, {"post_id": 21997, "ts": "2026-07-04T07:05:13Z", "hours": 2.8014, "text": "Eclipse Lamp Devlog #8 - Setting up my CAD models to print and working on my Github Today I lowkey realized I was in sore need of updating my Github, and I also decided to check printing time on some CAD Models. FIrst I took the top shell and put it into my slicer. The time nearly gave me heart attack as it was 9 hours and 56 minutes. After that I decided to do literally anything possible to get the time under 6 hours. I first took the quality from 0.2-0.28mm layer height, then I set the infill at 0%, and increased speed from 90 to 115 mm/s, and wall speed from 57.5 to 80 mm/s. The final thing I did was probably the most important, I turned on Spiralized Outer Contour, or as some call it “Vase Mode” (ty youtube shorts for teaching me this 2 years ago for some reason 🙏). The next thing I did after fixing the printing time was work on my Github as I had not been paying much attention to it lately. I added folders for the first time(I’m a noob) and organized my code and hardware files. I even added a security file for the camera footage and added badges/shields to my readme for the things I used. I also created some new files like the Top Lamp Construction.md file from Devlog #7 and Custom Created Cad Models.md to paste the onshape and tinkercad files I used. The next thing to do is add a B.O.M to it and finally print out the CAD Models."}, {"post_id": 21349, "ts": "2026-07-03T07:30:14Z", "hours": 2.1142, "text": "Eclipse Lamp Devlog #7 - Creating the CAD model for the Top Shell of the Lamp and working on the Mechanical Iris Frame attachment Today was pretty chill in terms of work as I was focused on making the CAD model for the top shell of the Lamp housing. This housing would hold the iris mechanism and the Lamp module. I first built the large hollow frame after researching the thickness I needed to print my walls at. I’m not sure how strong it is going to be because I set it at 2 walls or 0.8mm. For the wires going from the raspberry pi to camera, the raspberry pi to the servo, and the raspberry pi to the lamp I cut 6 long slots into the bottom of the shell. I also cut a hole for the servo gear(I will use a servo attached to a gear and the gear will attach to the shell because the shaft of the servo is too small) for the pan rotation. I then cut another hole for the Iris mechanism to fit. I needed to place the hole strategically because since the Raspberry pi was in the bottom shell, and the camera is in the top, I would have to keep the distance between them short so the ribbon cable could twist and turn. This wasn’t my proudest moment but to be honest I felt sleep-deprived and didn’t care. It still worked as long as I kept It close enough so I just turned the iris mechanism upside down so the camera was closer and that worked. I created a lid for the lamp later but i might not even use it and let the light shine through. Then I created a frame for the camera to attach behind the iris so it could stay in one piece. I will screw it in or hot glue it physically as it should fit to the back of it and align with its 5 holes(the iris mechanism). The next thing I might do is print the small pieces in here or the bottom shell from Devlog #6, i wanna wait a bit before printing the big lamp shell, not sure how that’ll hold up."}, {"post_id": 20546, "ts": "2026-07-02T05:02:11Z", "hours": 2.0503, "text": "Eclipse Lamp Devlog #6 - Creating the CAD model for the Bottom Shell of the Lamp with the Raspberry Pi and Pan Servo Today was an AMAZING break from all the software I’ve done so far. I was focused on making the CAD model for the bottom shell of the Lamp housing. This housing would hold the Raspberry Pi and the Pan servo responsible for rotating the top Lamp shell around. This model was pretty straightforward to make as I used the premade model I had from onshape I made in Devlog #5. It was a bit rocky though because when I got my Raspberry Pi case imported from printables, It didn’t fit properly in the compartment and didn’t leave room for the servo to center. I first when with 100mm x 100mm which I made beforehand, then 120mm x 120mm which still didn’t fit the servo in the center (It was very close), and after that I was extremely fed up so I just said “screw it” and went to 150mm x 150mm. This size gave me a considerate amount of space for everything to place in. Then I reverted to Tinkercad as it was faster for me and after placing the raspberry pi case, I placed wall holders for the servo to glue onto physically (The servo was centered this time). Sadly this model got even more complicated because when I went to slice it to get a gist of the time consumed, it started at 8 hours and 46 minutes, then i removed the back wall to set it at 6 hours and 52 minutes. After that I wanted it faster so I kept removing the unnecessary walls from the raspberry pi case and I was able to get the time down to 6 hours and 4 minutes, which I was very happy with."}, {"post_id": 19727, "ts": "2026-07-01T03:43:30Z", "hours": 2.2361, "text": "Eclipse Lamp Devlog #5 - Developing KiCad Schematics and starting CAD design for the Lamp Shell I was lowkey in need for some asmr after ChatGPT kept rage-baiting me in terminal, so today I worked on a KiCad schematic for my components and I started the CAD design for the Bottom shell of the lamp. My main goal in creating the complete KiCad schematic for all of the project’s components was so I would have a clear wiring guide during construction, even though I won’t be manufacturing a PCB from it. I ran into a dumb few challenges finding symbols for parts like the Raspberry Pi Camera and the lamp, so I created a custom camera symbol in the KiCad Symbol Editor and represented the lamp using an LED and resistor. I literally wasted like 20 minutes trying to find a nonexistent symbol so I just had to make my own. The remaining components, including the servos, power connections, and a USB-A connector for the lamp, were much less of a headache to add. After finishing the schematic earlier than expected, I used the remaining time to begin designing the lamp enclosure in CAD. I was also surprised because my computer froze for maybe 20 minutes during the recording. I pretty much had a heart-attack because I thought I lost the recording working on this when my computer restarted. I started with the bottom section, which will house the Raspberry Pi and the first servo for the pan-tilt mechanism. While the design is still incomplete, I’m pretty happy with how features like the fillets and the extrusions turned out. My next step will likely be finishing the bottom shell, unless I decide to focus on completing more of the AI system first."}, {"post_id": 19051, "ts": "2026-06-30T07:12:01Z", "hours": 1.9814, "text": "Eclipse Lamp Devlog #4 - Finally getting the Person Detection AI to run properly on my Raspberry Pi Camera Today went EXTREMELY WELL in terms of progress. Finally, after what started back in Devlog 1 and Devlog 3, everything has come together and actually worked end-to-end in a way that feels complete. What began as a messy setup with camera errors, broken environments, and YOLO not even running correctly slowly turned into a full Raspberry Pi computer vision system with a working Picamera2 pipeline, a Flask web server streaming live footage to a browser, and YOLO detection successfully running on real-time frames. Along the way, there were a lot of setbacks—camera being “busy,” venv issues breaking imports, OpenCV display problems, dependency conflicts, and even moments where the system felt completely stuck—but step by step those were fixed until the full pipeline finally ran without crashing. By the end, I actually got YOLO detection working properly on live camera input, with bounding boxes showing up and the whole system functioning as intended. The main issue left now is performance: the system works, but it’s still slower than I want, with noticeable lag and lower frame rate than ideal. I went back and rebuilt parts of it trying to make it faster, but I didn’t fully finish optimizing it yet. That final tuning—improving FPS, reducing delay, and making the stream smoother—is something I’ll come back to later. Still, today was a complete success because the full system is alive, functional, and running exactly as planned, and now it’s just a matter of refinement rather than building from scratch."}, {"post_id": 18171, "ts": "2026-06-29T06:27:16Z", "hours": 1.6517, "text": "Eclipse Lamp Devlog #3 - Testing Mechanical Iris Code post 3D-printing and trying to finish Person Detection AI software for Raspberry Pi _________________________________________________________________________ Today I made somewhat strong progress in two areas but as always i sold on the software side lol. First, on the mechanical side, I tested the mechanical iris with an SG90 servo by wiring it to an Elegoo Uno to validate the Arduino code, which successfully controlled the opening and closing after uploading an existing sketch. I then translated the code to Python, wired it to a Raspberry Pi, installed the required libraries, and confirmed the iris worked the same way, completing the mechanical system. Luckily this made me failing on my AI seem easier to deal with. Working on this I genuinely insane and started raging on ChatGPT after making me do the same thing 20 times. I continued the person detection AI setup on the Raspberry Pi camera by confirming libcamera and Picamera2 were working, building a Flask live video stream that displayed real-time footage in the browser, and testing YOLO (Ultralytics), but I kept running into environment and dependency issues like missing modules, virtual environment conflicts, and broken installs that stopped full AI detection from running, and ChatGPT was just so bad at helping, so the next step is fixing the Python environment and system dependencies to properly run YOLO on the live camera feed."}, {"post_id": 18001, "ts": "2026-06-28T23:35:09Z", "hours": 0.6689, "text": "Eclipse Lamp Devlog #2 - Preparing to Code and 3D-Print my Mechanical Iris Design Today gave me a little more hope in actually getting this project done well because i was able to get the perfect Mechanical iris model that could shield my camera. It was much better working with actual hardware and arduino that dealing with terminal commands taking over 30 years. It took me some time to find the right model that was small enough but still extremely functional and versatile, but after some time I found the perfect SG90 Mechanical Iris on thingiverse.com by Lore09. After finding the files I set them up in my slicer to arrange them for 3D-printing later on. The time estimates to be about 3 hours so in the meantime i thought of writing code for the servo motor to test the iris. I also have no idea why my copy and paste wasn’t working but it is kind of expected because my computer is as slow as a snail. For this I used Arduino IDE to write the servo code, here were the comments i made to explain this code better: //This code is too check the physical limits of the SG90 servo when it is used in the iris construction //It will use the range of 0-63 degrees(as previously tested before as the physical constraint angles) angle it will //start at 0 degrees and go to 63, then loop back to get the iris adjustable central opening fully closed and fully opened //Note: My copy does not work today for some reason so i will have to type my arduino code manually resourcing it from claude. //I will test this code in another devlog once the iris is done 3d printing and I have the servo attached. The next thing to do is complete stage 2 and assemble the parts after printing and test the servo code for functionality and I hope like some other times, it does not heat-up and automatically break after my first code upload."}, {"post_id": 17448, "ts": "2026-06-28T07:13:05Z", "hours": 1.6125, "text": "Eclipse Lamp Devlog #1 - Installing Person Detection AI on my Camera Today was the start of this project and I already know this is going to be really annoying later on. It didn’t go totally as planned, but I still made some progress with my AI camera setup on the Raspberry Pi. This was my first attempt at trying to add the AI person detection software on my Raspberry Pi V2 noIR Camera connected to my Raspberry Pi model B. I spent most of the time coding in terminal and also python scripts to implement computer vision. I got the camera V2 working and tested live video output using rpicam, and started building the software side with Flask and OpenCV to eventually stream footage in a browser. I tried to take it further by installing YOLO (ultralytics) for human detection, but I ran into a bunch of errors during setup and the module wouldn’t import properly afterward. Also ChatGPT kept making me download and delete files over and over again. Even though I couldn’t finish the full AI detection today, I’m planning to come back later and switch to a simpler detection model so I can get real-time bounding boxes and continue building the Eclipse Lamp system."}]...
|
Title: The Eclipse Lamp by @vrunchil7 | Stardance
Title: The Eclipse Lamp by @vrunchil7 | Stardance
Devlogs:
Eclipse Lamp Devlog #1 - Installing Person Detection AI on my Camera Today was the start of this project and I already know this is going to be really annoying later on. It didn’t go totally as planned, but I still made some progress with my AI camera setup on the Raspberry Pi. This was my first attempt at trying to add the AI person detection software on my Raspberry Pi V2 noIR Camera connected to my Raspberry Pi model B. I spent most of the time coding in terminal and also python scripts to implement computer vision. I got the camera V2 working and tested live video output using rpicam, and started building the software side with Flask and OpenCV to eventually stream footage in a browser. I tried to take it further by installing YOLO (ultralytics) for human detection, but I ran into a bunch of errors during setup and the module wouldn’t import properly afterward. Also ChatGPT kept making me download and delete files over and over again. Even though I couldn’t finish the full AI detection today, I’m planning to come back later and switch to a simpler detection model so I can get real-time bounding boxes and continue building the Eclipse Lamp system.
Eclipse Lamp Devlog #2 - Preparing to Code and 3D-Print my Mechanical Iris Design Today gave me a little more hope in actually getting this project done well because i was able to get the perfect Mechanical iris model that could shield my camera. It was much better working with actual hardware and arduino that dealing with terminal commands taking over 30 years. It took me some time to find the right model that was small enough but still extremely functional and versatile, but after some time I found the perfect SG90 Mechanical Iris on thingiverse.com by Lore09. After finding the files I set them up in my slicer to arrange them for 3D-printing later on. The time estimates to be about 3 hours so in the meantime i thought of writing code for the servo motor to test the iris. I also have no idea why my copy and paste wasn’t working but it is kind of expected because my computer is as slow as a snail. For this I used Arduino IDE to write the servo code, here were the comments i made to explain this code better: //This code is too check the physical limits of the SG90 servo when it is used in the iris construction //It will use the range of 0-63 degrees(as previously tested before as the physical constraint angles) angle it will //start at 0 degrees and go to 63, then loop back to get the iris adjustable central opening fully closed and fully opened //Note: My copy does not work today for some reason so i will have to type my arduino code manually resourcing it from claude. //I will test this code in another devlog once the iris is done 3d printing and I have the servo attached. The next thing to do is complete stage 2 and assemble the parts after printing and test the servo code for functionality and I hope like some other times, it does not heat-up and automatically break after my first code upload.
Eclipse Lamp Devlog #3 - Testing Mechanical Iris Code post 3D-printing and trying to finish Person Detection AI software for Raspberry Pi _________________________________________________________________________ Today I made somewhat strong progress in two areas but as always i sold on the software side lol. First, on the mechanical side, I tested the mechanical iris with an SG90 servo by wiring it to an Elegoo Uno to validate the Arduino code, which successfully controlled the opening and closing after uploading an existing sketch. I then translated the code to Python, wired it to a Raspberry Pi, installed the required libraries, and confirmed the iris worked the same way, completing the mechanical system. Luckily this made me failing on my AI seem easier to deal with. Working on this I genuinely insane and started raging on ChatGPT after making me do the same thing 20 times. I continued the person detection AI setup on the Raspberry Pi camera by confirming libcamera and Picamera2 were working, building a Flask live video stream that displayed real-time footage in the browser, and testing YOLO (Ultralytics), but I kept running into environment and dependency issues like missing modules, virtual environment conflicts, and broken installs that stopped full AI detection from running, and ChatGPT was just so bad at helping, so the next step is fixing the Python environment and system dependencies to properly run YOLO on the live camera feed.
Eclipse Lamp Devlog #4 - Finally getting the Person Detection AI to run properly on my Raspberry Pi Camera Today went EXTREMELY WELL in terms of progress. Finally, after what started back in Devlog 1 and Devlog 3, everything has come together and actually worked end-to-end in a way that feels complete. What began as a messy setup with camera errors, broken environments, and YOLO not even running correctly slowly turned into a full Raspberry Pi computer vision system with a working Picamera2 pipeline, a Flask web server streaming live footage to a browser, and YOLO detection successfully running on real-time frames. Along the way, there were a lot of setbacks—camera being “busy,” venv issues breaking imports, OpenCV display problems, dependency conflicts, and even moments where the system felt completely stuck—but step by step those were fixed until the full pipeline finally ran without crashing. By the end, I actually got YOLO detection working properly on live camera input, with bounding boxes showing up and the whole system functioning as intended. The main issue left now is performance: the system works, but it’s still slower than I want, with noticeable lag and lower frame rate than ideal. I went back and rebuilt parts of it trying to make it faster, but I didn’t fully finish optimizing it yet. That final tuning—improving FPS, reducing delay, and making the stream smoother—is something I’ll come back to later. Still, today was a complete success because the full system is alive, functional, and running exactly as planned, and now it’s just a matter of refinement rather than building from scratch.
Eclipse Lamp Devlog #5 - Developing KiCad Schematics and starting CAD design for the Lamp Shell I was lowkey in need for some asmr after ChatGPT kept rage-baiting me in terminal, so today I worked on a KiCad schematic for my components and I started the CAD design for the Bottom shell of the lamp. My main goal in creating the complete KiCad schematic for all of the project’s components was so I would have a clear wiring guide during construction, even though I won’t be manufacturing a PCB from it. I ran into a dumb few challenges finding symbols for parts like the Raspberry Pi Camera and the lamp, so I created a custom camera symbol in the KiCad Symbol Editor and represented the lamp using an LED and resistor. I literally wasted like 20 minutes trying to find a nonexistent symbol so I just had to make my own. The remaining components, including the servos, power connections, and a USB-A connector for the lamp, were much less of a headache to add. After finishing the schematic earlier than expected, I used the remaining time to begin designing the lamp enclosure in CAD. I was also surprised because my computer froze for maybe 20 minutes during the recording. I pretty much had a heart-attack because I thought I lost the recording working on this when my computer restarted. I started with the bottom section, which will house the Raspberry Pi and the first servo for the pan-tilt mechanism. While the design is still incomplete, I’m pretty happy with how features like the fillets and the extrusions turned out. My next step will likely be finishing the bottom shell, unless I decide to focus on completing more of the AI system first.
Eclipse Lamp Devlog #6 - Creating the CAD model for the Bottom Shell of the Lamp with the Raspberry Pi and Pan Servo Today was an AMAZING break from all the software I’ve done so far. I was focused on making the CAD model for the bottom shell of the Lamp housing. This housing would hold the Raspberry Pi and the Pan servo responsible for rotating the top Lamp shell around. This model was pretty straightforward to make as I used the premade model I had from onshape I made in Devlog #5. It was a bit rocky though because when I got my Raspberry Pi case imported from printables, It didn’t fit properly in the compartment and didn’t leave room for the servo to center. I first when with 100mm x 100mm which I made beforehand, then 120mm x 120mm which still didn’t fit the servo in the center (It was very close), and after that I was extremely fed up so I just said “screw it” and went to 150mm x 150mm. This size gave me a considerate amount of space for everything to place in. Then I reverted to Tinkercad as it was faster for me and after placing the raspberry pi case, I placed wall holders for the servo to glue onto physically (The servo was centered this time). Sadly this model got even more complicated because when I went to slice it to get a gist of the time consumed, it started at 8 hours and 46 minutes, then i removed the back wall to set it at 6 hours and 52 minutes. After that I wanted it faster so I kept removing the unnecessary walls from the raspberry pi case and I was able to get the time down to 6 hours and 4 minutes, which I was very happy with.
Eclipse Lamp Devlog #7 - Creating the CAD model for the Top Shell of the Lamp and working on the Mechanical Iris Frame attachment Today was pretty chill in terms of work as I was focused on making the CAD model for the top shell of the Lamp housing. This housing would hold the iris mechanism and the Lamp module. I first built the large hollow frame after researching the thickness I needed to print my walls at. I’m not sure how strong it is going to be because I set it at 2 walls or 0.8mm. For the wires going from the raspberry pi to camera, the raspberry pi to the servo, and the raspberry pi to the lamp I cut 6 long slots into the bottom of the shell. I also cut a hole for the servo gear(I will use a servo attached to a gear and the gear will attach to the shell because the shaft of the servo is too small) for the pan rotation. I then cut another hole for the Iris mechanism to fit. I needed to place the hole strategically because since the Raspberry pi was in the bottom shell, and the camera is in the top, I would have to keep the distance between them short so the ribbon cable could twist and turn. This wasn’t my proudest moment but to be honest I felt sleep-deprived and didn’t care. It still worked as long as I kept It close enough so I just turned the iris mechanism upside down so the camera was closer and that worked. I created a lid for the lamp later but i might not even use it and let the light shine through. Then I created a frame for the camera to attach behind the iris so it could stay in one piece. I will screw it in or hot glue it physically as it should fit to the back of it and align with its 5 holes(the iris mechanism). The next thing I might do is print the small pieces in here or the bottom shell from Devlog #6, i wanna wait a bit before printing the big lamp shell, not sure how that’ll hold up.
Eclipse Lamp Devlog #8 - Setting up my CAD models to print and working on my Github Today I lowkey realized I was in sore need of updating my Github, and I also decided to check printing time on some CAD Models. FIrst I took the top shell and put it into my slicer. The time nearly gave me heart attack as it was 9 hours and 56 minutes. After that I decided to do literally anything possible to get the time under 6 hours. I first took the quality from 0.2-0.28mm layer height, then I set the infill at 0%, and increased speed from 90 to 115 mm/s, and wall speed from 57.5 to 80 mm/s. The final thing I did was probably the most important, I turned on Spiralized Outer Contour, or as some call it “Vase Mode” (ty youtube shorts for teaching me this 2 years ago for some reason 🙏). The next thing I did after fixing the printing time was work on my Github as I had not been paying much attention to it lately. I added folders for the first time(I’m a noob) and organized my code and hardware files. I even added a security file for the camera footage and added badges/shields to my readme for the things I used. I also created some new files like the Top Lamp Construction.md file from Devlog #7 and Custom Created Cad Models.md to paste the onshape and tinkercad files I used. The next thing to do is add a B.O.M to it and finally print out the CAD Models.
Eclipse Lamp Devlog #9 - Posting all the CAD models on my Github and spicing up my ReadMe. Today I probably worked more on my Github than I ever had before. I also learnt some cool new helpful stuff since I’m pretty much a noob to Github. Today I found out that if i press the period button on my computer it will take me to VS code on my computer or the dev version. With this I was able to minimize my commits by a lot and it was really cool to use it for the first time. Later I realized I had to add markdown files for my iris to camera frame CAD and my Iris Face Extension CAD models. While I was doing this I updated my Custom Created CAD models file. After typing everything out on that, I wanted to work on my ReadMe because it was looking pretty sad and boring. First to please my OCD I set my badges in color coded order, added a table for core components and a quick start guide. The biggest and coolest thing I learnt today were ASCII Diagrams. With these I had Claude Generate them for my repo and I was able to change them around a bit. I first had one created of my whole repo layout with files, folders, and everything else. I then had some others created for power consumption, signal and data flow, and the Detection/Alert pipeline with push notifications. In the end I added my resources and credits for the thing I used in this project. Some of these things may not be correct though because I am not fully done with this project. I also want to thank my friend rishith for helping me organize my github, and learning from his ReadMe organization to make my own. Go check him out, he’s working on Prometheus right now, a fire drone: ( @rishithc ).
Eclipse Lamp Devlog #10 - Finishing the YOLO and AI Person Detection, starting and finishing the Telegram Push Notification system, and assembling the printed Iris-Camera frame shutter system YOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Today was actually the most productive session ever. First, before I started my recording I finished the iris-camera frame attachment that attaches the camera to the back of the iris mechanism. My main motive for today was getting the Telegram notification setup, but I did so much more. First I decided on using Telegram, downloading the app on my phone and computer for notifications. Then I created a bot through BotFather, got my bot token and chat ID, and went into terminal so the Pi could send messages directly to my Telegram. Within minutes I was getting notifications on both my phone and computer simultaneously — that part was actually easy and satisfying to get done fast. After that I said “third time’s the charm for AI” and it really was. I decided to finally fix the YOLO detection once and for all, and if successful, tie it together with Telegram. I copied everything over to Claude — no more ChatGPT ragebait. I was so desperate I started glazing Claude talking about how ChatGPT is terrible. Honestly though it was the right call. What followed was probably the most painful dependency debugging session of this entire project. The Pi threw everything at me — numpy version conflicts between picamera2 and opencv, OpenCV itself crashing with “Illegal instruction” because pip installed an x86 build on an ARM chip, then PyTorch doing the exact same thing because it installed a CUDA build completely incompatible with the Pi. I had to hunt down and manually delete broken opencv and numpy installs from multiple locations across the filesystem, increase the Pi’s swap space from 512MB to 1024MB so torch wouldn’t get killed mid-download, reinstall PyTorch from the official CPU ARM wheel, and finally export the YOLOv8n model from PyTorch format to ONNX format so it could run through ONNX Runtime instead — which is dramatically more efficient on ARM hardware. Every single fix revealed another problem underneath it, but step by step it all got resolved. The final detect.py runs three fully independent threads — one capturing camera frames at full speed, one running YOLO inference every 2 seconds without ever blocking the stream, and one serving the live feed to the browser via Flask. YOLO only detects people (class 0 out of 80) which makes it faster, and Telegram alerts fire with a 60 second cooldown so it doesn’t spam. The moment it all worked and a notification hit my phone while the bounding box showed up in the browser was genuinely insane. By the end of today I have a fully working computer vision + notification pipeline running on the Pi — live browser stream, YOLO person detection, and real-time Telegram alerts to my phone and computer. The core software of the Eclipse Lamp is done, but this wasn’t it for today. Sometime in the middle of my recording my print finished and I had the frame and extension. The sad part was the extension wasn’t properly designed, the camera was supposed to look through it but I forgot the hole, lol, but it’s okay because its a small and fast part to reprint. The camera fit inside its case perfectly(Which never happens to me) and I wanted to start screwing. All I did was take the screws that came with all of my servos (5) and aligned them with the holes in the iris. I was so proud of myself when the camera was facing the right way and I got the screw alignment correct. The annoying part was it took me 20 fricking minutes to get 5 screws in and my chubby little finger just couldn’t, not to mention my screwdriver was trash as well. IN the end it worked perfectly and I am SOOOOOO happy for today
Eclipse Lamp Devlog #11 - Finishing the Bottom Lamp Case print and assembling the Servo and Pi to it. Also Finishing the B.O.M. Today was pretty fun since I got to work mostly on the hardware. I started my print at 8 AM (the earliest I’ve woken up this summer) and let the 6-hour print run. I came back at 2:13 to see the final product. Since this was the bottom shell, I needed to print it in a dark color so light wouldn’t shine through. I was itching to use my new red-and-black silk PLA, so I loaded it into my extruder and got started. Next, I was ready to hot glue the servo into the walls I designed, but first I needed to make sure the servo shaft was centered. I grabbed a 150 × 150 mm plate and used a compass and ruler to find the midpoint (shoutout to my geometry teacher). I found that the servo shaft was only 2 mm off-center, which I was totally fine with. After that, I tried fitting the Raspberry Pi into its spot but realized I had made a CAD mistake. When I aligned it with the screw holes, the audio jack stuck out because I hadn’t designed an opening for it. Instead of reprinting the whole part, I grabbed my hot glue gun and burned a hole through the side. It worked perfectly, and the Pi fit right in. I originally wanted to screw the Pi in place, but I didn’t have the right size hardware. I needed 3.5 mm screws and only had 3 mm and 4 mm, so I ended up hot gluing it in instead, and it held perfectly. I also hot glued the camera into its enclosure so it became part of the iris mechanism. After finishing the hardware, I started and finished the BOM and posted it to my GitHub. The next step is printing the top case....
|
1792713089.836152
|
1793317889.836152
|
|
42571
|
Space Exploration Program by @Ignacio | Stardance
|
Ignacio
|
1
|
22.34
|
87
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T04:04:38Z", "hours": 11.0, "multiplier": 8.02, "payout": 87, "blessing": "neutral", "text": "Hice SPEP, un simulador de exploración espacial en 3D estilo Kerbal Space Program, en Godot con C#. Se arma el cohete por piezas (cabina, tanque, motor) en un taller de ensamblado donde las arrastrás con el mouse y se pegan solas a los puntos de unión correctos. Después lo lanzás a un planeta con física real: gravedad, atmósfera con densidad variable según la altitud, y un mapa orbital que predice la trayectoria. Lo más difícil fue hacer que la física fuera consistente: que el empuje del motor siguiera la orientación real de la nave en vez de siempre “para arriba”, que la colisión de las piezas funcionara bien en un cuerpo armado dinámicamente, y un bug de temblor que apareció al usar un planeta a escala real (tuve que armar un sistema de “origen flotante” para mantener la precisión). Estoy orgulloso de que el VAB funcione con arrastre real (no botones fijos) y que toda la física esté simulada de verdad, no aproximada. Para probarlo: armá la nave en orden Cabina → Tanque → Motor, y en vuelo usá Espacio para el motor, Shift/Ctrl para el throttle, WASDQE para orientar la nave, y T para el SAS.", "repo": "https://github.com/Ignacio-KSp/SPEP", "demo": "https://github.com/Ignacio-KSp/SPEP/releases/tag/v0.2-demo"}]...
|
[{"post_id": 58658, "ts": "202 [{"post_id": 58658, "ts": "2026-08-31T04:40:46Z", "hours": 2.735, "text": "Update 7 Fixed a bug that caused debris to fall into the void; debris now correctly obeys the planet’s gravity, and related bugs have also been fixed. The MK1 module now functions as a cockpit. Improved the scaling system for new parts."}, {"post_id": 57003, "ts": "2026-08-29T02:19:42Z", "hours": 7.1683, "text": "7.- Update: New “Decoupler” part that separates stages Added a per-part selectable staging system Slightly improved the warp system by fixing some bugs Created the initial design for an “MK1 Module” capsule in Blender and integrated it into Godot. (An English language pack will be added)"}, {"post_id": 51307, "ts": "2026-08-20T21:40:48Z", "hours": 1.44, "text": "Update 5 - v0.2 Updated the README.md file (more specific and detailed) Bug fixes Implementation of markers indicating: . Periapsis (blue dot) . Apoapsis (yellow dot) . Spacecraft (orange dot) Implementation of a pause menu"}, {"post_id": 47390, "ts": "2026-08-15T09:36:48Z", "hours": 1.8494, "text": "5.- Actualizaciones: -Hice el rescaladodel planeta con su admosfera -Mejora del ensamble en el VAB -Corrección de errores (SAS, Fisicas, Bugs, y rescalado) -Implementacion de un mapa orbital que muestra la trayectoria en verde"}, {"post_id": 46705, "ts": "2026-08-14T04:38:03Z", "hours": 1.9508, "text": "4.-Lo que implemente al proyecto fue una especie de zona (VAB) en la cual podemos ensamblar cohetes y despues lanzarlos a el escenario principal en el cual podra despegar, por el momento es como un prototipo en el cual se agregaran mas piezas y funciones."}, {"post_id": 43685, "ts": "2026-08-09T02:48:42Z", "hours": 3.2397, "text": "3.-Hice la reescala de el planeta asi como mejorar las matematicas en el codigo para dejarlo listo para las texturas y despúes empezar con el diseño d las partes de cohetes."}, {"post_id": 39942, "ts": "2026-08-03T08:33:32Z", "hours": 2.4458, "text": "Se agrego una admosfera rudimentaria asi como la implemetacion de mejores controles de inclinacion y el SAS, asi como definir mas el cohete prototipo"}, {"post_id": 39315, "ts": "2026-08-02T06:46:37Z", "hours": 1.2997, "text": "Es la base basica de un sistema de lanzamiento de cohetes y exploracion espacial, por el momento es lo que voy"}]...
|
Title: Space Exploration Program by @Ignacio | Sta Title: Space Exploration Program by @Ignacio | Stardance
Devlogs:
Es la base basica de un sistema de lanzamiento de cohetes y exploracion espacial, por el momento es lo que voy
Se agrego una admosfera rudimentaria asi como la implemetacion de mejores controles de inclinacion y el SAS, asi como definir mas el cohete prototipo
3.-Hice la reescala de el planeta asi como mejorar las matematicas en el codigo para dejarlo listo para las texturas y despúes empezar con el diseño d las partes de cohetes.
4.-Lo que implemente al proyecto fue una especie de zona (VAB) en la cual podemos ensamblar cohetes y despues lanzarlos a el escenario principal en el cual podra despegar, por el momento es como un prototipo en el cual se agregaran mas piezas y funciones.
5.- Actualizaciones: -Hice el rescaladodel planeta con su admosfera -Mejora del ensamble en el VAB -Corrección de errores (SAS, Fisicas, Bugs, y rescalado) -Implementacion de un mapa orbital que muestra la trayectoria en verde
Update 5 - v0.2 Updated the README.md file (more specific and detailed) Bug fixes Implementation of markers indicating: . Periapsis (blue dot) . Apoapsis (yellow dot) . Spacecraft (orange dot) Implementation of a pause menu
7.- Update: New “Decoupler” part that separates stages Added a per-part selectable staging system Slightly improved the warp system by fixing some bugs Created the initial design for an “MK1 Module” capsule in Blender and integrated it into Godot. (An English language pack will be added)
Update 7 Fixed a bug that caused debris to fall into the void; debris now correctly obeys the planet’s gravity, and related bugs have also been fixed. The MK1 module now functions as a cockpit. Improved the scaling system for new parts.
Ships:
Hice SPEP, un simulador de exploración espacial en 3D estilo Kerbal Space Program, en Godot con C#. Se arma el cohete por piezas (cabina, tanque, motor) en un taller de ensamblado donde las arrastrás con el mouse y se pegan solas a los puntos de unión correctos. Después lo lanzás a un planeta con física real: gravedad, atmósfera con densidad variable según la altitud, y un mapa orbital que predice la trayectoria. Lo más difícil fue hacer que la física fuera consistente: que el empuje del motor siguiera la orientación real de la nave en vez de siempre “para arriba”, que la colisión de las piezas funcionara bien en un cuerpo armado dinámicamente, y un bug de temblor que apareció al usar un planeta a escala real (tuve que armar un sistema de “origen flotante” para mantener la precisión). Estoy orgulloso de que el VAB funcione con arrastre real (no botones fijos) y que toda la física esté simulada de verdad, no aproximada. Para probarlo: armá la nave en orden Cabina → Tanque → Motor, y en vuelo usá Espacio para el motor, Shift/Ctrl para el throttle, WASDQE para orientar la nave, y T para el SAS....
|
1793263690.8254948
|
1793350090.8254948
|
|
52123
|
Cheap Replaceable Color Tank Printer by @lazerkat Cheap Replaceable Color Tank Printer by @lazerkat | Stardance...
|
lazerkat
|
0
|
22.34
|
0
|
[]
|
[{"post_id": 74269, "ts": "202 [{"post_id": 74269, "ts": "2026-09-27T03:22:53Z", "hours": 0.6194, "text": "Devlog #22 start dance needs a production folder apparently i have it now"}, {"post_id": 68368, "ts": "2026-09-15T00:57:11Z", "hours": 0.7336, "text": "Devlog #21! more printerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr work the paper moves too far away from the grippers before the nozzle can get to it so i will rearrange"}, {"post_id": 67092, "ts": "2026-09-13T04:34:26Z", "hours": 0.9167, "text": "Devlog #20!!!!! i forgot about the motors so i wired them in in tinkercad. I will make v2 of the pcb at some point grrr"}, {"post_id": 65837, "ts": "2026-09-11T07:38:15Z", "hours": 1.2836, "text": "Devlog #19!! (and 20 hour milestone) i fixed the size of the lip at the top of the nozzle (it was too big)"}, {"post_id": 65774, "ts": "2026-09-11T04:21:26Z", "hours": 0.8336, "text": "Devlog #18!! started on the actual case and parts for the main printer (CHW-IP8-27G-EXP) i cant wait to get funding for whatever this is going to be lol"}, {"post_id": 65193, "ts": "2026-09-10T04:51:24Z", "hours": 1.1792, "text": "Devlog #17! I started on a little holder for the pcb not very necessary"}, {"post_id": 63375, "ts": "2026-09-07T05:03:57Z", "hours": 0.7811, "text": "Devlog #16!!! After wrestling with kicanvas and kicad, I got the files!! Turns out the converter I was using is only for kicad 6 so i guess i use kicad 6 now.. and kicanvas did not like working until i had done like 3 commits for some reason"}, {"post_id": 63292, "ts": "2026-09-07T01:22:27Z", "hours": 0.9, "text": "Devlog #15! trying to fix the kicad version of the pcb - the footprints didnt assign properly"}, {"post_id": 62637, "ts": "2026-09-06T03:13:08Z", "hours": 0.7214, "text": "Devlog #14!! Resubmitted because I didn’t put the .stp files in (I only had .stl’s and idk) and also I fully converted the pcb from easyeda to kicad which was interesting. I think it’s good to go now.. i hope."}, {"post_id": 57852, "ts": "2026-08-30T05:02:16Z", "hours": 1.0669, "text": "Devlog #13!!!!!!!!!!!!!! I AM READY TO SUBMIT FOR FUNDING ASDFGHJKL IM SO HAPPY I FINISHED THE ROUTING i hope it dosent explode"}, {"post_id": 56995, "ts": "2026-08-29T01:57:57Z", "hours": 0.8333, "text": "Devlog #12 routing is so annoying also i fixed up some naming stuff that i didn’t like"}, {"post_id": 56460, "ts": "2026-08-28T07:16:42Z", "hours": 0.9833, "text": "Devlog #12!!!!!!!!!!! I AM PCBING idk i just added some of the stuff to make it cooler also i got a power supply"}, {"post_id": 55376, "ts": "2026-08-27T05:29:36Z", "hours": 0.6669, "text": "Devlog #11! I am almost done with the pcb! I now need to add pulldown resistors and capacitors and fuses and things to make it very reliable! Also I untangled my wiring with netflags which are super cool!"}, {"post_id": 55322, "ts": "2026-08-27T02:07:49Z", "hours": 1.1336, "text": "Devlog #10! I worked on the pcb in easyeda which i will put in the repo soon! and i finished printing the printhead! it works very well on the first try which is new!"}, {"post_id": 54926, "ts": "2026-08-26T04:59:12Z", "hours": 0.7167, "text": "Devlog #9!! Today I printed the parts (i’m still waiting for them btw) and made the readme good to get funding! I really hope the stardance aura farmers (the shipwrights) like my project 🚣♂️ also i used @not-willem ‘s layout for broamp because i couldn’t find the doc for layout"}, {"post_id": 54245, "ts": "2026-08-25T04:04:20Z", "hours": 0.9336, "text": "Devlog #8!!! I modelled the printhead which holds eight nozzles and prettied up the readme!"}, {"post_id": 54060, "ts": "2026-08-24T20:33:07Z", "hours": 1.3333, "text": "Devlog #7! I worked on the manifold! it was very hard to print because my slicer kept missing the middle of the model which would have leaked"}, {"post_id": 52812, "ts": "2026-08-23T05:04:19Z", "hours": 1.4, "text": "Devlog #6! I MADE IT SCREW!!!!! I now need to make an inlet ring so the membrane can be mounted properly.. yes i know the camera angle is weird too"}, {"post_id": 52746, "ts": "2026-08-23T02:32:45Z", "hours": 1.1833, "text": "Devlog #5! I designed the main nozzle setup and 3d printed it on my bambu labs a1 mini! i will reprint bc it is too small…. and redesign"}, {"post_id": 52147, "ts": "2026-08-22T07:35:47Z", "hours": 0.8167, "text": "Devlog #4!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I made the datasheet for my custom piezo based printer head (PX8-20H-01)!! and yes i made that name based on other printing companies systems"}, {"post_id": 52088, "ts": "2026-08-22T05:01:17Z", "hours": 1.4333, "text": "Devlog #3! I made an 8 piezo controller using arduino uno and some funky chip stuff it is 100v wowie"}, {"post_id": 51455, "ts": "2026-08-21T05:36:22Z", "hours": 1.5667, "text": "Devlog #2! I did research using deepseek lol I am going to make my own print head oof For now though, i will buy some piezos and wire it up to an arduino but step it up to 100v so it can flex enough to push water or smth through a small hole in a bottle cap. I will 3d print a case and use more piezos later"}, {"post_id": 51425, "ts": "2026-08-21T03:50:25Z", "hours": 0.305, "text": "Devlog #1! I wrote down some ideas for the printer! it is very yes"}]...
|
Title: Cheap Replaceable Color Tank Printer by @la Title: Cheap Replaceable Color Tank Printer by @lazerkat | Stardance
Devlogs:
Devlog #1! I wrote down some ideas for the printer! it is very yes
Devlog #2! I did research using deepseek lol I am going to make my own print head oof For now though, i will buy some piezos and wire it up to an arduino but step it up to 100v so it can flex enough to push water or smth through a small hole in a bottle cap. I will 3d print a case and use more piezos later
Devlog #3! I made an 8 piezo controller using arduino uno and some funky chip stuff it is 100v wowie
Devlog #4!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I made the datasheet for my custom piezo based printer head (PX8-20H-01)!! and yes i made that name based on other printing companies systems
Devlog #5! I designed the main nozzle setup and 3d printed it on my bambu labs a1 mini! i will reprint bc it is too small…. and redesign
Devlog #6! I MADE IT SCREW!!!!! I now need to make an inlet ring so the membrane can be mounted properly.. yes i know the camera angle is weird too
Devlog #7! I worked on the manifold! it was very hard to print because my slicer kept missing the middle of the model which would have leaked
Devlog #8!!! I modelled the printhead which holds eight nozzles and prettied up the readme!
Devlog #9!! Today I printed the parts (i’m still waiting for them btw) and made the readme good to get funding! I really hope the stardance aura farmers (the shipwrights) like my project 🚣♂️ also i used @not-willem ‘s layout for broamp because i couldn’t find the doc for layout
Devlog #10! I worked on the pcb in easyeda which i will put in the repo soon! and i finished printing the printhead! it works very well on the first try which is new!
Devlog #11! I am almost done with the pcb! I now need to add pulldown resistors and capacitors and fuses and things to make it very reliable! Also I untangled my wiring with netflags which are super cool!
Devlog #12!!!!!!!!!!! I AM PCBING idk i just added some of the stuff to make it cooler also i got a power supply
Devlog #12 routing is so annoying also i fixed up some naming stuff that i didn’t like
Devlog #13!!!!!!!!!!!!!! I AM READY TO SUBMIT FOR FUNDING ASDFGHJKL IM SO HAPPY I FINISHED THE ROUTING i hope it dosent explode
Devlog #14!! Resubmitted because I didn’t put the .stp files in (I only had .stl’s and idk) and also I fully converted the pcb from easyeda to kicad which was interesting. I think it’s good to go now.. i hope.
Devlog #15! trying to fix the kicad version of the pcb - the footprints didnt assign properly
Devlog #16!!! After wrestling with kicanvas and kicad, I got the files!! Turns out the converter I was using is only for kicad 6 so i guess i use kicad 6 now.. and kicanvas did not like working until i had done like 3 commits for some reason
Devlog #17! I started on a little holder for the pcb not very necessary
Devlog #18!! started on the actual case and parts for the main printer (CHW-IP8-27G-EXP) i cant wait to get funding for whatever this is going to be lol
Devlog #19!! (and 20 hour milestone) i fixed the size of the lip at the top of the nozzle (it was too big)
Devlog #20!!!!! i forgot about the motors so i wired them in in tinkercad. I will make v2 of the pcb at some point grrr
Devlog #21! more printerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr work the paper moves too far away from the grippers before the nozzle can get to it so i will rearrange
Devlog #22 start dance needs a production folder apparently i have it now...
|
1792698454.886961
|
1793303254.886961
|
|
14780
|
my first project by @loopy | Stardance
|
loopy
|
0
|
22.32
|
0
|
[]
|
[{"post_id": 54244, "ts": "202 [{"post_id": 54244, "ts": "2026-08-25T04:02:35Z", "hours": 13.2711, "text": "Finished building my case! It took sooo much time, but I am finally glad I was able to put it all together. I really like the case that I made and I hope all the other steps come together nicely. I am a little bummed out, because I did not know I lose hours if I go over 10 so I lost 3 hours lol."}, {"post_id": 51433, "ts": "2026-08-21T04:18:07Z", "hours": 4.4681, "text": "Redid my entire hackpad design pcb and schematic :( I was going to change the design of my hackpad once again but KiCad crashed so I decided to scrap the old idea and just create a whole new one."}, {"post_id": 50779, "ts": "2026-08-20T04:48:07Z", "hours": 3.4844, "text": "Just finished building the pcb. Took me a while, to get used to the software and even had to redo it once because I placed the usb in the wrong orientation :(."}, {"post_id": 50074, "ts": "2026-08-19T04:02:47Z", "hours": 1.0944, "text": "First time working on KiCad. Tried to create a matrix wiring contraption for my numpad. I saw online that you can use identical labels to remove all the fussy wiring. Could anyone tell me how to check if the labels worked? I am a bit worried that it did not connect."}]...
|
Title: my first project by @loopy | Stardance
Dev Title: my first project by @loopy | Stardance
Devlogs:
First time working on KiCad. Tried to create a matrix wiring contraption for my numpad. I saw online that you can use identical labels to remove all the fussy wiring. Could anyone tell me how to check if the labels worked? I am a bit worried that it did not connect.
Just finished building the pcb. Took me a while, to get used to the software and even had to redo it once because I placed the usb in the wrong orientation :(.
Redid my entire hackpad design pcb and schematic :( I was going to change the design of my hackpad once again but KiCad crashed so I decided to scrap the old idea and just create a whole new one.
Finished building my case! It took sooo much time, but I am finally glad I was able to put it all together. I really like the case that I made and I hope all the other steps come together nicely. I am a little bummed out, because I did not know I lose hours if I go over 10 so I lost 3 hours lol....
|
1793224187.609569
|
1793828987.609569
|
|
40241
|
VeloMetrics by @bonsy | Stardance
|
bonsy
|
0
|
22.31
|
0
|
[]
|
[{"post_id": 51965, "ts": "202 [{"post_id": 51965, "ts": "2026-08-21T23:13:20Z", "hours": 4.3972, "text": "Got real gps data connected to the speed, created equations for max speed and avg speed, linked distance and elapsed session time, and wired up buttons to go back and forth and to start session"}, {"post_id": 46036, "ts": "2026-08-12T23:17:03Z", "hours": 6.5811, "text": "Got my first prototype of the enclosement top I was working on the enclosement for the past two days. There were a couple things I had to keep in mind: the clearance for the screws and other parts, and how thick the walls can be until its a stress risk. I made sure all my walls were atleast 3mm thick on all sides so it will be fine when i actually use it. Also might have to get a little bit of foam to put on the sides so when the bike vibrates it puts less wear on the parts. Other than that pretty successful print!"}, {"post_id": 40240, "ts": "2026-08-03T17:16:17Z", "hours": 0.7386, "text": "July 15: Wired Screen up to ESP32, got the UI flashing, Added platformioGoing into this project, I had quite a bit of Arduino experience. But I wondered, is it possible to start microcontroller projects without using the Arduino IDE? After doing some research, I figured out that you could use the platformio extension to run microcontrollers directly on VSCode. It was quite a difficult process to get platformio working however, as you had to define a lot of things that the Arduino IDE would otherwise do for you immediately. It look a lot of tinkering to get the code to work out the way it did, and to finally display on the screen. Before I figured it out it was flashing the same error code and trying to reset itself multiple times because it couldn’t find the right upload connection. But after specifying the connection I wanted it to use in the platformio.ini file it finally displayed. This was the longest part of setting it up, the wiring was relatively easy. July 17: Changed some fonts up to make the UI look more appealingNow that I got the UI to work on the screen, I decided to experiment with some fonts and colors to make the UI look less monotone. I decided to go with a futuristic kind of font that is still legible. Because I am using LVGL to display information on the LCD I have to convert the new fonts to a way LVGL can read. This was a rather tricky process because I have to individually download every font size and font and convert it to LVGL. There were also a lot of errors while using this new font, because I had to declare it in the ui.h folder as a c file, but vscode was reading it as a c++ file. Had to search up the problem and then fix it. Additionally, with my simulator, it was having all kind of errors because VS Studio couldnt access the stuff i was storing in the ui.h folder so I had to completely reinvent how I used the simulator. Instead of making static pointers that are only available in the ui.cpp folder i removed it and then extern it in the ui.h folder so it was universal and all folders could access it. This also made it easier to use the LVGL simulator because I didn’t have to copy paste the code every time I changed it to the LVGL cpp file, I could just change the functions themsleves and have the simulator still work. July 23: Made the UI prettierI thought the UI was pretty basic and there wasn’t that much going on, it was just numbers. I decided to rewrite the UI to make it look cleaner and look like a actual bike computer UI. It looks pretty cool and slick now. Additionally I made the header section independent of each screen by putting it on the base screen, so now its not affected by the other screens PLUS i dont need to add a additional pointer to the header objects everytime i make a new screen. Also I realized that the font folder didn’t include symbols like degrees and im too lazy to add a new one to include the degree symbol so I just removed it. Maybe in the future ill put it back."}, {"post_id": 35398, "ts": "2026-07-26T19:28:09Z", "hours": 10.5908, "text": "July 1: Brainstormed UI layout I Sketched out initial concepts for the bike computer interface and what data to display and how to split it across screens. July 5: Figured out how to get LVGL components on the LVGL simulator Got the LVGL simulator running on desktop so I can prototype UI components without having to flash the ESP32 every time I change something. This is going to save a lot of iteration time later on. July 10: Made a lot of different components & objects, made the simulator adaptable by flickering through screens and increasing values Made a variety of components and objects for the interface. To make the simulator more useful for testing, I set it up to cycle through screens automatically and animate values so I can see how the UI behaves with changing data rather than static placeholders. It was offcenter so I will fix that later. Overall the UI is working as intended."}]...
|
Title: VeloMetrics by @bonsy | Stardance
Devlogs: Title: VeloMetrics by @bonsy | Stardance
Devlogs:
July 1: Brainstormed UI layout I Sketched out initial concepts for the bike computer interface and what data to display and how to split it across screens. July 5: Figured out how to get LVGL components on the LVGL simulator Got the LVGL simulator running on desktop so I can prototype UI components without having to flash the ESP32 every time I change something. This is going to save a lot of iteration time later on. July 10: Made a lot of different components & objects, made the simulator adaptable by flickering through screens and increasing values Made a variety of components and objects for the interface. To make the simulator more useful for testing, I set it up to cycle through screens automatically and animate values so I can see how the UI behaves with changing data rather than static placeholders. It was offcenter so I will fix that later. Overall the UI is working as intended.
July 15: Wired Screen up to ESP32, got the UI flashing, Added platformioGoing into this project, I had quite a bit of Arduino experience. But I wondered, is it possible to start microcontroller projects without using the Arduino IDE? After doing some research, I figured out that you could use the platformio extension to run microcontrollers directly on VSCode. It was quite a difficult process to get platformio working however, as you had to define a lot of things that the Arduino IDE would otherwise do for you immediately. It look a lot of tinkering to get the code to work out the way it did, and to finally display on the screen. Before I figured it out it was flashing the same error code and trying to reset itself multiple times because it couldn’t find the right upload connection. But after specifying the connection I wanted it to use in the platformio.ini file it finally displayed. This was the longest part of setting it up, the wiring was relatively easy. July 17: Changed some fonts up to make the UI look more appealingNow that I got the UI to work on the screen, I decided to experiment with some fonts and colors to make the UI look less monotone. I decided to go with a futuristic kind of font that is still legible. Because I am using LVGL to display information on the LCD I have to convert the new fonts to a way LVGL can read. This was a rather tricky process because I have to individually download every font size and font and convert it to LVGL. There were also a lot of errors while using this new font, because I had to declare it in the ui.h folder as a c file, but vscode was reading it as a c++ file. Had to search up the problem and then fix it. Additionally, with my simulator, it was having all kind of errors because VS Studio couldnt access the stuff i was storing in the ui.h folder so I had to completely reinvent how I used the simulator. Instead of making static pointers that are only available in the ui.cpp folder i removed it and then extern it in the ui.h folder so it was universal and all folders could access it. This also made it easier to use the LVGL simulator because I didn’t have to copy paste the code every time I changed it to the LVGL cpp file, I could just change the functions themsleves and have the simulator still work. July 23: Made the UI prettierI thought the UI was pretty basic and there wasn’t that much going on, it was just numbers. I decided to rewrite the UI to make it look cleaner and look like a actual bike computer UI. It looks pretty cool and slick now. Additionally I made the header section independent of each screen by putting it on the base screen, so now its not affected by the other screens PLUS i dont need to add a additional pointer to the header objects everytime i make a new screen. Also I realized that the font folder didn’t include symbols like degrees and im too lazy to add a new one to include the degree symbol so I just removed it. Maybe in the future ill put it back.
Got my first prototype of the enclosement top I was working on the enclosement for the past two days. There were a couple things I had to keep in mind: the clearance for the screws and other parts, and how thick the walls can be until its a stress risk. I made sure all my walls were atleast 3mm thick on all sides so it will be fine when i actually use it. Also might have to get a little bit of foam to put on the sides so when the bike vibrates it puts less wear on the parts. Other than that pretty successful print!
Got real gps data connected to the speed, created equations for max speed and avg speed, linked distance and elapsed session time, and wired up buttons to go back and forth and to start session...
|
1792709480.5631874
|
1793314280.5631874
|
|
126
|
Exterstellar by @Sabio | Stardance
|
Sabio
|
0
|
22.3
|
0
|
[]
|
[{"post_id": 7719, "ts": "2026 [{"post_id": 7719, "ts": "2026-06-12T21:38:27Z", "hours": 4.2303, "text": "Exterstellar indev-8 The Onboarding update (so peak) New Feature(s) Onboarding Bug Fix(es) Fix the Firefox configuration import button unfocusing the popup and causing it to not register by creating a separate page dedicated to importing configuration. Changelog fix(importer): fix firefox config import by making a new page for importing configs ( 7ee1b2a ) feat: onboarding ( 3faa741 )"}, {"post_id": 5650, "ts": "2026-06-09T15:03:49Z", "hours": 3.9678, "text": "Exterstellar indev-7 The TypeScript Migration update. Refactors All plugins and core JavaScript files are now using TypeScript. New Features Import / Export configuration system. Changelog feat: import/export system! ( be9ea28 ) refactor: Change everything into typescript + update readme + update workflows ( f5c5980 )"}, {"post_id": 3520, "ts": "2026-06-06T14:29:58Z", "hours": 0.7978, "text": "Exterstellar indev-6 Smallest update (yet)! New Features Add Plugin Manager Settings, where you can customize font size and the width of the manager! New Bug Fix(es) Fix comment text in the textarea not rendering due to conflicts with the native comment markdown system. Removed Plugin(s) Comment Markdown (now natively available!) Changelog fix(comments): remove comment md as its natively implemented ( f9389b2 ) feat: add plugin manager settings ( e8c4b99 )"}, {"post_id": 2977, "ts": "2026-06-05T22:01:42Z", "hours": 5.7128, "text": "Exterstellar indev-5 ΩΜΞGΛ SiGMΛ+++++++++++ DΞLUXΞ update for Exterstellar! New Plugin(s) Shop Goal Enhanced Completely revamps the shop goal system! (This took so long…) New Dev Stuff Plugin Exports API something something something plugins can now export functions for other plugins to use (PΞΛK) Changelog feat: add plugin exports API + comment markdown now uses devlog formatter and md preview ( 78e369c ) added Sidebar Reorder ( 0d6c2d2 ) added Sidebar Hotkeys ( ee3926e ) added Devlog Formatter ( 85b8d4d ) added Comment Markdown ( acef3ac ) added Oneko ( aa59ccd ) Shop Goals Enhanced plugin! ( e493f54 ) Merge branch ‘main’ of https://github.com/Team-Exterstellar/Exterstellar ( 82688a4 )"}, {"post_id": 1610, "ts": "2026-06-03T19:02:49Z", "hours": 1.2808, "text": "Exterstellar indev-4 Introducing that one update where its larger than usual! (only slightly larger :3) New Plugin(s) Comment Markdown Adds markdown to comments (exclusive to Exterstellar users) . You can also select a config that allows you to help advertise and support Exterstellar! Updated Plugin(s) Markdown Preview Added Line Break. Devlog Formatter Bar Added Line Break. Changelog devlog formatter: “remove image formatting”, devlog changelog: “default to using commit-rang selector” ( 156c09e ) initialize NPM + comment markdown plugin ( b3b14cb ) comment markdown: “advertise config” ( 79f5923 ) Add line break to markdown preview & devlog formatter bar ( 6fb254f ) md preview: “fix break line offsetting textarea” ( 47e0c67 )"}, {"post_id": 1076, "ts": "2026-06-02T21:50:11Z", "hours": 2.5008, "text": "Exterstellar indev-3 Introducing your 600+ LoC plugin (help my sanity) for this week! New Plugin(s) Add changelog plugin (Adds your GitHub OR GitLab commits to your devlog!) Changelog feat: add oneko plugin ( a5f7542 ) Merge pull request #1 from GizzyUwU/main ( aa0bb71 ) fix(oneko): work over page change ( c6e7452 ) Merge pull request #2 from GizzyUwU/main ( fd83d40 ) Devlog changelog plugin! ( 02bcf5c )"}, {"post_id": 445, "ts": "2026-06-01T21:22:07Z", "hours": 1.1653, "text": "Exterstellar indev-2h introducing your 1 hour bug fix for the day (tm) p.s. next time i discover a bug i’m going to eat myself smh Bug Fix(es) The Live Markdown Preview plugin now supports the devlog composer menu overflowing! (a.k.a. scrolling [this took way too long]) yes that’s it because the Stardance website hates me smh"}, {"post_id": 329, "ts": "2026-06-01T17:03:31Z", "hours": 1.2644, "text": "Exterstellar indev-2 Introducing a new feature and significant improvement to the plugin system! New Feature(s) Live Markdown Rendering Plugin (not a new panel, or tab, just straight up displayed!) Plugin Live Changes (no refresh needed!)"}, {"post_id": 89, "ts": "2026-05-31T17:44:35Z", "hours": 1.3811, "text": "Exterstellar indev-1 Introducing your underrated browser extension for Stardance : Exterstellar by Sabio (that’s me!) & @Flux3tor (pretty much a major contributor-) . Features Toggleable Plugins (which are basically features the extension adds!) A lot (and I mean a LOT… ) of configurations available for all plugins (plugin configs!) Can be used to support MANY mini-extensions with our easy-to-use plugin development tool and documentation¹. Plugins Better Sidebar Custom Font Custom Scrollbar Devlog Formatter Sidebar Hotkeys Sidebar Reordering Themes ( @Gizzy certified btw :3) +more already in the works! (please comment plugin ideas if you have suggestions!) Join #exterstellar now! ¹ The documentation is in the works."}]...
|
Title: Exterstellar by @Sabio | Stardance
Devlogs Title: Exterstellar by @Sabio | Stardance
Devlogs:
Exterstellar indev-1 Introducing your underrated browser extension for Stardance : Exterstellar by Sabio (that’s me!) & @Flux3tor (pretty much a major contributor-) . Features Toggleable Plugins (which are basically features the extension adds!) A lot (and I mean a LOT… ) of configurations available for all plugins (plugin configs!) Can be used to support MANY mini-extensions with our easy-to-use plugin development tool and documentation¹. Plugins Better Sidebar Custom Font Custom Scrollbar Devlog Formatter Sidebar Hotkeys Sidebar Reordering Themes ( @Gizzy certified btw :3) +more already in the works! (please comment plugin ideas if you have suggestions!) Join #exterstellar now! ¹ The documentation is in the works.
Exterstellar indev-2 Introducing a new feature and significant improvement to the plugin system! New Feature(s) Live Markdown Rendering Plugin (not a new panel, or tab, just straight up displayed!) Plugin Live Changes (no refresh needed!)
Exterstellar indev-2h introducing your 1 hour bug fix for the day (tm) p.s. next time i discover a bug i’m going to eat myself smh Bug Fix(es) The Live Markdown Preview plugin now supports the devlog composer menu overflowing! (a.k.a. scrolling [this took way too long]) yes that’s it because the Stardance website hates me smh
Exterstellar indev-3 Introducing your 600+ LoC plugin (help my sanity) for this week! New Plugin(s) Add changelog plugin (Adds your GitHub OR GitLab commits to your devlog!) Changelog feat: add oneko plugin ( a5f7542 ) Merge pull request #1 from GizzyUwU/main ( aa0bb71 ) fix(oneko): work over page change ( c6e7452 ) Merge pull request #2 from GizzyUwU/main ( fd83d40 ) Devlog changelog plugin! ( 02bcf5c )
Exterstellar indev-4 Introducing that one update where its larger than usual! (only slightly larger :3) New Plugin(s) Comment Markdown Adds markdown to comments (exclusive to Exterstellar users) . You can also select a config that allows you to help advertise and support Exterstellar! Updated Plugin(s) Markdown Preview Added Line Break. Devlog Formatter Bar Added Line Break. Changelog devlog formatter: “remove image formatting”, devlog changelog: “default to using commit-rang selector” ( 156c09e ) initialize NPM + comment markdown plugin ( b3b14cb ) comment markdown: “advertise config” ( 79f5923 ) Add line break to markdown preview & devlog formatter bar ( 6fb254f ) md preview: “fix break line offsetting textarea” ( 47e0c67 )
Exterstellar indev-5 ΩΜΞGΛ SiGMΛ+++++++++++ DΞLUXΞ update for Exterstellar! New Plugin(s) Shop Goal Enhanced Completely revamps the shop goal system! (This took so long…) New Dev Stuff Plugin Exports API something something something plugins can now export functions for other plugins to use (PΞΛK) Changelog feat: add plugin exports API + comment markdown now uses devlog formatter and md preview ( 78e369c ) added Sidebar Reorder ( 0d6c2d2 ) added Sidebar Hotkeys ( ee3926e ) added Devlog Formatter ( 85b8d4d ) added Comment Markdown ( acef3ac ) added Oneko ( aa59ccd ) Shop Goals Enhanced plugin! ( e493f54 ) Merge branch ‘main’ of https://github.com/Team-Exterstellar/Exterstellar ( 82688a4 )
Exterstellar indev-6 Smallest update (yet)! New Features Add Plugin Manager Settings, where you can customize font size and the width of the manager! New Bug Fix(es) Fix comment text in the textarea not rendering due to conflicts with the native comment markdown system. Removed Plugin(s) Comment Markdown (now natively available!) Changelog fix(comments): remove comment md as its natively implemented ( f9389b2 ) feat: add plugin manager settings ( e8c4b99 )
Exterstellar indev-7 The TypeScript Migration update. Refactors All plugins and core JavaScript files are now using TypeScript. New Features Import / Export configuration system. Changelog feat: import/export system! ( be9ea28 ) refactor: Change everything into typescript + update readme + update workflows ( f5c5980 )
Exterstellar indev-8 The Onboarding update (so peak) New Feature(s) Onboarding Bug Fix(es) Fix the Firefox configuration import button unfocusing the popup and causing it to not register by creating a separate page dedicated to importing configuration. Changelog fix(importer): fix firefox config import by making a new page for importing configs ( 7ee1b2a ) feat: onboarding ( 3faa741 )...
|
1792745510.9977374
|
1793350310.9977374
|
|
4238
|
red bull tracker by @neset | Stardance
|
neset
|
1
|
22.29
|
336
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T20:00:22Z", "hours": 22.0, "multiplier": 15.51, "payout": 336, "blessing": "neutral", "text": "this is a caffeine drink tracker allowing you to add and track your caffeine intake across multiple days. i wrote it using svelte and postgresql. this was one of my first projects that i wrote with svelte, so i learned quite a bit about it. i also did custom art and design for each of the drinks in figma.", "repo": "https://github.com/nesetkab/redbull", "demo": "https://redbull.nesetk.com"}]...
|
[{"post_id": 77666, "ts": "202 [{"post_id": 77666, "ts": "2026-10-07T19:35:28Z", "hours": 0.2911, "text": "bug fixes"}, {"post_id": 77399, "ts": "2026-10-06T19:58:44Z", "hours": 2.0128, "text": "ready to ship! added an intro explaining what this is added cookies so u can track ur own data made my data global for everyone to see minor bug fixes todo: add more drinks"}, {"post_id": 19639, "ts": "2026-07-01T00:46:56Z", "hours": 1.6789, "text": "more progress on ui, adding more drinks, polishing drink picker. currently on amtrack so very bad wifi"}, {"post_id": 18904, "ts": "2026-06-30T02:59:09Z", "hours": 2.9706, "text": "im highkey across the country but wtv working on makign picker ux way better look at this yummy anim"}, {"post_id": 16070, "ts": "2026-06-26T03:45:21Z", "hours": 1.8869, "text": "working on looks! statistics looks much better still a lot to do to finish it up, but i’m almost there"}, {"post_id": 15365, "ts": "2026-06-24T23:49:42Z", "hours": 0.5797, "text": "wowzers statistics tooltips need to fix the labels hitting each other $state() might be the best thing in the world"}, {"post_id": 15160, "ts": "2026-06-24T17:02:58Z", "hours": 0.585, "text": "statistics are a lot more prettyyyyy fixed mobile handling for statistics todo: add more drinks drink chooser ui ship!"}, {"post_id": 13894, "ts": "2026-06-22T19:36:41Z", "hours": 2.8711, "text": "LOTS done. changed how data is stored to allow for more drinks to be added added “caffeine” attribute in order to track my caffeine intake (addiction) added statistics in order to track how many redbulls im actually drinking began adding other drinks to do: finalize the UX of how drinks are chosen add more drinks! finish statistics to be more functional and look more pretty ship!"}, {"post_id": 12791, "ts": "2026-06-20T22:21:44Z", "hours": 1.43, "text": "new redbull designs that are more accurate to the real thing! fixed some ux bugs todo: make ui look better add monster? i love monster data analysis ship!"}, {"post_id": 12279, "ts": "2026-06-20T01:40:43Z", "hours": 0.5042, "text": "havent finished the data part yet but i want to make a dev log because look at how BEAUTIFUL the new icons look <3333"}, {"post_id": 12267, "ts": "2026-06-20T01:01:09Z", "hours": 1.1347, "text": "multi-submit works* improved ux a LOT, i really like these tilted incrementers i want to change it so that SF is a toggle rather than a diff redbull, to decrease scrolling (better ux) submitter is VERY chopped rn (that’s why there’s the asterisk) multi submit repeatedly adds the redbull into a list which works but is kind of chopped. also, SF toggle doesn’t rly work. once i restructure the picker, im going to design icons for plus, minus, and SF, improve ui/ux a bit more, and then add data statistics. after that, i think it’ll be good to ship !!!"}, {"post_id": 11668, "ts": "2026-06-19T00:38:31Z", "hours": 0.5356, "text": "added data sorting by day into the tracker! groups by today, yesterday, and then weekly. plan is to add day sorting within those weeks next. also, need to add a way to submit multiple of the same redbull without repeatedly submitting. also, adding statistics would be nice."}, {"post_id": 11048, "ts": "2026-06-18T02:29:21Z", "hours": 0.6739, "text": "today count works now. i wanna go eep but ill work on data analysis tmr"}, {"post_id": 11000, "ts": "2026-06-18T00:52:01Z", "hours": 1.2214, "text": "deleting works now. the beginnings of a viewer exists"}, {"post_id": 10916, "ts": "2026-06-17T21:50:28Z", "hours": 0.4422, "text": "finally added all of the red bull flavors, including the sugarfree ones"}, {"post_id": 10709, "ts": "2026-06-17T15:59:38Z", "hours": 3.16, "text": "i’m now able to choose a redbull and add it! red bulls are stored in a psql database which keeps track of the red bull name, whether its sugarfree or not, and the date it was submitted. todo: add more redbulls! make a more visual data viewer graphs to see my statistics host this so other ppl can see my stats"}]...
|
Title: red bull tracker by @neset | Stardance
Dev Title: red bull tracker by @neset | Stardance
Devlogs:
i’m now able to choose a redbull and add it! red bulls are stored in a psql database which keeps track of the red bull name, whether its sugarfree or not, and the date it was submitted. todo: add more redbulls! make a more visual data viewer graphs to see my statistics host this so other ppl can see my stats
finally added all of the red bull flavors, including the sugarfree ones
deleting works now. the beginnings of a viewer exists
today count works now. i wanna go eep but ill work on data analysis tmr
added data sorting by day into the tracker! groups by today, yesterday, and then weekly. plan is to add day sorting within those weeks next. also, need to add a way to submit multiple of the same redbull without repeatedly submitting. also, adding statistics would be nice.
multi-submit works* improved ux a LOT, i really like these tilted incrementers i want to change it so that SF is a toggle rather than a diff redbull, to decrease scrolling (better ux) submitter is VERY chopped rn (that’s why there’s the asterisk) multi submit repeatedly adds the redbull into a list which works but is kind of chopped. also, SF toggle doesn’t rly work. once i restructure the picker, im going to design icons for plus, minus, and SF, improve ui/ux a bit more, and then add data statistics. after that, i think it’ll be good to ship !!!
havent finished the data part yet but i want to make a dev log because look at how BEAUTIFUL the new icons look <3333
new redbull designs that are more accurate to the real thing! fixed some ux bugs todo: make ui look better add monster? i love monster data analysis ship!
LOTS done. changed how data is stored to allow for more drinks to be added added “caffeine” attribute in order to track my caffeine intake (addiction) added statistics in order to track how many redbulls im actually drinking began adding other drinks to do: finalize the UX of how drinks are chosen add more drinks! finish statistics to be more functional and look more pretty ship!
statistics are a lot more prettyyyyy fixed mobile handling for statistics todo: add more drinks drink chooser ui ship!
wowzers statistics tooltips need to fix the labels hitting each other $state() might be the best thing in the world
working on looks! statistics looks much better still a lot to do to finish it up, but i’m almost there
im highkey across the country but wtv working on makign picker ux way better look at this yummy anim
more progress on ui, adding more drinks, polishing drink picker. currently on amtrack so very bad wifi
ready to ship! added an intro explaining what this is added cookies so u can track ur own data made my data global for everyone to see minor bug fixes todo: add more drinks
bug fixes
Ships:
this is a caffeine drink tracker allowing you to add and track your caffeine intake across multiple days. i wrote it using svelte and postgresql. this was one of my first projects that i wrote with svelte, so i learned quite a bit about it. i also did custom art and design for each of the drinks in figma....
|
1793148735.3318043
|
1793235135.3318043
|
|
24807
|
browserMCP by @stuff1ee | Stardance
|
stuff1ee
|
1
|
22.26
|
348
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T13:29:32Z", "hours": 21.0, "multiplier": 16.94, "payout": 348, "blessing": "neutral", "text": "browserMCP is a QoL browser management tool for MCP clients to manage your browser! It includes major QoL improvements such as: Group-related actions (grouping, ungrouping tabs, properties of groups) Tab-related actions (opening tabs, closing tabs) History actions (getting browser history max 24h, opt-in) This is strictly not an automation tool for page actions. I took so many hours because i had to port things from python to node.js etc..", "repo": "https://gitlab.com/mystuffyt/browserMCP", "demo": "https://gitlab.com/mystuffyt/browserMCP/-/releases"}]...
|
[{"post_id": 36560, "ts": "202 [{"post_id": 36560, "ts": "2026-07-28T19:12:22Z", "hours": 1.2569, "text": "Had a lot of commits and trouble w/ GitLab CI, also created GitLab pages for demo link! It’s just the README but it includes instructions on how to install the client + server quick install. I unironically took 1h for all of this, because i am very slow at things :("}, {"post_id": 21470, "ts": "2026-07-03T13:15:50Z", "hours": 1.9747, "text": "finally done! ive added uh getting active tab contents for the purpose of summarizing text or whatever"}, {"post_id": 18419, "ts": "2026-06-29T15:51:21Z", "hours": 4.2381, "text": "devlog 6 The MCP client has a BUNCH of new features. Opening tabs Closing tabs Unloading tabs Grouping tabs Changing color and name of groups History access (opt-in) Happy with how it’s turning out still. I think its time to fix more bugs now. if i figure out the situation on keeping websocket open w/ the service worker, i might make this work for firefox. Its been tough tho, so much bugs…"}, {"post_id": 16920, "ts": "2026-06-27T14:12:16Z", "hours": 5.0031, "text": "Devlog 5 Created a quick install python script! Right now it only supports adding the mcp to claude code and opencode, and it supports all macos, windows and linux! (someone test it on macos and windows for me pls..) As for the MCP, grouping a tab now returns the group ID normally, and now you can change title of group! Still dont know which customization features to add.. but ill figure it out hopefully (i took 4h 58m because i have never created an installation script, chrome extension or even a node.js server in general.. and i learned alot)"}, {"post_id": 15947, "ts": "2026-06-25T22:11:25Z", "hours": 1.4583, "text": "Devlog 4 finally!!!!!!!!!! The extension now handles closed connections, and reconnects… and the whole server is coded in node.js without python. Now that the app completely works, the only thing left for me is to add more customization and etc features. Right now there is: getting tabs and their titles, and grouping them.. If you want to, suggest any ideas."}, {"post_id": 15827, "ts": "2026-06-25T18:49:45Z", "hours": 2.445, "text": "Devlog 3 Finally finished the core MCP! Really fragile.. but it works. fsr some hours are marked as ai coding even though i did not vibecode the MCP at all :( (because i was testing the MCP using opencode) but the MCP works enough. The server is a bit fragile and will hope for a better server in the future."}, {"post_id": 15358, "ts": "2026-06-24T23:34:42Z", "hours": 1.9975, "text": "dev log 2…. ive recoded how the server works, and made the service worker in my extension keepalive. The project is starting to come together at least. Gonna work on the MCP finally next time."}, {"post_id": 15187, "ts": "2026-06-24T18:03:45Z", "hours": 3.4425, "text": "first devlog!! None of the MCP works yet, but i have gotten the communication between browser and websocket server to work. I might switch to node.js for the mcp server as i personally think it’s easier to handle websocket there. to be fair it is my first time creating a chrome extension and doing anything with websocket in general.."}]...
|
Title: browserMCP by @stuff1ee | Stardance
Devlog Title: browserMCP by @stuff1ee | Stardance
Devlogs:
first devlog!! None of the MCP works yet, but i have gotten the communication between browser and websocket server to work. I might switch to node.js for the mcp server as i personally think it’s easier to handle websocket there. to be fair it is my first time creating a chrome extension and doing anything with websocket in general..
dev log 2…. ive recoded how the server works, and made the service worker in my extension keepalive. The project is starting to come together at least. Gonna work on the MCP finally next time.
Devlog 3 Finally finished the core MCP! Really fragile.. but it works. fsr some hours are marked as ai coding even though i did not vibecode the MCP at all :( (because i was testing the MCP using opencode) but the MCP works enough. The server is a bit fragile and will hope for a better server in the future.
Devlog 4 finally!!!!!!!!!! The extension now handles closed connections, and reconnects… and the whole server is coded in node.js without python. Now that the app completely works, the only thing left for me is to add more customization and etc features. Right now there is: getting tabs and their titles, and grouping them.. If you want to, suggest any ideas.
Devlog 5 Created a quick install python script! Right now it only supports adding the mcp to claude code and opencode, and it supports all macos, windows and linux! (someone test it on macos and windows for me pls..) As for the MCP, grouping a tab now returns the group ID normally, and now you can change title of group! Still dont know which customization features to add.. but ill figure it out hopefully (i took 4h 58m because i have never created an installation script, chrome extension or even a node.js server in general.. and i learned alot)
devlog 6 The MCP client has a BUNCH of new features. Opening tabs Closing tabs Unloading tabs Grouping tabs Changing color and name of groups History access (opt-in) Happy with how it’s turning out still. I think its time to fix more bugs now. if i figure out the situation on keeping websocket open w/ the service worker, i might make this work for firefox. Its been tough tho, so much bugs…
finally done! ive added uh getting active tab contents for the purpose of summarizing text or whatever
Had a lot of commits and trouble w/ GitLab CI, also created GitLab pages for demo link! It’s just the README but it includes instructions on how to install the client + server quick install. I unironically took 1h for all of this, because i am very slow at things :(
Ships:
browserMCP is a QoL browser management tool for MCP clients to manage your browser! It includes major QoL improvements such as: Group-related actions (grouping, ungrouping tabs, properties of groups) Tab-related actions (opening tabs, closing tabs) History actions (getting browser history max 24h, opt-in) This is strictly not an automation tool for page actions. I took so many hours because i had to port things from python to node.js etc.....
|
1793274800.2883098
|
1793361200.2883098
|
|
51788
|
My own web OS by @Dragonfly | Stardance
|
Dragonfly
|
0
|
22.26
|
0
|
[]
|
[{"post_id": 81646, "ts": "202 [{"post_id": 81646, "ts": "2026-10-21T21:20:03Z", "hours": 1.0292, "text": "Yayy I finished my notes app (for now - idk if I want to add things like typing in bold, italics, etc… later) and I added a word and character count that shows the words and characters for text you highlight which is pretty neat."}, {"post_id": 80660, "ts": "2026-10-18T13:01:06Z", "hours": 8.3294, "text": "I think I should probably post a devlog before I reach 10 hrs so here it is. I really should have done another one recently but oh well. I’m almost finished with the first app I’m making. I have finished the ‘my notes’ section - it has a menu of entries of notes and for the ‘your notes’ section, you can write notes that are automatically saved, there are word and character counts and soon I will make it so that the text you highlight, the counts for that will show instead and I might add features like writing in bold, italics, different font, etc… I have also made windows resizeable and I think that’s about it."}, {"post_id": 76253, "ts": "2026-10-02T22:12:55Z", "hours": 3.4939, "text": "Oh my golly goodness why is the time I have ‘spent’ coding so damn high? I feel like this number most likely is inflated by at least a couple hours but I swear I’m not doing it on purpose. The number just keeps rising somehow! Anyway I haven’t finished my first app yet and I’m going pretty damn slow. I now have it so when I click a window it rises to the top and that’s the most of it I think. Nothing compared to what you would expect from allegedly 3.5 more hours coding time from my last dev log!"}, {"post_id": 73915, "ts": "2026-09-26T09:46:09Z", "hours": 3.6764, "text": "I can now drag around, close and open my windows and I’m about to make my first app and after that I’ll make my second, finish the jam and ship it and then start working on it more for WebOS 2."}, {"post_id": 71322, "ts": "2026-09-20T17:00:17Z", "hours": 2.2953, "text": "Devlog #4: I have finished the second part of making my WebOS and will start part 3 soon. I have also added an extra thing with the help of ChatGPT (i made a bottom bar with the time on it that stays in place no matter where you scroll :D). (I am new to this stuff and it’s taking a crap ton of time don’t judge or whatever)"}, {"post_id": 70313, "ts": "2026-09-18T22:34:52Z", "hours": 0.3325, "text": "Ok so the awesome Github AI did it for me and it looks pretty neat."}, {"post_id": 70297, "ts": "2026-09-18T21:54:51Z", "hours": 2.4781, "text": "Devlog 2: My Web OS is coming along better and honestly I probably should have more done for the time I have logged but I am completely new to HTML so I am learning at every step. I want to add a white background around the text next so I’ll do that maybe tommorow because it’s late for me rn. The background is animated which is pretty cool although you can’t see in the screenshot."}, {"post_id": 66781, "ts": "2026-09-12T17:45:58Z", "hours": 0.6264, "text": "I’ve just started my first project and I’m struggling lol. The first part of this thing was meant to only take 30 mins but its been more time than that so far and I’m not even halfway through :(. This devlog won’t be visible to most people yet lol because I’m having trouble doing the identity verification thing because it says I used all my attempts or whatever even though I don’t think I did XD."}]...
|
Title: My own web OS by @Dragonfly | Stardance
De Title: My own web OS by @Dragonfly | Stardance
Devlogs:
I’ve just started my first project and I’m struggling lol. The first part of this thing was meant to only take 30 mins but its been more time than that so far and I’m not even halfway through :(. This devlog won’t be visible to most people yet lol because I’m having trouble doing the identity verification thing because it says I used all my attempts or whatever even though I don’t think I did XD.
Devlog 2: My Web OS is coming along better and honestly I probably should have more done for the time I have logged but I am completely new to HTML so I am learning at every step. I want to add a white background around the text next so I’ll do that maybe tommorow because it’s late for me rn. The background is animated which is pretty cool although you can’t see in the screenshot.
Ok so the awesome Github AI did it for me and it looks pretty neat.
Devlog #4: I have finished the second part of making my WebOS and will start part 3 soon. I have also added an extra thing with the help of ChatGPT (i made a bottom bar with the time on it that stays in place no matter where you scroll :D). (I am new to this stuff and it’s taking a crap ton of time don’t judge or whatever)
I can now drag around, close and open my windows and I’m about to make my first app and after that I’ll make my second, finish the jam and ship it and then start working on it more for WebOS 2.
Oh my golly goodness why is the time I have ‘spent’ coding so damn high? I feel like this number most likely is inflated by at least a couple hours but I swear I’m not doing it on purpose. The number just keeps rising somehow! Anyway I haven’t finished my first app yet and I’m going pretty damn slow. I now have it so when I click a window it rises to the top and that’s the most of it I think. Nothing compared to what you would expect from allegedly 3.5 more hours coding time from my last dev log!
I think I should probably post a devlog before I reach 10 hrs so here it is. I really should have done another one recently but oh well. I’m almost finished with the first app I’m making. I have finished the ‘my notes’ section - it has a menu of entries of notes and for the ‘your notes’ section, you can write notes that are automatically saved, there are word and character counts and soon I will make it so that the text you highlight, the counts for that will show instead and I might add features like writing in bold, italics, different font, etc… I have also made windows resizeable and I think that’s about it.
Yayy I finished my notes app (for now - idk if I want to add things like typing in bold, italics, etc… later) and I added a word and character count that shows the words and characters for text you highlight which is pretty neat....
|
1792684251.4057527
|
1793289051.4057527
|
|
53978
|
Blood Axolotl by @Landen_A | Stardance
|
Landen_A
|
0
|
22.26
|
0
|
[]
|
[{"post_id": 68941, "ts": "202 [{"post_id": 68941, "ts": "2026-09-16T02:43:54Z", "hours": 1.3181, "text": "I summon the Blood Axolotl (Devlog 7) Yes, I created the Blood Axolotl. Yes, he is after you. And yes, he is taller than you. Things will not be the same after this log! I might be Victor Frankenstein The code for the Blood Axolotl was not very difficult. It’s just a taller player; all the work that I have done before have lead up to this! Than I made it slowly follow the player (don’t worry, when I make him more developed I’ll also make him faster ;). Placement I also made it so collectables won’t spawn in the same spot anymore. It’s not to much, but a good improvement anyway 👍. Next In the intro, I said “Things will not be the same after this log,” that is because the base of this video game Blood Axolotl is done. Of course, there is still a lot that can be worked on, but the premise of collecting collectables while avoiding the Blood Axolotl will stay the same. And this way, if the end of Stardance sneaks up on me, I could publish at any time from now on! But that is for the far future. For the here and now: next I will make an auto(ish) depth changing system. You will be able to go hold W while approaching a stair case and go up it, or not and go by it, how exciting! Than I will make the Blood Axolotl’s AI far better, how thrilling! bye"}, {"post_id": 66936, "ts": "2026-09-12T22:12:48Z", "hours": 5.4397, "text": "I Am Collected (Devlog 6) I got collectables done, took a little more time than expected. I might have lied. In my last devlog, I figured that I might be able to post two devlogs in one day because the following system was going to be pretty simple, there for doable in the rest of the day. It’s been a week. Here is the rundown Collectables (just an object marked with Collectable ) spawn on top of objects marked with CollectableLocation . Than collectables that are clicked on are removed and the resource Collected is bumped up by one. Burnt out After posting the last devlog, I got right to work making the collectable objects and the placement system. It wasn’t awful, the only thing I kinda struggled with was getting a random number to than get a random CollectableLocation . (rant ends at next paragraph) What was awful is that I spent 3 and a half hours that day coding. I know that might not be a lot for some people. But I was than burnt out for the next 4 days, until today. I can not tell if that was my own fault or if I was influenced by exterior motives… Either way, lesson learned! Observation Next I had to detect a mouse click on a collectable. That was difficult. I tried to use Bevy’s observers, but I could not for the life of me figure out how to get them to work. So, I made my own system to guesstimate where the mouse is in the game world. It’s imperfect but it works at least! End With a few more modifications and additions, I had created a collectables system! Next, I will make a Blood Axolotl ! Until next time!"}, {"post_id": 63703, "ts": "2026-09-07T17:11:39Z", "hours": 2.1825, "text": "Lights , Camera, Action(?) (Devlog 5) I made a house in the game! + I made the camera fallow the player! Oh yeah, I also changed the depth system a little bit! (All very thrilling) Our House I took the ramps stairs and physics AABB and put them together to make a house. It might look a little questionable at the moment, but it will (probably) look better when I add sprites and texture stuff. In the Middle of Our Camera I also updated the camera to follow the player. It’s a very small system but it works well . More Depth Perception I updated the depth system so that objects can fit in a specific range of depths instead of the old “all or one” depth style. So, now the depth component is an enumeration with Single , Range , and All states. This is useful for cases like when I want the base floor of a house to persist when going up stairs to the next floor or when going around a stair case (see the video). Another exiting thing is that I made a macro for creating Depth components. It works like this: depth!() -> Depth::All , depth!(1) -> Depth::Single(1) , depth!(1, 3) -> Depth::Range(1, 3) . It’s simple, but it’s the first time I have ever made a macro ! The Here and Now That’s it for now, next I will be working on a collectables system. I wonder, because it shouldn’t be very complex , if I could could post two devlogs in one day… Bye for now!"}, {"post_id": 62516, "ts": "2026-09-05T22:36:04Z", "hours": 2.3519, "text": "Depth Perception (Devlog 4) Today, I go over how I added a third dimension to my 2D game. Idea When running away from the blood axolotl, you may want to run inside a house or around a house. The game’s current setup doesn’t allow for this! So, by adding depth I can give the player more hiding spots, making them feel safe for longer, there for, making them play longer . Execution (no, not the player, yet ) What I did was make a new component: Depth (how clever of a name). And in the collision reaction code, if two objects have different depth, than have them not collide. If one of the objects doesn’t have the Depth component, make the objects collide anyway. This makes Depth -less objects collide with everything, so I don’t need a bunch of different floor objects for each depth ! Than I also made a simple system so that the player can move depths. I’ll have to change it quite a bit in the future but it is fine for now. Up next Next I am going to take the parts I’ve been creating and make buildings a thing. Than I’ll make collectables and the blood axolotl , (probably collectables first). Final thoughts Things are going swimmingly. The project should be wrapping up in the coming weeks. The last few things I’ve coded for this project haven’t been supper hard by any means it’s just that I got school and my robotics team is doing a thing for homecoming so I’ve just been kind low on energy :/. bye!"}, {"post_id": 60599, "ts": "2026-09-03T01:50:17Z", "hours": 2.8819, "text": "Stairs! (Devlog 3) I have made “stairs” in my game Blood Axolotl ! Setup To be honest, the idea is very simple. All that is happening is that the Physics Object is being displaced to sit on a line. That’s it. What do you know of a little something called y = mx + b ? To make the Physics Object sit on a line, what I have to do is change the y value (stairs move you up/down). To get what the y value should be all I have to do is solve for y on a slop, such as y = mx + b (my 5th grade math teacher would be so proud of me) . But, to be honest slope intercept form kinda sucks, (my 5th grade math teacher rn: ), so I’m using point slope: y - y_1 = m(x - x_1) more specifically, y = m(x - x_1) + y_1 to get just the y value. Outcome It works good, more like a ramp, but the game needs more development in every other aria before making the stairs more like stairs. Bye also, point slope > slope intercept"}, {"post_id": 57645, "ts": "2026-08-29T21:02:48Z", "hours": 1.8239, "text": "Playable Player (Devlog 2) I added a simple player system! Playable Person the Player Plays as I set up a unit struct called Player that is used to make the object that all player systems will use as the player. Than I crated a system to query for the velocity of the player and change it based on pressed keys. Not supper complex, but that’s nice some times The AABB system is my irl blood axolotl 😭 The AABB system strikes back and stopped working when ever it felt like it. Here is the code with the error: if self .center () .x < other .center () .x { out *= - 1.0 ; } if self .center () .y < other .center () .y { out *= - 1.0 ; } the fix is to add .x and .y to the two use of out respectively. It took too long to figure that out . Stay tuned Up next, I am going to add buildings 🏙️, which I think is hype. I’ll be back."}, {"post_id": 56334, "ts": "2026-08-28T02:00:28Z", "hours": 5.8431, "text": "AABB = AAHHHHH (Devlog 1) 5 and a half new hours of coding time 🙏 , a fully functioning AABB collision , and maybe something else ¯ \\ _ (ツ) _ /¯ AABB backwards is blood axolotl I got the collision system working, only took a little bit. I ended up asking ChatGPT for some help after the fifth hour, turns out I had it all done hours ago and all I had to rely do was flip two > s to < s; my pain is located in the coding bone ;-;. After allllllll that Next I’ll try to make a simple player system and than after that building structures. I might also add a few things here or there for fun ;). Bye, bye I’m a little burnt out soooo, I’m going to take Friday off . see y’all later"}, {"post_id": 54863, "ts": "2026-08-26T01:57:47Z", "hours": 0.4222, "text": "Well Well Well (Devlog 0) I have this idea for a simple horror game that involves the apocalypse (maybe), a scary monster, and (you guessed it) an axolotl. This is going to be epic. The scoped scope With less than 5 week left of Stardance, I am going to have to think small and hustle. Here is the premise: you are in the apocalypse and you are stopping at a town to resupply. You need to get three items and get out while not falling pray to the Blood Axolotl (the big scary monster that will provide challenge so the game isn’t boring). Sweet, simple, and to the point. Gooooooooooals This project is less about learning something new; I am going to try to increase my programing proficiency. Meaning that I am going to try to come up with systems at a faster pace than normal. How I feel about school + this now School started a little while back for me so development will be slowed. I don’t think this will be too much for me, the systems will likely somewhat simple. If I end up taking more than 5 week to finish this, feel free to bug me on Slack for updates on the project ;). Conclusion I feel good about this and I think I can do it! (First image is an altered version of this one, more info in project description) Bye!! See you soon!!!"}]...
|
Title: Blood Axolotl by @Landen_A | Stardance
Dev Title: Blood Axolotl by @Landen_A | Stardance
Devlogs:
Well Well Well (Devlog 0) I have this idea for a simple horror game that involves the apocalypse (maybe), a scary monster, and (you guessed it) an axolotl. This is going to be epic. The scoped scope With less than 5 week left of Stardance, I am going to have to think small and hustle. Here is the premise: you are in the apocalypse and you are stopping at a town to resupply. You need to get three items and get out while not falling pray to the Blood Axolotl (the big scary monster that will provide challenge so the game isn’t boring). Sweet, simple, and to the point. Gooooooooooals This project is less about learning something new; I am going to try to increase my programing proficiency. Meaning that I am going to try to come up with systems at a faster pace than normal. How I feel about school + this now School started a little while back for me so development will be slowed. I don’t think this will be too much for me, the systems will likely somewhat simple. If I end up taking more than 5 week to finish this, feel free to bug me on Slack for updates on the project ;). Conclusion I feel good about this and I think I can do it! (First image is an altered version of this one, more info in project description) Bye!! See you soon!!!
AABB = AAHHHHH (Devlog 1) 5 and a half new hours of coding time 🙏 , a fully functioning AABB collision , and maybe something else ¯ \ _ (ツ) _ /¯ AABB backwards is blood axolotl I got the collision system working, only took a little bit. I ended up asking ChatGPT for some help after the fifth hour, turns out I had it all done hours ago and all I had to rely do was flip two > s to < s; my pain is located in the coding bone ;-;. After allllllll that Next I’ll try to make a simple player system and than after that building structures. I might also add a few things here or there for fun ;). Bye, bye I’m a little burnt out soooo, I’m going to take Friday off . see y’all later
Playable Player (Devlog 2) I added a simple player system! Playable Person the Player Plays as I set up a unit struct called Player that is used to make the object that all player systems will use as the player. Than I crated a system to query for the velocity of the player and change it based on pressed keys. Not supper complex, but that’s nice some times The AABB system is my irl blood axolotl 😭 The AABB system strikes back and stopped working when ever it felt like it. Here is the code with the error: if self .center () .x < other .center () .x { out *= - 1.0 ; } if self .center () .y < other .center () .y { out *= - 1.0 ; } the fix is to add .x and .y to the two use of out respectively. It took too long to figure that out . Stay tuned Up next, I am going to add buildings 🏙️, which I think is hype. I’ll be back.
Stairs! (Devlog 3) I have made “stairs” in my game Blood Axolotl ! Setup To be honest, the idea is very simple. All that is happening is that the Physics Object is being displaced to sit on a line. That’s it. What do you know of a little something called y = mx + b ? To make the Physics Object sit on a line, what I have to do is change the y value (stairs move you up/down). To get what the y value should be all I have to do is solve for y on a slop, such as y = mx + b (my 5th grade math teacher would be so proud of me) . But, to be honest slope intercept form kinda sucks, (my 5th grade math teacher rn: ), so I’m using point slope: y - y_1 = m(x - x_1) more specifically, y = m(x - x_1) + y_1 to get just the y value. Outcome It works good, more like a ramp, but the game needs more development in every other aria before making the stairs more like stairs. Bye also, point slope > slope intercept
Depth Perception (Devlog 4) Today, I go over how I added a third dimension to my 2D game. Idea When running away from the blood axolotl, you may want to run inside a house or around a house. The game’s current setup doesn’t allow for this! So, by adding depth I can give the player more hiding spots, making them feel safe for longer, there for, making them play longer . Execution (no, not the player, yet ) What I did was make a new component: Depth (how clever of a name). And in the collision reaction code, if two objects have different depth, than have them not collide. If one of the objects doesn’t have the Depth component, make the objects collide anyway. This makes Depth -less objects collide with everything, so I don’t need a bunch of different floor objects for each depth ! Than I also made a simple system so that the player can move depths. I’ll have to change it quite a bit in the future but it is fine for now. Up next Next I am going to take the parts I’ve been creating and make buildings a thing. Than I’ll make collectables and the blood axolotl , (probably collectables first). Final thoughts Things are going swimmingly. The project should be wrapping up in the coming weeks. The last few things I’ve coded for this project haven’t been supper hard by any means it’s just that I got school and my robotics team is doing a thing for homecoming so I’ve just been kind low on energy :/. bye!
Lights , Camera, Action(?) (Devlog 5) I made a house in the game! + I made the camera fallow the player! Oh yeah, I also changed the depth system a little bit! (All very thrilling) Our House I took the ramps stairs and physics AABB and put them together to make a house. It might look a little questionable at the moment, but it will (probably) look better when I add sprites and texture stuff. In the Middle of Our Camera I also updated the camera to follow the player. It’s a very small system but it works well . More Depth Perception I updated the depth system so that objects can fit in a specific range of depths instead of the old “all or one” depth style. So, now the depth component is an enumeration with Single , Range , and All states. This is useful for cases like when I want the base floor of a house to persist when going up stairs to the next floor or when going around a stair case (see the video). Another exiting thing is that I made a macro for creating Depth components. It works like this: depth!() -> Depth::All , depth!(1) -> Depth::Single(1) , depth!(1, 3) -> Depth::Range(1, 3) . It’s simple, but it’s the first time I have ever made a macro ! The Here and Now That’s it for now, next I will be working on a collectables system. I wonder, because it shouldn’t be very complex , if I could could post two devlogs in one day… Bye for now!
I Am Collected (Devlog 6) I got collectables done, took a little more time than expected. I might have lied. In my last devlog, I figured that I might be able to post two devlogs in one day because the following system was going to be pretty simple, there for doable in the rest of the day. It’s been a week. Here is the rundown Collectables (just an object marked with Collectable ) spawn on top of objects marked with CollectableLocation . Than collectables that are clicked on are removed and the resource Collected is bumped up by one. Burnt out After posting the last devlog, I got right to work making the collectable objects and the placement system. It wasn’t awful, the only thing I kinda struggled with was getting a random number to than get a random CollectableLocation . (rant ends at next paragraph) What was awful is that I spent 3 and a half hours that day coding. I know that might not be a lot for some people. But I was than burnt out for the next 4 days, until today. I can not tell if that was my own fault or if I was influenced by exterior motives… Either way, lesson learned! Observation Next I had to detect a mouse click on a collectable. That was difficult. I tried to use Bevy’s observers, but I could not for the life of me figure out how to get them to work. So, I made my own system to guesstimate where the mouse is in the game world. It’s imperfect but it works at least! End With a few more modifications and additions, I had created a collectables system! Next, I will make a Blood Axolotl ! Until next time!
I summon the Blood Axolotl (Devlog 7) Yes, I created the Blood Axolotl. Yes, he is after you. And yes, he is taller than you. Things will not be the same after this log! I might be Victor Frankenstein The code for the Blood Axolotl was not very difficult. It’s just a taller player; all the work that I have done before have lead up to this! Than I made it slowly follow the player (don’t worry, when I make him more developed I’ll also make him faster ;). Placement I also made it so collectables won’t spawn in the same spot anymore. It’s not to much, but a good improvement anyway 👍. Next In the intro, I said “Things will not be the same after this log,” that is because the base of this video game Blood Axolotl is done. Of course, there is still a lot that can be worked on, but the premise of collecting collectables while avoiding the Blood Axolotl will stay the same. And this way, if the end of Stardance sneaks up on me, I could publish at any time from now on! But that is for the far future. For the here and now: next I will make an auto(ish) depth changing system. You will be able to go hold W while approaching a stair case and go up it, or not and go by it, how exciting! Than I will make the Blood Axolotl’s AI far better, how thrilling! bye...
|
1792770707.5844972
|
1793375507.5844972
|
|
30604
|
MiyarOS - open source hobby OS by @Qazi | Stardanc MiyarOS - open source hobby OS by @Qazi | Stardance...
|
Qazi
|
1
|
22.25
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T09:49:54Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created “MiyarOS” a small hobby operating system for x86 that boots with GRUB and follows the Multiboot specification. The kernel is written in C and x86 Assembly, and it currently provides a text-mode boot experience with basic hardware setup, a keyboard-driven shell, VGA output, and serial debugging. The most challenging part was coding on a phone and on the browser no less. Debugging was hell, I got stuck on a triple fault error and it took 2-3 days(6-7 hours) work away from me. Also, There aren’t that many people creating an OS that you can ask any help from. I am very proud of what I’ve built and that I saw it through to the end, but this is only the start. People who want to test my project only have to read the readme.md file one time. I have created a makefile too which make the whole process a lot easier so be sure to read the readme.md file.", "repo": "https://github.com/Qazi-01/Miyar-OS", "demo": "https://github.com/Qazi-01/Miyar-OS/releases/tag/v0.1"}]...
|
[{"post_id": 29503, "ts": "202 [{"post_id": 29503, "ts": "2026-07-16T14:10:54Z", "hours": 8.2514, "text": "MiyarOS v0.2(under progress) Core Infrastructure. This development cycle focused on building the core foundation of MiyarOS. The kernel now detects and parses the Multiboot memory map, implements a bitmap-based Physical Memory Manager with 4 KiB frame allocation, introduces a dynamic kernel heap (“kmalloc”/“kfree”), and enables paging with the first version of the Virtual Memory Manager for page mapping and unmapping.Memory protection has also been improved by marking kernel pages as read-only and leaving the null page unmapped to catch invalid pointer accesses. A dedicated page fault handler and centralized kernel panic system were added, providing detailed crash information for easier debugging. Finally, the shell was refactored to support command and argument parsing, creating a cleaner and more scalable foundation for future features."}, {"post_id": 22059, "ts": "2026-07-04T09:42:07Z", "hours": 14.2606, "text": "Hey guys, I have built “MiyarOS” which is a small open source hobby operating system for x86 that boots with GRUB and follows the Multiboot specification. The kernel is written in C and x86 Assembly, and it currently provides a text-mode boot experience with basic hardware setup, a keyboard-driven shell, VGA output, and serial debugging. This is only the start, I wanna scale this later into a fully fledged OS. Hope that day comes, truly."}]...
|
Title: MiyarOS - open source hobby OS by @Qazi | S Title: MiyarOS - open source hobby OS by @Qazi | Stardance
Devlogs:
Hey guys, I have built “MiyarOS” which is a small open source hobby operating system for x86 that boots with GRUB and follows the Multiboot specification. The kernel is written in C and x86 Assembly, and it currently provides a text-mode boot experience with basic hardware setup, a keyboard-driven shell, VGA output, and serial debugging. This is only the start, I wanna scale this later into a fully fledged OS. Hope that day comes, truly.
MiyarOS v0.2(under progress) Core Infrastructure. This development cycle focused on building the core foundation of MiyarOS. The kernel now detects and parses the Multiboot memory map, implements a bitmap-based Physical Memory Manager with 4 KiB frame allocation, introduces a dynamic kernel heap (“kmalloc”/“kfree”), and enables paging with the first version of the Virtual Memory Manager for page mapping and unmapping.Memory protection has also been improved by marking kernel pages as read-only and leaving the null page unmapped to catch invalid pointer accesses. A dedicated page fault handler and centralized kernel panic system were added, providing detailed crash information for easier debugging. Finally, the shell was refactored to support command and argument parsing, creating a cleaner and more scalable foundation for future features.
Ships:
I created “MiyarOS” a small hobby operating system for x86 that boots with GRUB and follows the Multiboot specification. The kernel is written in C and x86 Assembly, and it currently provides a text-mode boot experience with basic hardware setup, a keyboard-driven shell, VGA output, and serial debugging. The most challenging part was coding on a phone and on the browser no less. Debugging was hell, I got stuck on a triple fault error and it took 2-3 days(6-7 hours) work away from me. Also, There aren’t that many people creating an OS that you can ask any help from. I am very proud of what I’ve built and that I saw it through to the end, but this is only the start. People who want to test my project only have to read the readme.md file one time. I have created a makefile too which make the whole process a lot easier so be sure to read the readme.md file....
|
1793252886.8204248
|
1793339286.8204248
|
|
7353
|
Red Door Yellow Door by @isadora_M | Stardance
|
isadora_M
|
0
|
22.24
|
0
|
[]
|
[{"post_id": 73452, "ts": "202 [{"post_id": 73452, "ts": "2026-09-25T03:43:57Z", "hours": 4.5422, "text": "Red Door Delvog #6 - I’ve been working on lots of materials, meshes, and other various art-related parts of this game! I’ve been working on some UI elements, and I hope soon the game will be looking a little better."}, {"post_id": 68910, "ts": "2026-09-16T00:59:07Z", "hours": 3.2178, "text": "Red Door Devlog #5 - I’ve done a lot of work on the special levels, including the meadow level. I decided to use physical walls and terrain to make the meadow rather than a skybox to help contribute to the uncanny vibes. I also created a basic startup screen, although it looks pretty bad, so I will probably change it later."}, {"post_id": 66963, "ts": "2026-09-12T23:05:52Z", "hours": 3.6042, "text": "Red Door Devlog #4 - I have finally started working on some custom 3D models! Im probably going to get most of my models off the unity store, but I wanted to make the door models myself, as there are very specific colors that I am imagining. In terms of base game mechanics, I am working on an algorithm that places sub-walls throughout rooms so that they aren’t just one big box. It’s going slowly as I, shockingly, still suck at C#."}, {"post_id": 62461, "ts": "2026-09-05T20:20:30Z", "hours": 3.1867, "text": "Red Door Devlog #3 - I finally got the infinite room generation working! This involved creating empty door frames in the newly generated rooms so the player can pass through the door. This was pretty difficult, as my C# skills are severely lacking. Next, I want to make a system so older rooms will automatically be deleted."}, {"post_id": 60000, "ts": "2026-09-02T02:58:00Z", "hours": 4.4006, "text": "Red Door Devlog #2 – Unfortunately, I still suck at C# so this project has been very slow going. I tried to follow some tutorials online, but they weren’t super helpful. If anyone knows some really good Unity/ C# free courses, lmk. I have accomplished making a script that will automatically generate a room of a random size with a door on a random wall. I also have the outlines for the functions that will allow a new room to generate when the player walks through the door, so soon hopefully I will have an infinite room generation system!"}, {"post_id": 50693, "ts": "2026-08-20T00:36:25Z", "hours": 3.2853, "text": "Red Door Devlog #1 - Starting a new game project! This game is going to be a video game adaptation of the urban legend “Red Door Yellow Door”. I haven’t worked out all of the details yet, but the premise of the game will be the player exploring a creepy maze where they must choose their path by entering differently colored doors. It will be made using Unity, and so far I have created a basic 1st person movement script. This is my first time using Unity and coding in C#, which is why this took 3 hours. My first goal is basic room generation, where entering a door generates a new room of a random size."}]...
|
Title: Red Door Yellow Door by @isadora_M | Starda Title: Red Door Yellow Door by @isadora_M | Stardance
Devlogs:
Red Door Devlog #1 - Starting a new game project! This game is going to be a video game adaptation of the urban legend “Red Door Yellow Door”. I haven’t worked out all of the details yet, but the premise of the game will be the player exploring a creepy maze where they must choose their path by entering differently colored doors. It will be made using Unity, and so far I have created a basic 1st person movement script. This is my first time using Unity and coding in C#, which is why this took 3 hours. My first goal is basic room generation, where entering a door generates a new room of a random size.
Red Door Devlog #2 – Unfortunately, I still suck at C# so this project has been very slow going. I tried to follow some tutorials online, but they weren’t super helpful. If anyone knows some really good Unity/ C# free courses, lmk. I have accomplished making a script that will automatically generate a room of a random size with a door on a random wall. I also have the outlines for the functions that will allow a new room to generate when the player walks through the door, so soon hopefully I will have an infinite room generation system!
Red Door Devlog #3 - I finally got the infinite room generation working! This involved creating empty door frames in the newly generated rooms so the player can pass through the door. This was pretty difficult, as my C# skills are severely lacking. Next, I want to make a system so older rooms will automatically be deleted.
Red Door Devlog #4 - I have finally started working on some custom 3D models! Im probably going to get most of my models off the unity store, but I wanted to make the door models myself, as there are very specific colors that I am imagining. In terms of base game mechanics, I am working on an algorithm that places sub-walls throughout rooms so that they aren’t just one big box. It’s going slowly as I, shockingly, still suck at C#.
Red Door Devlog #5 - I’ve done a lot of work on the special levels, including the meadow level. I decided to use physical walls and terrain to make the meadow rather than a skybox to help contribute to the uncanny vibes. I also created a basic startup screen, although it looks pretty bad, so I will probably change it later.
Red Door Delvog #6 - I’ve been working on lots of materials, meshes, and other various art-related parts of this game! I’ve been working on some UI elements, and I hope soon the game will be looking a little better....
|
1792601388.2699537
|
1793206188.2699537
|
|
42028
|
The World's Easiest Game by @dvydvine | Starda The World's Easiest Game by @dvydvine | Stardance...
|
dvydvine
|
0
|
22.23
|
0
|
[]
|
[{"post_id": 43071, "ts": "202 [{"post_id": 43071, "ts": "2026-08-08T04:29:32Z", "hours": 9.9172, "text": "Days 5 to 9 of turning my unfinished game jam demo into a fully polished game. I did a lot… For one thing, I added almost full controller support, which some of is showcased in this video, and has gotten even better since recorded. For another thing, I added two new microgames, one called Do A Pushup , where you perform a quick time event, and Spell the Country , where you get a country flag and you have to spell it before time runs out. I also added a new cursor which isn’t seen in this video, but is very good. However, bad things happened too . I had to remove Close the Windows from last devlog because it kept crashing to the point I had to start debugging from the terminal and the C++ logs, and I even refactored the entire game . However, until I can figure out why it refuses to work 1/100 of the time, the microgame had to go. However, I am looking forward to make a new microgame to replace it and hopefully getting up to 25 microgames ! Please suggest any microgame ideas you have or any suggestions in general, and follow this project so you can see what happens next! Goodbye!"}, {"post_id": 39847, "ts": "2026-08-03T03:19:42Z", "hours": 8.9486, "text": "Days 2, 3, and 4 of turning my unfinished game jam demo into a fully polished game. So I found out very quickly daily devlogs are annoying… So I will be switching to whenever I feel like it :D These past couple days I added a lot of things so I decided to post a video instead. I added two new microgames , new popups and sound effects, a new splash screen for Godot before mine, new statistics, a settings menu with saved settings between games, and a bunch of other miscellaneous things . The first microgame I added was a Flappy Bird inspired game called Dodge the Pipes . I originally went in making a full clone of Flappy Bird, but decided to tweak it to be more original and better suited for the microgame format, instead switching to going through the required amount of pipes without getting pushed off screen by them. The second microgame I made, which is still in progress and has bugs and potentially a rework in the cards, is a microgame called Close the Windows . In this microgame, windows spawn and you have to close them. This one still has some bugs, as for whatever reason, very few times the game will completely freeze when spawning the windows, but I aim to fix that by the next devlog. Thanks for reading all the way to the end and/or watching the video. If you have any feedback or suggestions for microgames and other things, PLEASE comment them below. Thank you and see you hopefully soon!"}, {"post_id": 38018, "ts": "2026-07-31T04:56:17Z", "hours": 3.3661, "text": "Day 1 of turning my unfinished game jam demo into a fully polished game. Hello! Quick backstory. The GMTK Game Jam just happened. In case you somehow don’t know what it is, it’s where people from all across the world come together and get 4 days to make a game based off of a theme (which for this jam was count down ) revealed on the first day. The game that I decided to make is a WarioWare inspired game called the World’s Easiest Game, where to win the game and go through with the narrator’s wishes, all you have to do is wait thirty seconds . However, you don’t want to do that, so instead you press the button to play a microgame, which if you win, will add time to the timer. The catch for me however, was that I only had one day , and ended up running out of time to add many things to the game, including some key elements . That takes us to today, where I will be finishing the game and making it even better ! Today was the first day of me finishing this game, and I added MANY sound effects for various situations, and my autoload that saves and carries data between scenes and also carries my music system, which I also added today, which brings in and/or removes instruments based on the intensity of a current moment. I also added a main menu, a splash screen with my developer name at the beginning of the game, and a sarcastic “You Win” screen from the perspective of the narrator. Tomorrow, I want to add even more sound effects, add screen effects, add a pause menu, and start working on adding more microgames. Thanks for reading, and see you tomorrow!"}]...
|
Title: The World's Easiest Game by @dvydvine | Title: The World's Easiest Game by @dvydvine | Stardance
Devlogs:
Day 1 of turning my unfinished game jam demo into a fully polished game. Hello! Quick backstory. The GMTK Game Jam just happened. In case you somehow don’t know what it is, it’s where people from all across the world come together and get 4 days to make a game based off of a theme (which for this jam was count down ) revealed on the first day. The game that I decided to make is a WarioWare inspired game called the World’s Easiest Game, where to win the game and go through with the narrator’s wishes, all you have to do is wait thirty seconds . However, you don’t want to do that, so instead you press the button to play a microgame, which if you win, will add time to the timer. The catch for me however, was that I only had one day , and ended up running out of time to add many things to the game, including some key elements . That takes us to today, where I will be finishing the game and making it even better ! Today was the first day of me finishing this game, and I added MANY sound effects for various situations, and my autoload that saves and carries data between scenes and also carries my music system, which I also added today, which brings in and/or removes instruments based on the intensity of a current moment. I also added a main menu, a splash screen with my developer name at the beginning of the game, and a sarcastic “You Win” screen from the perspective of the narrator. Tomorrow, I want to add even more sound effects, add screen effects, add a pause menu, and start working on adding more microgames. Thanks for reading, and see you tomorrow!
Days 2, 3, and 4 of turning my unfinished game jam demo into a fully polished game. So I found out very quickly daily devlogs are annoying… So I will be switching to whenever I feel like it :D These past couple days I added a lot of things so I decided to post a video instead. I added two new microgames , new popups and sound effects, a new splash screen for Godot before mine, new statistics, a settings menu with saved settings between games, and a bunch of other miscellaneous things . The first microgame I added was a Flappy Bird inspired game called Dodge the Pipes . I originally went in making a full clone of Flappy Bird, but decided to tweak it to be more original and better suited for the microgame format, instead switching to going through the required amount of pipes without getting pushed off screen by them. The second microgame I made, which is still in progress and has bugs and potentially a rework in the cards, is a microgame called Close the Windows . In this microgame, windows spawn and you have to close them. This one still has some bugs, as for whatever reason, very few times the game will completely freeze when spawning the windows, but I aim to fix that by the next devlog. Thanks for reading all the way to the end and/or watching the video. If you have any feedback or suggestions for microgames and other things, PLEASE comment them below. Thank you and see you hopefully soon!
Days 5 to 9 of turning my unfinished game jam demo into a fully polished game. I did a lot… For one thing, I added almost full controller support, which some of is showcased in this video, and has gotten even better since recorded. For another thing, I added two new microgames, one called Do A Pushup , where you perform a quick time event, and Spell the Country , where you get a country flag and you have to spell it before time runs out. I also added a new cursor which isn’t seen in this video, but is very good. However, bad things happened too . I had to remove Close the Windows from last devlog because it kept crashing to the point I had to start debugging from the terminal and the C++ logs, and I even refactored the entire game . However, until I can figure out why it refuses to work 1/100 of the time, the microgame had to go. However, I am looking forward to make a new microgame to replace it and hopefully getting up to 25 microgames ! Please suggest any microgame ideas you have or any suggestions in general, and follow this project so you can see what happens next! Goodbye!...
|
1793159617.6341035
|
1793764417.6341035
|
|
15613
|
AstroPage by @kristiansiska | Stardance
|
kristiansiska
|
1
|
22.19
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-20T17:29:44Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made AstroPage - student platform based on edupage. Milions of students are using edupage for their education but some things are a real pain, like calculating your grades if you have many, or forgeting to sign up for lunch and beeing hungry, or making some reaaaaally boring homework. AstraPage doesn’t want to replace Edupage, it only gives you features that are missing in classical Edupage. You can sign in with your edupage credentials and your school’s custom subdomain (the string before .edupage.org.). AstroPage is never storing your password - it sends login to edupage login endpoint and receives JWT session cookie that it uses to further communicate with edupage api. The biggest cheallanges were actually using the api and trying to get stuff from it that is not in their documentation. This took long hours in jupiter notebook of trial and error. I am proud of this whole project, mostly of the good industry standard dev practices like CICD, encriptions, pre-loading etc… For now, I disabled the let AI make my homework because I am too scared of having a security flaw and getting 20k ai bill when I wake up. For the quality of life improvement I present this: You can calculate your grades inside of this app - sandbox - remove/add grades - full controll. You can sign up for lunch prior a few weeks so you will no longer be forgeting to sign up. Let AI make my homework button for all homework because some if it is really boring. Could you live without it? Yes. Is it a QoL? Also yes.", "repo": "https://github.com/kristiansiska311-ship-it/AstroPage", "demo": "https://astropage.onboard.academy"}]...
|
[{"post_id": 16922, "ts": "202 [{"post_id": 16922, "ts": "2026-06-27T14:14:22Z", "hours": 1.1903, "text": "I had to do a qucik css rework. It got and upgrade. The design now is way more interesting."}, {"post_id": 12634, "ts": "2026-06-20T17:09:08Z", "hours": 1.4478, "text": "I added a phone responsive design, configured and deployed the app on my home RaspberryPi server with CICD working pipeline and all encryption. It was my first time configuring CICD. Wakatime didn’t track my time spent on github and ssh connection on my server ;(. I believe, this is a final step to this project. I learned many things. CI/DC, caching, improved at system design, docker, react, python, learned how useful Jupiter Notebook can be, using cloudflare on higher level. Projects like this are actually helping me become better software engenier."}, {"post_id": 12531, "ts": "2026-06-20T13:48:51Z", "hours": 7.9678, "text": "HELLO. Today I woke up half sick so my parents did not force me to help around the household. Soo I decided that it is time to bring this project one step closer to the end. What changed? Many things changed. There were many thing added in the latest update but 50% of them were not working. AI is good coding assistant but it can’t do magic and you need to write the important stuff yourself or it won’t work. I will start with the homework: When opening homework, you could see only like last 12-16 homework due to the method how it was requested. That changed and now you can see all of the homework since the start of the school year. Added actual “let ai make my homework” functionality. Now, it sends the whole homework with its attachments to gemini with your user specific prompt and shows what gemini returns. It needs some work on it to work 100% but the functionality is there. Next tab: Timetable. Claude gave a pretty good draft for the timetable but 50% of it was missing so I had to manually test the edupage api in my PoC scripts to see the exact output. It took pretty long to get familiar with the api but I managed to make it work. Then I implemented that solution to my app backend. I found a featrue that returns all the missing teachers and substitution for the whole school so I combined this with the schedule - it shows you canceled classes etc… The grades tab hasn’t changed that much beacause it was already working pretty good. Canteen tab: Canteen tab received a big upgrade. I have not talked about it in my devlogs that much but it has really improved. You can see all lunches and menus that that are available in your school canteen. - This was an issue since it worked only half of the time. The debugging process was the same - PoC scripts to test the edupage api and then implementing the solution to the actual app. You can sign in and sign out of lunches and I added auto order feature because sometimes I was forgetting to sign up for lunch. The signing up prior had also not been working for a while and I managed to fix it with the same looong steps of making a poc, talking to api and implementing working solution. Big feature was english/slovak page translation, since I am from Slovakia I made Slovak translation my priority. I learned how to make multilingual pages thanks to this project. But the main features are the ones that people don’t see. I added a caching system, TTL system for data and pre-loading system - When user logs in, app sends all the reqests - grades, canteen, timetable, homework - so when user goes to some tab, the data is already half there and when he switches tabs again, the data doesn’t dissapear. This is a huge UX improvement. It was implemented before but only to grades page and there was no TTL for it so it could get old and misleading. For the sake of UX reload buttons were added so user can manually reload data. Next steps: Hardening, Polishing, Adding better AI support and finally publishing and shipping my project. I feel like I am close to making this really work. Thank you for reading."}, {"post_id": 11237, "ts": "2026-06-18T11:54:24Z", "hours": 5.6511, "text": "Today I was presenting this project at school so I make a presentation branch where I removed all 50% working pages - I was left with the grade calculator. I think it is a great tool because trying to calculate your grades on some more complicated subject can be pain. This grade calculator changes the expirience. Also The whole project had a redesign into this darker more cool theme than the AI slop one. I really like how the page is looking right now. Added: Grade calculator tab Timetable tab - still working on, my api has some request issues for some days. It is weird and I am trying to fix it. Canteen - the school canteen menu and function to sign up week prior - still working on. And dashboard is getting a full redesign."}, {"post_id": 8719, "ts": "2026-06-14T14:16:02Z", "hours": 2.9397, "text": "Soooo. Just finished the tabs. 1. Home - where some basic overview will be. Now, it is only filled with mock data but I am connecting it with backend in the next step. 2. Homework - tab, where students can track their homework - possible, make AI do it for them. The data is connected to backend and is currently working. I am going to implement some best practices such as pre-loading the data once the student logs in so the transition is seamless. 3. page - Canteen - page where students will have better information about their food, food pricing, how does the food look like and such. Edupage has no feature to sign automaticly like 4 weeks prior and sometimes I forgot to sign up for lunch and I am hungry so it is a nice feature to have. ;)"}, {"post_id": 7361, "ts": "2026-06-12T08:28:32Z", "hours": 2.7922, "text": "AstroPage - portal for students using EduPage that will make their student lives easier. This is just vibecoded ui in react. More complex design will be done when the whole project will be working as expected. Now, I am focusing on the backend, security, user privacy and overall system design. I have come to a milestone where the login page works as expected, students can login via their edupage credentials - the passwords are not stored anywhere, the server calls edupage api and tries to log in with it, when sucesfull, only the session is handed to the app so users have maximum privacy. I built the project on my foundations: Fast API skeleton repo, where I have all the setup for my fast api aplications so I am not always building from zero. I am really exited about this project. It will be a life changer for people using edupage. If you have any feature ideas, you can share them with me."}]...
|
Title: AstroPage by @kristiansiska | Stardance
De Title: AstroPage by @kristiansiska | Stardance
Devlogs:
AstroPage - portal for students using EduPage that will make their student lives easier. This is just vibecoded ui in react. More complex design will be done when the whole project will be working as expected. Now, I am focusing on the backend, security, user privacy and overall system design. I have come to a milestone where the login page works as expected, students can login via their edupage credentials - the passwords are not stored anywhere, the server calls edupage api and tries to log in with it, when sucesfull, only the session is handed to the app so users have maximum privacy. I built the project on my foundations: Fast API skeleton repo, where I have all the setup for my fast api aplications so I am not always building from zero. I am really exited about this project. It will be a life changer for people using edupage. If you have any feature ideas, you can share them with me.
Soooo. Just finished the tabs. 1. Home - where some basic overview will be. Now, it is only filled with mock data but I am connecting it with backend in the next step. 2. Homework - tab, where students can track their homework - possible, make AI do it for them. The data is connected to backend and is currently working. I am going to implement some best practices such as pre-loading the data once the student logs in so the transition is seamless. 3. page - Canteen - page where students will have better information about their food, food pricing, how does the food look like and such. Edupage has no feature to sign automaticly like 4 weeks prior and sometimes I forgot to sign up for lunch and I am hungry so it is a nice feature to have. ;)
Today I was presenting this project at school so I make a presentation branch where I removed all 50% working pages - I was left with the grade calculator. I think it is a great tool because trying to calculate your grades on some more complicated subject can be pain. This grade calculator changes the expirience. Also The whole project had a redesign into this darker more cool theme than the AI slop one. I really like how the page is looking right now. Added: Grade calculator tab Timetable tab - still working on, my api has some request issues for some days. It is weird and I am trying to fix it. Canteen - the school canteen menu and function to sign up week prior - still working on. And dashboard is getting a full redesign.
HELLO. Today I woke up half sick so my parents did not force me to help around the household. Soo I decided that it is time to bring this project one step closer to the end. What changed? Many things changed. There were many thing added in the latest update but 50% of them were not working. AI is good coding assistant but it can’t do magic and you need to write the important stuff yourself or it won’t work. I will start with the homework: When opening homework, you could see only like last 12-16 homework due to the method how it was requested. That changed and now you can see all of the homework since the start of the school year. Added actual “let ai make my homework” functionality. Now, it sends the whole homework with its attachments to gemini with your user specific prompt and shows what gemini returns. It needs some work on it to work 100% but the functionality is there. Next tab: Timetable. Claude gave a pretty good draft for the timetable but 50% of it was missing so I had to manually test the edupage api in my PoC scripts to see the exact output. It took pretty long to get familiar with the api but I managed to make it work. Then I implemented that solution to my app backend. I found a featrue that returns all the missing teachers and substitution for the whole school so I combined this with the schedule - it shows you canceled classes etc… The grades tab hasn’t changed that much beacause it was already working pretty good. Canteen tab: Canteen tab received a big upgrade. I have not talked about it in my devlogs that much but it has really improved. You can see all lunches and menus that that are available in your school canteen. - This was an issue since it worked only half of the time. The debugging process was the same - PoC scripts to test the edupage api and then implementing the solution to the actual app. You can sign in and sign out of lunches and I added auto order feature because sometimes I was forgetting to sign up for lunch. The signing up prior had also not been working for a while and I managed to fix it with the same looong steps of making a poc, talking to api and implementing working solution. Big feature was english/slovak page translation, since I am from Slovakia I made Slovak translation my priority. I learned how to make multilingual pages thanks to this project. But the main features are the ones that people don’t see. I added a caching system, TTL system for data and pre-loading system - When user logs in, app sends all the reqests - grades, canteen, timetable, homework - so when user goes to some tab, the data is already half there and when he switches tabs again, the data doesn’t dissapear. This is a huge UX improvement. It was implemented before but only to grades page and there was no TTL for it so it could get old and misleading. For the sake of UX reload buttons were added so user can manually reload data. Next steps: Hardening, Polishing, Adding better AI support and finally publishing and shipping my project. I feel like I am close to making this really work. Thank you for reading.
I added a phone responsive design, configured and deployed the app on my home RaspberryPi server with CICD working pipeline and all encryption. It was my first time configuring CICD. Wakatime didn’t track my time spent on github and ssh connection on my server ;(. I believe, this is a final step to this project. I learned many things. CI/DC, caching, improved at system design, docker, react, python, learned how useful Jupiter Notebook can be, using cloudflare on higher level. Projects like this are actually helping me become better software engenier.
I had to do a qucik css rework. It got and upgrade. The design now is way more interesting.
Ships:
I made AstroPage - student platform based on edupage. Milions of students are using edupage for their education but some things are a real pain, like calculating your grades if you have many, or forgeting to sign up for lunch and beeing hungry, or making some reaaaaally boring homework. AstraPage doesn’t want to replace Edupage, it only gives you features that are missing in classical Edupage. You can sign in with your edupage credentials and your school’s custom subdomain (the string before .edupage.org.). AstroPage is never storing your password - it sends login to edupage login endpoint and receives JWT session cookie that it uses to further communicate with edupage api. The biggest cheallanges were actually using the api and trying to get stuff from it that is not in their documentation. This took long hours in jupiter notebook of trial and error. I am proud of this whole project, mostly of the good industry standard dev practices like CICD, encriptions, pre-loading etc… For now, I disabled the let AI make my homework because I am too scared of having a security flaw and getting 20k ai bill when I wake up. For the quality of life improvement I present this: You can calculate your grades inside of this app - sandbox - remove/add grades - full controll. You can sign up for lunch prior a few weeks so you will no longer be forgeting to sign up. Let AI make my homework button for all homework because some if it is really boring. Could you live without it? Yes. Is it a QoL? Also yes....
|
1793137947.8847196
|
1793224347.8847196
|
|
15985
|
Orcapad by @Right_Bright | Stardance
|
Right_Bright
|
1
|
22.16
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T01:14:45Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is Orcapad (I realized I should’ve probably done the initial ship a while ago)! Orcapad is built for Onshape, made by an Onshape fan. It features: An OLED with a dynamic LVGL-based GUI for keyboard layer info, and active RGB mode/color (when on the RGB keyboard layer) 8 keys for custom macros on each layer to streamline workflow 5 RGB LEDs forming a dynamically updating LED status bar 9 more RGB LEDs for vibes & looks! Orca theming because orcas are awesome This is the first project I’ve actually started & finished, from scratch, with so many first-times, and I loved* every part of it! *ignoring all the hours I spent withering in front of my computer because of silly mistakes TT", "repo": "https://github.com/Right-Bright/Orcapad", "demo": ""}]...
|
[{"post_id": 52749, "ts": "202 [{"post_id": 52749, "ts": "2026-08-23T02:36:56Z", "hours": 3.1617, "text": "Just wanted to say I didn’t mean to put the project back into the review queue… The parts are on the way and I’ll work on an actual demo when I get the parts"}, {"post_id": 36731, "ts": "2026-07-28T23:55:11Z", "hours": 10.9558, "text": "Updates QMK/Firmware It’s pretty much done (other than Raw HID)!! It compiles and passes all QMK Lint checks (which verifies compliance with licenses & QMK standards) LVGL Quick story time: Once upon a time I discovered LVGL through the QMK docs. QMK sent me to V8.2 of the LVGL docs. I said nu-uh and started using the newest version of LVGL. Fun twist: QMK uses V8.2 of LVGL :). Conclusion: I spent at least 4ish hours converting the code because some of the features I was using aren’t in LVGL V8.2 TT. Integration The actual integration was relatively easy, I basically just update certain variables regularly in QMK Compiling The only majorly annoying issue I dealt with while compiling was that LVGL re-defines PRINTF_SUPPORT_LONG_LONG after QMK without checking if it is already defined, so I had to play around with un-defining it in the right spot to fix the warning. There were of course also a plethora of other issues that I ironed out (such as compiling the custom font and images properly) :) ! Next Up! Raw HID"}, {"post_id": 29920, "ts": "2026-07-17T03:00:58Z", "hours": 10.8914, "text": "Updates LVGL GUI The GUI is pretty much all done! The changes are: the home screen now has two animated orcas spinning in circles! (I really really love this feature!) An RGB screen with: an rgb mode indicator/an rgb color indicator 3 live information labels with saturation, value (brightness), and hue/animation speed resized & repositioned layer & volume indicators from the home screen The rgb screen will switch between showing the current mode & animation speed, and color & hue. This allows me to use the space more effectively to show useful information. It took me a little bit of time to get the animation source images compiled properly, and I used Inkscape to make sure the original image downscaled and rotated while staying recognizable (and made a few adjustments in paint). Next QMK integration! I also want to properly set up my coding workspace to have autocomplete and all that for QMK."}, {"post_id": 27000, "ts": "2026-07-12T04:08:33Z", "hours": 16.9633, "text": "Updates LVGL Simulator It took me at least 2 days to get the lvgl simulator working TT. I settled on Visual Studio (also tried Codeblocks and VSCode) because it worked for demos, but it took me forever to get my own code running. TLDR I turned of a setting and it broke it… I just needed to add: lv_delay_ms(lv_timer_handler()); lv_refr_now(NULL); It worked immediately :) Lets just say it was a very bittersweet moment GUI Progress I have the home screen pretty much done, and I’m starting to feel very comfortable coding in LVGL! So far I have: infinite scroll list to show active layer (still need to apply style for the active one) -Has circular scrolling, which took quite some trial and error. I was doing a very roundabout way with manual calculations to get nice animated snapping. But I learned about flags and now the active layer’s button is flagged, which made everything much easier! volume slider (still deciding on it as I would need to mess with Raw HID for it) FYI: The buttons in the GIF are just to test out & showcase how I plan to integrate the layer indicator in QMK Next create RGB info screen actually integrate into QMK"}, {"post_id": 15938, "ts": "2026-06-25T21:52:43Z", "hours": 7.6339, "text": "I have quite a few QMK firmware developments! First off, I am quite amateur at programming, and I’ve never touched C before. So, there have been a lot of new things to learn, which is really good because I’ve been meaning to get more familiar with programming and different languages. Also, I finally decided that I was going to create the Orcapad to streamline my Onshape workflow by populating it with shortcuts. Ok, so currently I have: 4 keyboard layers (three for shortcuts, one for the lEDs) RGB light layers so that I can easily change the LED bar to indicate what layer is on 2 custom keycodes (one to cycle through layers, one to cycle through static RBG colors) An encoder map to simplify customizing it Hopefully all that is set and I don’t have to fix anything :) :) :) :) To be added I still need to add support for the OLED screen, and on that note, I decided to dive into LVGL so I could create a more sophisticated user experience (over standard quantum painter and the basic functionality), and (again) to really help me get more familiar with C. Finishing thoughts :) So far my experience has surprisingly not been too painful, just very time consuming, but for all I know none of what I’ve written so far works TT. Very excited about how its turning out so far though!"}, {"post_id": 10724, "ts": "2026-06-17T16:21:48Z", "hours": 5.8586, "text": "Since my last devlog, I realized that I connected part of the keyboard matrix to the 3.3v output pin, so I had to update the PCB once again (and remove one of the keys since I didn’t have enough pins…again). The PCB is finally completely finished!! I also have a good chunk of the CAD for the case done :). For the case I have 3 printed layers, the bottom that holds the PCB, a middle diffusion layer for the LEDs (just a very thin layer of white PLA that I hope will look nice), and the top layer to make sure everything can be assembled easily. Up next: add finishing touches to the case, add mounting hardware/interface, introduce myself to QMK for the firmware."}, {"post_id": 8498, "ts": "2026-06-14T03:57:16Z", "hours": 5.815, "text": "Long overdue devlog, but tldr: I finished the schematic for the PCB and just about finished the layout and tracing of the board! I essentially worked on the PCB over two days, so the first day I was getting oriented with general PCB design (this is my first PCB), KiCad, keyboard matrixes, etc… For some reason it took me some time to get used to footprints/symbols/and libraries and how to assign them properly, but I got around to it! I also realized I had to get rid of one of my planned rotary encoders because I didn’t have enough pins for it. Then on the second day, I organized the PCB and completed the tracing. Halfway through I decided to add LEDs to the top of every key switch for aesthetics, and to add some more complexity for me. Overall I enjoyed designing it a lot more than I expected to, which was a pleasant surprise. Next up: touch up the PCB (ground fill, rounded corners, silkscreen decor…), and start on the CAD for the case."}]...
|
Title: Orcapad by @Right_Bright | Stardance
Devlo Title: Orcapad by @Right_Bright | Stardance
Devlogs:
Long overdue devlog, but tldr: I finished the schematic for the PCB and just about finished the layout and tracing of the board! I essentially worked on the PCB over two days, so the first day I was getting oriented with general PCB design (this is my first PCB), KiCad, keyboard matrixes, etc… For some reason it took me some time to get used to footprints/symbols/and libraries and how to assign them properly, but I got around to it! I also realized I had to get rid of one of my planned rotary encoders because I didn’t have enough pins for it. Then on the second day, I organized the PCB and completed the tracing. Halfway through I decided to add LEDs to the top of every key switch for aesthetics, and to add some more complexity for me. Overall I enjoyed designing it a lot more than I expected to, which was a pleasant surprise. Next up: touch up the PCB (ground fill, rounded corners, silkscreen decor…), and start on the CAD for the case.
Since my last devlog, I realized that I connected part of the keyboard matrix to the 3.3v output pin, so I had to update the PCB once again (and remove one of the keys since I didn’t have enough pins…again). The PCB is finally completely finished!! I also have a good chunk of the CAD for the case done :). For the case I have 3 printed layers, the bottom that holds the PCB, a middle diffusion layer for the LEDs (just a very thin layer of white PLA that I hope will look nice), and the top layer to make sure everything can be assembled easily. Up next: add finishing touches to the case, add mounting hardware/interface, introduce myself to QMK for the firmware.
I have quite a few QMK firmware developments! First off, I am quite amateur at programming, and I’ve never touched C before. So, there have been a lot of new things to learn, which is really good because I’ve been meaning to get more familiar with programming and different languages. Also, I finally decided that I was going to create the Orcapad to streamline my Onshape workflow by populating it with shortcuts. Ok, so currently I have: 4 keyboard layers (three for shortcuts, one for the lEDs) RGB light layers so that I can easily change the LED bar to indicate what layer is on 2 custom keycodes (one to cycle through layers, one to cycle through static RBG colors) An encoder map to simplify customizing it Hopefully all that is set and I don’t have to fix anything :) :) :) :) To be added I still need to add support for the OLED screen, and on that note, I decided to dive into LVGL so I could create a more sophisticated user experience (over standard quantum painter and the basic functionality), and (again) to really help me get more familiar with C. Finishing thoughts :) So far my experience has surprisingly not been too painful, just very time consuming, but for all I know none of what I’ve written so far works TT. Very excited about how its turning out so far though!
Updates LVGL Simulator It took me at least 2 days to get the lvgl simulator working TT. I settled on Visual Studio (also tried Codeblocks and VSCode) because it worked for demos, but it took me forever to get my own code running. TLDR I turned of a setting and it broke it… I just needed to add: lv_delay_ms(lv_timer_handler()); lv_refr_now(NULL); It worked immediately :) Lets just say it was a very bittersweet moment GUI Progress I have the home screen pretty much done, and I’m starting to feel very comfortable coding in LVGL! So far I have: infinite scroll list to show active layer (still need to apply style for the active one) -Has circular scrolling, which took quite some trial and error. I was doing a very roundabout way with manual calculations to get nice animated snapping. But I learned about flags and now the active layer’s button is flagged, which made everything much easier! volume slider (still deciding on it as I would need to mess with Raw HID for it) FYI: The buttons in the GIF are just to test out & showcase how I plan to integrate the layer indicator in QMK Next create RGB info screen actually integrate into QMK
Updates LVGL GUI The GUI is pretty much all done! The changes are: the home screen now has two animated orcas spinning in circles! (I really really love this feature!) An RGB screen with: an rgb mode indicator/an rgb color indicator 3 live information labels with saturation, value (brightness), and hue/animation speed resized & repositioned layer & volume indicators from the home screen The rgb screen will switch between showing the current mode & animation speed, and color & hue. This allows me to use the space more effectively to show useful information. It took me a little bit of time to get the animation source images compiled properly, and I used Inkscape to make sure the original image downscaled and rotated while staying recognizable (and made a few adjustments in paint). Next QMK integration! I also want to properly set up my coding workspace to have autocomplete and all that for QMK.
Updates QMK/Firmware It’s pretty much done (other than Raw HID)!! It compiles and passes all QMK Lint checks (which verifies compliance with licenses & QMK standards) LVGL Quick story time: Once upon a time I discovered LVGL through the QMK docs. QMK sent me to V8.2 of the LVGL docs. I said nu-uh and started using the newest version of LVGL. Fun twist: QMK uses V8.2 of LVGL :). Conclusion: I spent at least 4ish hours converting the code because some of the features I was using aren’t in LVGL V8.2 TT. Integration The actual integration was relatively easy, I basically just update certain variables regularly in QMK Compiling The only majorly annoying issue I dealt with while compiling was that LVGL re-defines PRINTF_SUPPORT_LONG_LONG after QMK without checking if it is already defined, so I had to play around with un-defining it in the right spot to fix the warning. There were of course also a plethora of other issues that I ironed out (such as compiling the custom font and images properly) :) ! Next Up! Raw HID
Just wanted to say I didn’t mean to put the project back into the review queue… The parts are on the way and I’ll work on an actual demo when I get the parts
Ships:
This is Orcapad (I realized I should’ve probably done the initial ship a while ago)! Orcapad is built for Onshape, made by an Onshape fan. It features: An OLED with a dynamic LVGL-based GUI for keyboard layer info, and active RGB mode/color (when on the RGB keyboard layer) 8 keys for custom macros on each layer to streamline workflow 5 RGB LEDs forming a dynamically updating LED status bar 9 more RGB LEDs for vibes & looks! Orca theming because orcas are awesome This is the first project I’ve actually started & finished, from scratch, with so many first-times, and I loved* every part of it! *ignoring all the hours I spent withering in front of my computer because of silly mistakes TT...
|
1793112790.0071833
|
1793199190.0071833
|
|
892
|
Stardance Addons by @Korange | Stardance
|
Korange
|
0
|
22.14
|
0
|
[]
|
[{"post_id": 17532, "ts": "202 [{"post_id": 17532, "ts": "2026-06-28T11:08:27Z", "hours": 4.855, "text": "I’ve added a feature that autosaves the Devlog you’re currently typing, so it won’t disappear even if you reload the page! You can also use this feature from the popup. It was quite a challenge, but I’m happy with how it turned out :)"}, {"post_id": 12309, "ts": "2026-06-20T02:49:15Z", "hours": 3.6497, "text": "I’ve finished building the foundation for the add-on system, like the toggle features, and for the first add-on, I added the ability to post Devlogs directly from the project page. To make this happen, I added a new add-on API function that lets scripts run only when you’re on a path that meets certain criteria. It’s usually tricky to handle this in an SPA, but I found out that Turbo (the Rails framework Stardance uses) fires a turbo:render event on the document during page transitions, and that did the trick! It turned out super smooth, and I’m really happy with how it works :)"}, {"post_id": 2709, "ts": "2026-06-05T12:50:02Z", "hours": 2.2378, "text": "I had a really hard time with this, but I finally finished the feature that lets you post devlogs right from the popup. I initially tried using fetch, but it was tough because of Rails’ CSRF protection and Origin verification. So instead, I use the chrome.windows API to open a window for Stardance, then inject a script using the scripting API and content scripts to fill out and submit the form for the user. It’s pretty tricky, but I added a few touches to keep the UX smooth, like making it look like a loading screen in the middle of the popup. For example, to close the window right after posting, I save a specific value to sessionStorage first. Then, the content script checks for that value, sends a postMessage to the popup, and the popup catches it and calls the API to close the window. It makes the whole submission process feel seamless."}, {"post_id": 2018, "ts": "2026-06-04T09:19:45Z", "hours": 4.2333, "text": "You can now check out Devlogs from the popup, and I’ve added a post form. I’ve also worked on stuff like skeleton loading and some fine-tuned handling. But honestly, I just can’t get the Devlog submission to work right. I’ve been struggling with it for hours, but between the specific request requirements and Rails’ CSRF protection, nothing is clicking. I thought of a few tricky workarounds, but even those aren’t doing the trick. Part of the reason I’m posting this Devlog is actually to see if I can figure out the right way to handle these submission requests."}, {"post_id": 1195, "ts": "2026-06-03T01:37:09Z", "hours": 1.7881, "text": "I’ve recreated the stardance postform experience, attachments included!"}, {"post_id": 759, "ts": "2026-06-02T12:21:18Z", "hours": 2.6217, "text": "Working on popup page. You can post a Devlog immediately without even opening Stardance."}, {"post_id": 560, "ts": "2026-06-02T01:43:23Z", "hours": 1.7186, "text": "I continued working on the settings page, and also worked on how add-ons are handled in the codebase as well as the interface"}, {"post_id": 244, "ts": "2026-06-01T12:12:57Z", "hours": 0.7183, "text": "I’m working on the UI for the settings page. There’s no logic yet. Also, I finished a cool-looking logo."}, {"post_id": 229, "ts": "2026-06-01T10:47:49Z", "hours": 0.3186, "text": "Inited an extension using WXT! (I tried forking an existing one for another site and using Plasmo too, but this is what I’ve settled on for now)."}]...
|
Title: Stardance Addons by @Korange | Stardance
D Title: Stardance Addons by @Korange | Stardance
Devlogs:
Inited an extension using WXT! (I tried forking an existing one for another site and using Plasmo too, but this is what I’ve settled on for now).
I’m working on the UI for the settings page. There’s no logic yet. Also, I finished a cool-looking logo.
I continued working on the settings page, and also worked on how add-ons are handled in the codebase as well as the interface
Working on popup page. You can post a Devlog immediately without even opening Stardance.
I’ve recreated the stardance postform experience, attachments included!
You can now check out Devlogs from the popup, and I’ve added a post form. I’ve also worked on stuff like skeleton loading and some fine-tuned handling. But honestly, I just can’t get the Devlog submission to work right. I’ve been struggling with it for hours, but between the specific request requirements and Rails’ CSRF protection, nothing is clicking. I thought of a few tricky workarounds, but even those aren’t doing the trick. Part of the reason I’m posting this Devlog is actually to see if I can figure out the right way to handle these submission requests.
I had a really hard time with this, but I finally finished the feature that lets you post devlogs right from the popup. I initially tried using fetch, but it was tough because of Rails’ CSRF protection and Origin verification. So instead, I use the chrome.windows API to open a window for Stardance, then inject a script using the scripting API and content scripts to fill out and submit the form for the user. It’s pretty tricky, but I added a few touches to keep the UX smooth, like making it look like a loading screen in the middle of the popup. For example, to close the window right after posting, I save a specific value to sessionStorage first. Then, the content script checks for that value, sends a postMessage to the popup, and the popup catches it and calls the API to close the window. It makes the whole submission process feel seamless.
I’ve finished building the foundation for the add-on system, like the toggle features, and for the first add-on, I added the ability to post Devlogs directly from the project page. To make this happen, I added a new add-on API function that lets scripts run only when you’re on a path that meets certain criteria. It’s usually tricky to handle this in an SPA, but I found out that Turbo (the Rails framework Stardance uses) fires a turbo:render event on the document during page transitions, and that did the trick! It turned out super smooth, and I’m really happy with how it works :)
I’ve added a feature that autosaves the Devlog you’re currently typing, so it won’t disappear even if you reload the page! You can also use this feature from the popup. It was quite a challenge, but I’m happy with how it turned out :)...
|
1793192034.4289105
|
1793796834.4289105
|
|
19533
|
Cricket by @hyphen-26 | Stardance
|
hyphen-26
|
1
|
22.14
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T04:18:21Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a working web OS named: #Cricket! Cricket has a few basic features: a text editor (Notes) a terminal (doesn’t do much at the moment) a browser and an about page. I’m planning on adding some other stuff soon, but this is it for now.", "repo": "https://github.com/26097ek/WebOS", "demo": "https://26097ek.github.io/WebOS/"}]...
|
[{"post_id": 28102, "ts": "202 [{"post_id": 28102, "ts": "2026-07-14T04:56:50Z", "hours": 5.1422, "text": "Devlog #4: Music Player I made a music player! I used some AI since it’s been a while since I coded JavaScript, but I put together the thing myself. Here’s how it works. First, I get the file from the user in the form of <input id=\"musicFile\" accept\"audio/*\" type=\"file\"> . Then, I listen for a change in the input by adding an event listener: musicFile.addEventListener(\"change\", loadMusic); . Once the user adds a file, I fetch the file : const file = this.files[0]; . Then I assign it to a blob URL: musicURL = URL.createObjectURL(file); . Next, I assign the blob URL to the source tag: musicSource.src = musicURL; . Finally, I reload the audio tag for the changes to take place: musicPlayer.load(); . Here’s the code: HTML Code: <input id= \"musicFile\" type= \"file\" accept= \"audio/*\" > <audio id= \"musicPlayer\" controls > <source id= \"musicSource\" src= \"\" > </audio> JavaScript Code: function loadMusic () { const file = this . files [ 0 ]; if ( file ) { if ( globalThis . musicURLblob ){ URL . revokeObjectURL ( globalThis . musicURLblob ); } globalThis . musicURLblob = URL . createObjectURL ( file ); musicSource . src = globalThis . musicURLblob ; musicPlayer . load (); musicPlayer . play (); } } let musicURLblob = null ; const musicFile = document . querySelector ( \" #musicFile \" ); const musicSource = document . querySelector ( \" #musicSource \" ); const musicPlayer = document . querySelector ( \" #musicPlayer \" ); musicFile . addEventListener ( \" change \" , loadMusic );"}, {"post_id": 17221, "ts": "2026-06-27T22:39:36Z", "hours": 0.4517, "text": "Devlog 3: About Screen About my project:"}, {"post_id": 17143, "ts": "2026-06-27T20:36:07Z", "hours": 0.5508, "text": "Browser!! I’ve created a browser! Most links don’t work(because it’s an <iframe>)"}, {"post_id": 16788, "ts": "2026-06-27T08:01:37Z", "hours": 16.0978, "text": "Cricket, a very basic OS Cricket is a very basic operating system. When it’s done, it will have a lot of features, including: a text editor [✓], a terminal [-], a web browser [-], a media player/viewer [ ], and a bunch of other stuff. So far, I’ve done the first one, the second two are in progress, and the third has not been started yet. Here is an image:"}]...
|
Title: Cricket by @hyphen-26 | Stardance
Devlogs: Title: Cricket by @hyphen-26 | Stardance
Devlogs:
Cricket, a very basic OS Cricket is a very basic operating system. When it’s done, it will have a lot of features, including: a text editor [✓], a terminal [-], a web browser [-], a media player/viewer [ ], and a bunch of other stuff. So far, I’ve done the first one, the second two are in progress, and the third has not been started yet. Here is an image:
Browser!! I’ve created a browser! Most links don’t work(because it’s an <iframe>)
Devlog 3: About Screen About my project:
Devlog #4: Music Player I made a music player! I used some AI since it’s been a while since I coded JavaScript, but I put together the thing myself. Here’s how it works. First, I get the file from the user in the form of <input id="musicFile" accept"audio/*" type="file"> . Then, I listen for a change in the input by adding an event listener: musicFile.addEventListener("change", loadMusic); . Once the user adds a file, I fetch the file : const file = this.files[0]; . Then I assign it to a blob URL: musicURL = URL.createObjectURL(file); . Next, I assign the blob URL to the source tag: musicSource.src = musicURL; . Finally, I reload the audio tag for the changes to take place: musicPlayer.load(); . Here’s the code: HTML Code: <input id= "musicFile" type= "file" accept= "audio/*" > <audio id= "musicPlayer" controls > <source id= "musicSource" src= "" > </audio> JavaScript Code: function loadMusic () { const file = this . files [ 0 ]; if ( file ) { if ( globalThis . musicURLblob ){ URL . revokeObjectURL ( globalThis . musicURLblob ); } globalThis . musicURLblob = URL . createObjectURL ( file ); musicSource . src = globalThis . musicURLblob ; musicPlayer . load (); musicPlayer . play (); } } let musicURLblob = null ; const musicFile = document . querySelector ( " #musicFile " ); const musicSource = document . querySelector ( " #musicSource " ); const musicPlayer = document . querySelector ( " #musicPlayer " ); musicFile . addEventListener ( " change " , loadMusic );
Ships:
I made a working web OS named: #Cricket! Cricket has a few basic features: a text editor (Notes) a terminal (doesn’t do much at the moment) a browser and an about page. I’m planning on adding some other stuff soon, but this is it for now....
|
1793242162.7410479
|
1793328562.7410479
|
|
52072
|
diet coke fridge by @kuratus | Stardance
|
kuratus
|
0
|
22.14
|
0
|
[]
|
[{"post_id": 61666, "ts": "202 [{"post_id": 61666, "ts": "2026-09-04T18:14:38Z", "hours": 5.2347, "text": "complete the backend of firmware to control all components and have build basic frontend"}, {"post_id": 58460, "ts": "2026-08-30T21:34:05Z", "hours": 8.685, "text": "i complete building my fridge body model ! it has 4 main parts , the main part where we can store things to cool lower part , here i will store my power supply upper part , here i will put my electronics components like mcu , drivers etc.. back part , here i will place a radiator i am also working on its firmware , rn i am building its api to use all sensors"}, {"post_id": 53336, "ts": "2026-08-23T20:29:34Z", "hours": 8.2239, "text": "i build firmware for my diet coke fridge i design my own logo in black and white and convert it to bitmap so that i can display it in my fridge’s display i implement boot stage ( display boot image) , error stage , and check stage where i check all sensors of my fridge right now it does not check anything coz i have not yet decided that which sensors will be connected to which and i also build log system , system log will be shown while running check stage"}]...
|
Title: diet coke fridge by @kuratus | Stardance
D Title: diet coke fridge by @kuratus | Stardance
Devlogs:
i build firmware for my diet coke fridge i design my own logo in black and white and convert it to bitmap so that i can display it in my fridge’s display i implement boot stage ( display boot image) , error stage , and check stage where i check all sensors of my fridge right now it does not check anything coz i have not yet decided that which sensors will be connected to which and i also build log system , system log will be shown while running check stage
i complete building my fridge body model ! it has 4 main parts , the main part where we can store things to cool lower part , here i will store my power supply upper part , here i will put my electronics components like mcu , drivers etc.. back part , here i will place a radiator i am also working on its firmware , rn i am building its api to use all sensors
complete the backend of firmware to control all components and have build basic frontend...
|
1792695058.3238347
|
1793299858.3238347
|
|
49834
|
Ocean Board by @JoonHyuk | Stardance
|
JoonHyuk
|
0
|
22.13
|
0
|
[]
|
[{"post_id": 48325, "ts": "202 [{"post_id": 48325, "ts": "2026-08-16T17:10:57Z", "hours": 22.1294, "text": "Ocean Board August 17, 2026 · 11 hours, one sitting I finished Ocean Board today. Ocean Board is a custom devboard I designed around the RP2040 — my own take on what a Pico-style board should look like, built for the stuff I actually want to do with it instead of whatever the off-the-shelf version assumes. I sat down and just didn’t stop until it was done. Eleven hours later, it’s real. Why I built this I wanted a board that was mine — something I understood down to every trace and part choice, not just another Pico clone I bought off a shelf. RP2040s are everywhere, but building my own version meant I got to decide exactly what went on it and why. What’s actually on it RP2040 — the chip doing all the thinking W25Q128 — 16MB of external flash, because I didn’t want to be tight on storage later TLV62568 buck converter — keeping power clean and regulated Two 16-pin GPIO headers (left and right) so I’ve got breakout room to actually build things on top of this BOOTSEL and RESET buttons — small, but you don’t appreciate them until you’re stuck without one Micro-USB for power and programming The usual supporting cast of caps, an inductor, and a couple of precision resistors making sure everything plays nice The 11 hours Honestly it was one of those sessions where I sat down expecting to make a dent and just… didn’t stop. Nailing down the BOM, double-checking footprints, assembly, and then the moment that actually matters — powering it on for the first time and finding out if eleven hours of work was going to boot or smoke. (This is the part I want you to fill in — what actually went wrong, what almost didn’t work, the moment it powered on, anything you had to re-solder or debug. That’s the stuff that makes a devlog feel real instead of a spec sheet.) What’s next Flash something basic on it — blink an LED, get USB serial talking Push the power regulation a bit to see how it holds up under load Write up the GPIO pinout properly so I’m not guessing later Think about a v2 — enclosure, more flash, maybe a different connector Notes to self Eleven hours is a long single sitting — next time I should actually track where the time goes. Also already have a BOM scaled up for a 10-board batch if I ever want to build more than one of these. More devlogs coming as I start actually building on top of this thing."}]...
|
Title: Ocean Board by @JoonHyuk | Stardance
Devlo Title: Ocean Board by @JoonHyuk | Stardance
Devlogs:
Ocean Board August 17, 2026 · 11 hours, one sitting I finished Ocean Board today. Ocean Board is a custom devboard I designed around the RP2040 — my own take on what a Pico-style board should look like, built for the stuff I actually want to do with it instead of whatever the off-the-shelf version assumes. I sat down and just didn’t stop until it was done. Eleven hours later, it’s real. Why I built this I wanted a board that was mine — something I understood down to every trace and part choice, not just another Pico clone I bought off a shelf. RP2040s are everywhere, but building my own version meant I got to decide exactly what went on it and why. What’s actually on it RP2040 — the chip doing all the thinking W25Q128 — 16MB of external flash, because I didn’t want to be tight on storage later TLV62568 buck converter — keeping power clean and regulated Two 16-pin GPIO headers (left and right) so I’ve got breakout room to actually build things on top of this BOOTSEL and RESET buttons — small, but you don’t appreciate them until you’re stuck without one Micro-USB for power and programming The usual supporting cast of caps, an inductor, and a couple of precision resistors making sure everything plays nice The 11 hours Honestly it was one of those sessions where I sat down expecting to make a dent and just… didn’t stop. Nailing down the BOM, double-checking footprints, assembly, and then the moment that actually matters — powering it on for the first time and finding out if eleven hours of work was going to boot or smoke. (This is the part I want you to fill in — what actually went wrong, what almost didn’t work, the moment it powered on, anything you had to re-solder or debug. That’s the stuff that makes a devlog feel real instead of a spec sheet.) What’s next Flash something basic on it — blink an LED, get USB serial talking Push the power regulation a bit to see how it holds up under load Write up the GPIO pinout properly so I’m not guessing later Think about a v2 — enclosure, more flash, maybe a different connector Notes to self Eleven hours is a long single sitting — next time I should actually track where the time goes. Also already have a BOM scaled up for a 10-board batch if I ever want to build more than one of these. More devlogs coming as I start actually building on top of this thing....
|
1792605321.2622812
|
1793210121.2622812
|
|
52671
|
LiminOS by @endrcc | Stardance
|
endrcc
|
0
|
22.12
|
0
|
[]
|
[{"post_id": 61434, "ts": "202 [{"post_id": 61434, "ts": "2026-09-04T10:46:39Z", "hours": 14.3744, "text": "added a boot up n shutdown sequence boot up automatically starts the OS but you can skip the sequence if you want, shut down just lets you know you can close this tab and dims out added ability to scroll in teh galery the floaty eye things can now be moved aroudn! diary which is a like a notes app now saves ur notes suggest sm ideas I can add for the webOS-2 mission"}, {"post_id": 52126, "ts": "2026-08-22T06:53:19Z", "hours": 7.7436, "text": "LiminOS! a WebOS inspired by dreamcore Been working on this for a while, made some changes last 8 hours! Added a browser with a working wikipedia changed UI for dream.fm added some wallpapers added functioning color picker for paint linked github to browser boot up and shut down animation(sort of) LiminOS consists of: diary- which is basically a note app dream.fm- music player settings liminOS net calc void://- basically a terminal gallery payphone- a sort of minigame like thing? u can chat with it tho it has built in responses paint ?????- somethings watching 👀👀👀👀👀👀👀👀 issues: gotta fix fullscreen as doesnt really cover the entire screen minimizing gonna post the entire thing soon!"}]...
|
Title: LiminOS by @endrcc | Stardance
Devlogs:
Li Title: LiminOS by @endrcc | Stardance
Devlogs:
LiminOS! a WebOS inspired by dreamcore Been working on this for a while, made some changes last 8 hours! Added a browser with a working wikipedia changed UI for dream.fm added some wallpapers added functioning color picker for paint linked github to browser boot up and shut down animation(sort of) LiminOS consists of: diary- which is basically a note app dream.fm- music player settings liminOS net calc void://- basically a terminal gallery payphone- a sort of minigame like thing? u can chat with it tho it has built in responses paint ?????- somethings watching 👀👀👀👀👀👀👀👀 issues: gotta fix fullscreen as doesnt really cover the entire screen minimizing gonna post the entire thing soon!
added a boot up n shutdown sequence boot up automatically starts the OS but you can skip the sequence if you want, shut down just lets you know you can close this tab and dims out added ability to scroll in teh galery the floaty eye things can now be moved aroudn! diary which is a like a notes app now saves ur notes suggest sm ideas I can add for the webOS-2 mission...
|
1792929151.6588185
|
1793793151.6588185
|
|
53205
|
8-bit Breadboard Computer by @Stylt | Stardance
|
Stylt
|
0
|
22.1
|
0
|
[]
|
[{"post_id": 63131, "ts": "202 [{"post_id": 63131, "ts": "2026-09-06T19:21:00Z", "hours": 0.3833, "text": "Devlog #11 -learned about J-K Flip Flop (Ben Eater)"}, {"post_id": 62401, "ts": "2026-09-05T18:57:18Z", "hours": 0.7003, "text": "#Devlog #10 -watched some Ben Eater videos about 8-bit computer"}, {"post_id": 61607, "ts": "2026-09-04T16:20:18Z", "hours": 1.2, "text": "Devlog #9 -watched Ben Eater videos -trying to figure out the output and control"}, {"post_id": 61010, "ts": "2026-09-03T18:25:15Z", "hours": 0.7333, "text": "Devlog #8 -made IR (instruction register)"}, {"post_id": 60405, "ts": "2026-09-02T18:23:17Z", "hours": 1.1333, "text": "Devlog #8 -worked on control and output"}, {"post_id": 59772, "ts": "2026-09-01T18:22:40Z", "hours": 2.0333, "text": "Devlog #7 -made a part of control and output logic -put some decoupling caps"}, {"post_id": 58869, "ts": "2026-08-31T13:23:34Z", "hours": 3.1364, "text": "Devlog #6 -made RAM & program counter watched some videos about RAM from Ben Eater Next: Output and control logic"}, {"post_id": 56518, "ts": "2026-08-28T09:56:11Z", "hours": 2.0667, "text": "Devlog #5 -made register A, B -made ALU Next: Memory RAM"}, {"post_id": 56174, "ts": "2026-08-27T20:12:21Z", "hours": 1.7833, "text": "Devlog #4 -made clock module from Ben Eater 8-bit computer -next registers"}, {"post_id": 55128, "ts": "2026-08-26T16:18:58Z", "hours": 1.85, "text": "Devlog #3 -made clock module -made ALU -made registers"}, {"post_id": 53847, "ts": "2026-08-24T15:27:39Z", "hours": 3.0333, "text": "Devlog #2 -Searched what components I need -Made a shopping list Next: Making Architecture in Logism!!!"}, {"post_id": 53037, "ts": "2026-08-23T13:00:33Z", "hours": 4.0486, "text": "#Devlog 1 -searched about it -gathered information"}]...
|
Title: 8-bit Breadboard Computer by @Stylt | Stard Title: 8-bit Breadboard Computer by @Stylt | Stardance
Devlogs:
#Devlog 1 -searched about it -gathered information
Devlog #2 -Searched what components I need -Made a shopping list Next: Making Architecture in Logism!!!
Devlog #3 -made clock module -made ALU -made registers
Devlog #4 -made clock module from Ben Eater 8-bit computer -next registers
Devlog #5 -made register A, B -made ALU Next: Memory RAM
Devlog #6 -made RAM & program counter watched some videos about RAM from Ben Eater Next: Output and control logic
Devlog #7 -made a part of control and output logic -put some decoupling caps
Devlog #8 -worked on control and output
Devlog #8 -made IR (instruction register)
Devlog #9 -watched Ben Eater videos -trying to figure out the output and control
#Devlog #10 -watched some Ben Eater videos about 8-bit computer
Devlog #11 -learned about J-K Flip Flop (Ben Eater)...
|
1792738423.0038278
|
1793343223.0038278
|
|
45278
|
Athenaeum by @DamnSon | Stardance
|
DamnSon
|
0
|
22.05
|
0
|
[]
|
[{"post_id": 76653, "ts": "202 [{"post_id": 76653, "ts": "2026-10-04T08:26:51Z", "hours": 5.5694, "text": "Grinded on the front end of the project tool shit lot of time Had to use chatgpt for help (i aint that creative)"}, {"post_id": 71925, "ts": "2026-09-21T19:45:44Z", "hours": 2.4569, "text": "Devlog — September 22, 2026 Today was a big day for Athenaeum. Got the OpenRouter LLM integration working with the RAG pipeline. Athenaeum can now answer questions from uploaded documents. Added sources to show where the answers come from. Added and tested AI-powered document summaries. Fixed user-level document filtering for safer retrieval. Started the frontend with React + Vite. Settled on a warm, minimal, research-focused visual style. Next up: building the Athenaeum UI and connecting it to the backend. Today felt like the point where Athenaeum started becoming an actual product."}, {"post_id": 70759, "ts": "2026-09-19T18:26:13Z", "hours": 0.4097, "text": "Devlog — Document Ingestion & Chunking Extended Athenaeum’s Knowledge System with the first stage of the document processing pipeline. Completed: Added PDF document upload support Implemented PDF text extraction using pypdf Added POST /api/v1/knowledge/upload Automatically created a KnowledgeItem from uploaded PDFs Preserved authenticated user ownership for uploaded documents Added the DocumentChunk database model Added KnowledgeItemId relationship for document chunks Added chunk ordering using ChunkIndex Implemented character-based text chunking Added configurable chunk size and overlap Persisted extracted chunks in PostgreSQL Successfully tested PDF ingestion with a real document Verified that the uploaded document was split into multiple chunks Current pipeline: PDF → Text Extraction → KnowledgeItem → Text Chunking → DocumentChunk → PostgreSQL Example: KnowledgeItem #7 ├── Chunk 0 ├── Chunk 1 ├── Chunk 2 └── Chunk 3 Current API: POST /api/v1/knowledge GET /api/v1/knowledge GET /api/v1/knowledge/{KnowledgeItemId} PATCH /api/v1/knowledge/{KnowledgeItemId} DELETE /api/v1/knowledge/{KnowledgeItemId} POST /api/v1/knowledge/upload Next: Add embeddings to document chunks Configure vector storage with pgvector Implement semantic similarity search"}, {"post_id": 65009, "ts": "2026-09-09T19:56:13Z", "hours": 0.7336, "text": "Devlog — Document Ingestion Started the document ingestion pipeline for Athenaeum. Completed: Added PDF text extraction using pypdf Added PDF upload endpoint Connected document extraction to the Knowledge System Automatically created knowledge items from uploaded PDFs Preserved authenticated user ownership Stored extracted document content in PostgreSQL Current API: POST /api/v1/knowledge GET /api/v1/knowledge GET /api/v1/knowledge/{KnowledgeItemId} PATCH /api/v1/knowledge/{KnowledgeItemId} DELETE /api/v1/knowledge/{KnowledgeItemId} POST /api/v1/knowledge/upload Next: Add document chunking Generate embeddings Store vector representations Implement semantic search"}, {"post_id": 51279, "ts": "2026-08-20T20:22:12Z", "hours": 1.6228, "text": "Devlog - Knowledge System: Item Creation Have implemented the base for Athenaeum’s Knowledge system. Done: • Created the KnowledgeItem SQLAlchemy model with the UserOwnable trait; • Added the title, content, type, source_url fields plus the timestamps; • Created the request/response schemas; • Implemented the knowledge_services service; • Created the protected POST /api/v1/knowledge endpoint; • Integrated JWT auth so that the user’s items are tied to their account; • Updated Alembic migrations; • Handled existing records when adding the UpdatedAt field; • Created the first item in Postgres. The current API endpoint is POST /api/v1/knowledge. Further steps are to implement the list of user items,getitem, update and delete endpoints."}, {"post_id": 45902, "ts": "2026-08-12T17:33:31Z", "hours": 2.9003, "text": "Devlog — User Management & Password RecoveryBuilt the next layer of Athenaeum’s authentication and user-management system.Implemented:Redis-backed password reset tokens with expiration Forgot-password and reset-password APIs Secure password hashing and password updates Refresh-token rotation and revocation User roles with Alembic database migration Authenticated /users/me endpoint User profile/username updates JWT-protected user routes PostgreSQL persistence for user and authentication data Athenaeum now has a solid foundation for user management, account security, and role-based authorization. (Y’all might think why did it take so much timee, dude those api calls T_T, it was tough just so you know)"}, {"post_id": 44788, "ts": "2026-08-10T19:59:28Z", "hours": 6.2336, "text": "Devlog — Authentication System v2 Built a Production-Ready Authentication Flow Athenaeum’s authentication system is now significantly more complete. Implemented a complete access + refresh token architecture with: JWT-based access tokens for authenticated API requests Long-lived refresh tokens for maintaining user sessions Secure refresh-token hashing before storing tokens in PostgreSQL Token expiration to invalidate stale refresh tokens Refresh-token rotation on every successful refresh Token revocation to invalidate previously used refresh tokens PostgreSQL-backed refresh-token persistence using SQLAlchemy Alembic migrations for database schema management OAuth2-compatible authentication integrated with FastAPI Swagger Protected API routes using JWT-based dependency injection"}, {"post_id": 44160, "ts": "2026-08-09T18:51:00Z", "hours": 1.3933, "text": "Implemented the initial authentication and user management system for Athenaeum Completed: Created the User Database model Added authentication and user schemas Implemented authentication and user API routed Added Password hashing and security utilities Created the authentication service layer Set up database session management Configured application settings Added Redis client integration Set up Alembic database migrations Created the initial users table migration Organized the backend into API , core , database , schemas and services The backend now has a structured foundation for authentication and user"}, {"post_id": 42953, "ts": "2026-08-07T22:48:11Z", "hours": 0.7294, "text": "Initialized the Athenaeum Backend Today’s progress: Created backend project structure Added Docker Compose services Connected PostgreSQL and Redis Configured FastAPI application Set up database configuration Improved .gitignore The development environment is fully operational. Next milestone is implementing database models and authentication."}]...
|
Title: Athenaeum by @DamnSon | Stardance
Devlogs: Title: Athenaeum by @DamnSon | Stardance
Devlogs:
Initialized the Athenaeum Backend Today’s progress: Created backend project structure Added Docker Compose services Connected PostgreSQL and Redis Configured FastAPI application Set up database configuration Improved .gitignore The development environment is fully operational. Next milestone is implementing database models and authentication.
Implemented the initial authentication and user management system for Athenaeum Completed: Created the User Database model Added authentication and user schemas Implemented authentication and user API routed Added Password hashing and security utilities Created the authentication service layer Set up database session management Configured application settings Added Redis client integration Set up Alembic database migrations Created the initial users table migration Organized the backend into API , core , database , schemas and services The backend now has a structured foundation for authentication and user
Devlog — Authentication System v2 Built a Production-Ready Authentication Flow Athenaeum’s authentication system is now significantly more complete. Implemented a complete access + refresh token architecture with: JWT-based access tokens for authenticated API requests Long-lived refresh tokens for maintaining user sessions Secure refresh-token hashing before storing tokens in PostgreSQL Token expiration to invalidate stale refresh tokens Refresh-token rotation on every successful refresh Token revocation to invalidate previously used refresh tokens PostgreSQL-backed refresh-token persistence using SQLAlchemy Alembic migrations for database schema management OAuth2-compatible authentication integrated with FastAPI Swagger Protected API routes using JWT-based dependency injection
Devlog — User Management & Password RecoveryBuilt the next layer of Athenaeum’s authentication and user-management system.Implemented:Redis-backed password reset tokens with expiration Forgot-password and reset-password APIs Secure password hashing and password updates Refresh-token rotation and revocation User roles with Alembic database migration Authenticated /users/me endpoint User profile/username updates JWT-protected user routes PostgreSQL persistence for user and authentication data Athenaeum now has a solid foundation for user management, account security, and role-based authorization. (Y’all might think why did it take so much timee, dude those api calls T_T, it was tough just so you know)
Devlog - Knowledge System: Item Creation Have implemented the base for Athenaeum’s Knowledge system. Done: • Created the KnowledgeItem SQLAlchemy model with the UserOwnable trait; • Added the title, content, type, source_url fields plus the timestamps; • Created the request/response schemas; • Implemented the knowledge_services service; • Created the protected POST /api/v1/knowledge endpoint; • Integrated JWT auth so that the user’s items are tied to their account; • Updated Alembic migrations; • Handled existing records when adding the UpdatedAt field; • Created the first item in Postgres. The current API endpoint is POST /api/v1/knowledge. Further steps are to implement the list of user items,getitem, update and delete endpoints.
Devlog — Document Ingestion Started the document ingestion pipeline for Athenaeum. Completed: Added PDF text extraction using pypdf Added PDF upload endpoint Connected document extraction to the Knowledge System Automatically created knowledge items from uploaded PDFs Preserved authenticated user ownership Stored extracted document content in PostgreSQL Current API: POST /api/v1/knowledge GET /api/v1/knowledge GET /api/v1/knowledge/{KnowledgeItemId} PATCH /api/v1/knowledge/{KnowledgeItemId} DELETE /api/v1/knowledge/{KnowledgeItemId} POST /api/v1/knowledge/upload Next: Add document chunking Generate embeddings Store vector representations Implement semantic search
Devlog — Document Ingestion & Chunking Extended Athenaeum’s Knowledge System with the first stage of the document processing pipeline. Completed: Added PDF document upload support Implemented PDF text extraction using pypdf Added POST /api/v1/knowledge/upload Automatically created a KnowledgeItem from uploaded PDFs Preserved authenticated user ownership for uploaded documents Added the DocumentChunk database model Added KnowledgeItemId relationship for document chunks Added chunk ordering using ChunkIndex Implemented character-based text chunking Added configurable chunk size and overlap Persisted extracted chunks in PostgreSQL Successfully tested PDF ingestion with a real document Verified that the uploaded document was split into multiple chunks Current pipeline: PDF → Text Extraction → KnowledgeItem → Text Chunking → DocumentChunk → PostgreSQL Example: KnowledgeItem #7 ├── Chunk 0 ├── Chunk 1 ├── Chunk 2 └── Chunk 3 Current API: POST /api/v1/knowledge GET /api/v1/knowledge GET /api/v1/knowledge/{KnowledgeItemId} PATCH /api/v1/knowledge/{KnowledgeItemId} DELETE /api/v1/knowledge/{KnowledgeItemId} POST /api/v1/knowledge/upload Next: Add embeddings to document chunks Configure vector storage with pgvector Implement semantic similarity search
Devlog — September 22, 2026 Today was a big day for Athenaeum. Got the OpenRouter LLM integration working with the RAG pipeline. Athenaeum can now answer questions from uploaded documents. Added sources to show where the answers come from. Added and tested AI-powered document summaries. Fixed user-level document filtering for safer retrieval. Started the frontend with React + Vite. Settled on a warm, minimal, research-focused visual style. Next up: building the Athenaeum UI and connecting it to the backend. Today felt like the point where Athenaeum started becoming an actual product.
Grinded on the front end of the project tool shit lot of time Had to use chatgpt for help (i aint that creative)...
|
1792619338.013652
|
1793483338.013652
|
|
679
|
oral-b Library by @brian | Stardance
|
brian
|
1
|
22.0
|
399
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T03:43:08Z", "hours": 22.0, "multiplier": 18.43, "payout": 399, "blessing": "neutral", "text": "I built a Node.js library for bidirectional Bluetooth communication with Oral-B smart toothbrushes, without needing the app! The most challenging part was definitely reverse engineering the Bluetooth characteristic logic in the Oral-B Android app using jadx. Since testing out this project may be difficult for obvious reasons (not too many people have an overpriced smart toothbrush xD), the demo link will bring you to a sample demo video of how it works!", "repo": "https://github.com/brianwalczak/oral-b", "demo": "https://github.com/brianwalczak/oral-b/releases/tag/v0.1.0"}]...
|
[{"post_id": 46678, "ts": "202 [{"post_id": 46678, "ts": "2026-08-14T03:40:12Z", "hours": 0.5619, "text": "I made a quick demonstration video and added some example scripts to the project!"}, {"post_id": 45767, "ts": "2026-08-12T13:53:31Z", "hours": 1.6933, "text": "I spent some time cleaning up the package.json and implementing some bug fixes like adding reads and subscriptions to a queue (since before it would send them at the same time and crash the brush occasionally). Some newer brushes also require an “unlock code” to use the Bluetooth API, so I implemented that too! The first version is now live on npm.js!"}, {"post_id": 44277, "ts": "2026-08-09T22:30:20Z", "hours": 3.8067, "text": "I’ve finally finished working on the documentation! I also added a commands table in the README.md which lists all of the current commands and a link to their designated Markdown page. I’m preparing to publish it to npm.js now!"}, {"post_id": 43100, "ts": "2026-08-08T05:44:03Z", "hours": 1.8494, "text": "I finished adding some more commands: deviceState which tells you what “state” the brush is in (running, idle, charging, etc), buttonState which allows you to subscribe to button events and notifies you when the power or mode button was pressed, and brushingTime which allows you to view the live stopwatch as you brush your teeth. I built a simple demo script to give you all a visual example of how these can be used!"}, {"post_id": 38363, "ts": "2026-07-31T18:24:38Z", "hours": 7.2906, "text": "Been a while! Most of this 7 hours was spent digging through the source code of the Oral-B codebase again, but I finished implementing a Bluetooth command transport layer and added a command handler for easy additions. I also implemented protocol versioning, which each brush specifies in its manufacturer data so the host knows what commands/values are available for the brush. In most cases, the newer the brush model (especially in the iO series of brushes), the higher the protocol, resulting in more available commands / data values to read from. I’ve also added the first incoming command: batteryLevel ! This method requests battery data from the brush, and depending on the protocol version of your brush, you’ll be able to view info like the battery percentage, estimated runtime, and even the technical specifications of the battery (like voltage, current, temperature, etc). From here on, all I’ll be doing is adding more support for commands!"}, {"post_id": 27549, "ts": "2026-07-13T06:54:55Z", "hours": 2.1819, "text": "It’s been a while but I’m back! I made huge changes to the overall layout of the library, and decided that… Brush objects are the devices themselves, and will allow you to connect, disconnect, view its state, send/receive BLE commands, etc. OralBClient will only act as a “discovery layer”, which lets you search for new Brush objects and keep track of your connections (like a “management” layer I guess you could call it???) I finished building the connect/disconnect commands with an optional timeout option for connections, and I moved rssi and macAddress into getters so they’re read directly from the peripheral and update automatically. Had to switch to the @stoprocent/noble fork because the previous one caused issues with discovery in Fedora. In OralBClient , I added a way to track the brushes and store the connected ones in a Map (so users don’t have to keep track of the Brush objects elsewhere). I also added the option to stop discovery early, and an adapter state check before it starts discovering (so it waits for the Bluetooth adapter to power on first!)"}, {"post_id": 1031, "ts": "2026-06-02T20:27:41Z", "hours": 4.2644, "text": "First devlog! Spent a LONG time exploring the Oral-B app codebase to learn about how devices are discovered, and what bytes are interpreted from the manufacturer data. So far I’ve built a discover() method which hooks onto the @abandonware/noble library and searches for brushes nearby. I managed to reverse engineer the manufacturer data payload which let’s me identify the model line of the brush and filter out non Oral-B devices! :D"}]...
|
Title: oral-b Library by @brian | Stardance
Devlo Title: oral-b Library by @brian | Stardance
Devlogs:
First devlog! Spent a LONG time exploring the Oral-B app codebase to learn about how devices are discovered, and what bytes are interpreted from the manufacturer data. So far I’ve built a discover() method which hooks onto the @abandonware/noble library and searches for brushes nearby. I managed to reverse engineer the manufacturer data payload which let’s me identify the model line of the brush and filter out non Oral-B devices! :D
It’s been a while but I’m back! I made huge changes to the overall layout of the library, and decided that… Brush objects are the devices themselves, and will allow you to connect, disconnect, view its state, send/receive BLE commands, etc. OralBClient will only act as a “discovery layer”, which lets you search for new Brush objects and keep track of your connections (like a “management” layer I guess you could call it???) I finished building the connect/disconnect commands with an optional timeout option for connections, and I moved rssi and macAddress into getters so they’re read directly from the peripheral and update automatically. Had to switch to the @stoprocent/noble fork because the previous one caused issues with discovery in Fedora. In OralBClient , I added a way to track the brushes and store the connected ones in a Map (so users don’t have to keep track of the Brush objects elsewhere). I also added the option to stop discovery early, and an adapter state check before it starts discovering (so it waits for the Bluetooth adapter to power on first!)
Been a while! Most of this 7 hours was spent digging through the source code of the Oral-B codebase again, but I finished implementing a Bluetooth command transport layer and added a command handler for easy additions. I also implemented protocol versioning, which each brush specifies in its manufacturer data so the host knows what commands/values are available for the brush. In most cases, the newer the brush model (especially in the iO series of brushes), the higher the protocol, resulting in more available commands / data values to read from. I’ve also added the first incoming command: batteryLevel ! This method requests battery data from the brush, and depending on the protocol version of your brush, you’ll be able to view info like the battery percentage, estimated runtime, and even the technical specifications of the battery (like voltage, current, temperature, etc). From here on, all I’ll be doing is adding more support for commands!
I finished adding some more commands: deviceState which tells you what “state” the brush is in (running, idle, charging, etc), buttonState which allows you to subscribe to button events and notifies you when the power or mode button was pressed, and brushingTime which allows you to view the live stopwatch as you brush your teeth. I built a simple demo script to give you all a visual example of how these can be used!
I’ve finally finished working on the documentation! I also added a commands table in the README.md which lists all of the current commands and a link to their designated Markdown page. I’m preparing to publish it to npm.js now!
I spent some time cleaning up the package.json and implementing some bug fixes like adding reads and subscriptions to a queue (since before it would send them at the same time and crash the brush occasionally). Some newer brushes also require an “unlock code” to use the Bluetooth API, so I implemented that too! The first version is now live on npm.js!
I made a quick demonstration video and added some example scripts to the project!
Ships:
I built a Node.js library for bidirectional Bluetooth communication with Oral-B smart toothbrushes, without needing the app! The most challenging part was definitely reverse engineering the Bluetooth characteristic logic in the Oral-B Android app using jadx. Since testing out this project may be difficult for obvious reasons (not too many people have an overpriced smart toothbrush xD), the demo link will bring you to a sample demo video of how it works!...
|
1793224354.8609676
|
1793310754.8609676
|
|
803
|
Productive by @OrangeJuice | Stardance
|
OrangeJuice
|
1
|
22.0
|
93
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T03:32:34Z", "hours": 22.0, "multiplier": 4.9, "payout": 93, "blessing": "neutral", "text": "Productive This is a productivity website focused on helping you stay on track with your goals! Features To-do List Pomodoro Timer Quote Generator Notepad Calendar Relaxing moving background", "repo": "https://github.com/Orangejuiceonntop/Productive", "demo": "https://orangejuiceonntop.github.io/Productive/"}]...
|
[{"post_id": 18106, "ts": "202 [{"post_id": 18106, "ts": "2026-06-29T03:23:52Z", "hours": 0.9736, "text": "Productive OK this is the last devlog 😓 What’s new I mostly worked on updating the Readme and including the necessary information. Upcoming This project is done! I’m pretty happy with how this turned out. While I wish I could’ve done more, this was meant to be a short project and I’ve already spent too much time working on this 😓. Thanks for following along with this project!"}, {"post_id": 17958, "ts": "2026-06-28T22:23:16Z", "hours": 12.4708, "text": "Productive - Last DevLog It’s almost done! New look! I originally wanted the website to be beach themed, but I couldn’t find any good backgrounds, and the sand-colored buttons didn’t really look that good. Instead, I opted for this nature background and green accent colors. I also made the containers semi-transparent so you can the the wallpaper + added a border. Why did devlog took so long Instead of the notepad and calendar on the right, I was making a music player. However, making it was the most grueling, most horrible experience, and I couldn’t even get it to work (I think it was clashing with my other code, but I couldn’t figure out how to fix it 💔) so after about 3-4ish hours I decided to scrap it. I included the calendar that I mentioned last devlog. I thought adding a clock (like I originally wanted) but it felt unnecessary, so I made a notepad instead. New features! Increase and decrease minutes button on the pomodoro timer (needs a bit of fixing but mostly works) Notepad Calendar - Current month + year shows up at the top - Current day is highlighted - You can see prev/upcoming months + years Extra info I’m happy to see this website finally come together. I’m going to try to fix some bugs before I ship it. Thanks for reading!"}, {"post_id": 12871, "ts": "2026-06-21T02:35:06Z", "hours": 3.7461, "text": "Productive A website to help you stay on track with your goals! New feature: Pomodoro Timer Literally the whole reason why I wanted to make this project. Took me a bit to finish it, but it got done eventually 😓. What it does: It has 3 different settings/“modes”: a 25 min session, a 5 min break, and a 15 min break You can pause and reset the timer Next up: Add increase and decrease minutes button for the timer Add a music player (maybe? I feel like it’s above my skill level but I might try to do it) Add a clock or calendar (or maybe both! depends) Change background Change color scheme Additional: The next devlog, or the one after, will probably be my last devlog before this project is shipped."}, {"post_id": 11019, "ts": "2026-06-18T01:23:30Z", "hours": 2.0119, "text": "Productive I made the quote box!! Every time you refresh the tab, you get a new quote. I also tried to customize the top bar a bit but it came out ugly/bland :’) Next up (eventually): Making the pomodoro timer Adding a clock or calendar Add proper colors and wallpaper (making it look better)"}, {"post_id": 10883, "ts": "2026-06-17T20:50:17Z", "hours": 2.3992, "text": "Productive This website is just a way to help people be more productive and track their goals! So far I’ve only coded the to-do list: Add tasks using the “add” button or pressing enter key. Pressing the “x” on the side removes the task Clicking the circle should check it. But uhh, it doesn’t currently work so I’ll have to figure out how to fix it or scrap it entirely. Next feature: I’ll either work on the pomodoro timer or make a quote generator. Additional/extra info: Originally I was going to go for a calm blue aesthetic but I feel like adding a gif beach background and making the background of each container (ex. the to-do list) semi-transparent would be cool too."}]...
|
Title: Productive by @OrangeJuice | Stardance
Dev Title: Productive by @OrangeJuice | Stardance
Devlogs:
Productive This website is just a way to help people be more productive and track their goals! So far I’ve only coded the to-do list: Add tasks using the “add” button or pressing enter key. Pressing the “x” on the side removes the task Clicking the circle should check it. But uhh, it doesn’t currently work so I’ll have to figure out how to fix it or scrap it entirely. Next feature: I’ll either work on the pomodoro timer or make a quote generator. Additional/extra info: Originally I was going to go for a calm blue aesthetic but I feel like adding a gif beach background and making the background of each container (ex. the to-do list) semi-transparent would be cool too.
Productive I made the quote box!! Every time you refresh the tab, you get a new quote. I also tried to customize the top bar a bit but it came out ugly/bland :’) Next up (eventually): Making the pomodoro timer Adding a clock or calendar Add proper colors and wallpaper (making it look better)
Productive A website to help you stay on track with your goals! New feature: Pomodoro Timer Literally the whole reason why I wanted to make this project. Took me a bit to finish it, but it got done eventually 😓. What it does: It has 3 different settings/“modes”: a 25 min session, a 5 min break, and a 15 min break You can pause and reset the timer Next up: Add increase and decrease minutes button for the timer Add a music player (maybe? I feel like it’s above my skill level but I might try to do it) Add a clock or calendar (or maybe both! depends) Change background Change color scheme Additional: The next devlog, or the one after, will probably be my last devlog before this project is shipped.
Productive - Last DevLog It’s almost done! New look! I originally wanted the website to be beach themed, but I couldn’t find any good backgrounds, and the sand-colored buttons didn’t really look that good. Instead, I opted for this nature background and green accent colors. I also made the containers semi-transparent so you can the the wallpaper + added a border. Why did devlog took so long Instead of the notepad and calendar on the right, I was making a music player. However, making it was the most grueling, most horrible experience, and I couldn’t even get it to work (I think it was clashing with my other code, but I couldn’t figure out how to fix it 💔) so after about 3-4ish hours I decided to scrap it. I included the calendar that I mentioned last devlog. I thought adding a clock (like I originally wanted) but it felt unnecessary, so I made a notepad instead. New features! Increase and decrease minutes button on the pomodoro timer (needs a bit of fixing but mostly works) Notepad Calendar - Current month + year shows up at the top - Current day is highlighted - You can see prev/upcoming months + years Extra info I’m happy to see this website finally come together. I’m going to try to fix some bugs before I ship it. Thanks for reading!
Productive OK this is the last devlog 😓 What’s new I mostly worked on updating the Readme and including the necessary information. Upcoming This project is done! I’m pretty happy with how this turned out. While I wish I could’ve done more, this was meant to be a short project and I’ve already spent too much time working on this 😓. Thanks for following along with this project!
Ships:
Productive This is a productivity website focused on helping you stay on track with your goals! Features To-do List Pomodoro Timer Quote Generator Notepad Calendar Relaxing moving background...
|
1793274571.8385284
|
1793360971.8385284
|
|
5309
|
Project Kobon by @Bennett_Forcier | Stardance
|
Bennett_Forcier
|
1
|
22.0
|
369
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T22:44:47Z", "hours": 22.0, "multiplier": 16.89, "payout": 369, "blessing": "neutral", "text": "Project Kobon is finally shipped!!! I made a Python project that searches for Kobon triangle line arrangements, saves the best results, and includes a viewer for loading and visualizing the generated JSON files. The hardest parts were getting the solver logic working, building the DearPyGui viewer, and then fighting with PyInstaller to make the .exe. I’m proud that it now has a full loop: run the solver, generate results, open them in the viewer, and share the app without needing Python installed.", "repo": "https://github.com/MxpleSticks/Project-Kobon", "demo": "https://github.com/MxpleSticks/Project-Kobon/releases"}]...
|
[{"post_id": 18739, "ts": "202 [{"post_id": 18739, "ts": "2026-06-29T22:30:42Z", "hours": 0.9592, "text": "Finally Finished the EXE After a lot of annoying PyInstaller issues, Project Kobon finally works as a standalone Windows executable!!! This definitely took way longer than the 57 minutes that actually got logged."}, {"post_id": 13197, "ts": "2026-06-21T16:51:49Z", "hours": 2.7283, "text": "Project Update Adding Multi-Process Support This update allows Project Kobon to run multiple instances of the solver at the same time, to find more possible solutions and allows the use of more CPU power. Added multiprocessing so that multiple solver processes can run at the same time. Split the work to be done by the solver into separate workers that will run independently of each other. Each solver worker will search for solutions in different ways (due to using different random seeds). The results from each solver worker will be collected and the best solution found will be selected. A way to set the number of solver workers that will be used, depending on the available CPUs on the machine. All results will be reported using the reporter.py script."}, {"post_id": 8740, "ts": "2026-06-14T15:20:05Z", "hours": 3.4075, "text": "Project Update Finally Building the Viewer This update focused on creating viewer.py . A lot of the triangle calculation code was able to be reused from geometry.py , which made development like 1000x easier and let me focus on building the interface. Built the first working version of the viewer using Dear PyGui . Added support for importing the JSON files generated by Project Kobon. Added a visualizer that draws line arrangements and the triangles they create. Added controls for switching between different saved results."}, {"post_id": 7921, "ts": "2026-06-13T06:20:45Z", "hours": 1.1417, "text": "Project Update Improving the Main UI This update focused on improving the UI of main.py . Redesigned the terminal UI to make it cleaner and easier to navigate. Made menu options more readable and easier to understand. Improved the overall look of the program without changing its functionality."}, {"post_id": 7616, "ts": "2026-06-12T18:51:30Z", "hours": 1.2203, "text": "One small step for man, one giant leap for mankind Ok, not really, but this is the first working version of my pipeline :) This update focused on creating the reporting system and getting the different parts of the project working together. Created reporter.py , which sends solver results to a Discord webhook. Added support for saving the best arrangements as a JSON file. Included information like the score, line angles, and line offsets in the output data. Added a results summary showing the upper bound, line count, goal and top scores found by the solver. Tested the full pipeline from generating arrangements to receiving results through Discord. This is the first point in time where Project Kobon can complete a full run and produce a usable output. My next update will be building the viewer so the generated arrangements can be visualized instead of only being viewed as raw data. Don’t even try to use the webhook URL. I already deleted it."}, {"post_id": 6010, "ts": "2026-06-10T02:22:11Z", "hours": 3.0297, "text": "Project Update Adding Simulated Annealing This update was mainly about adding simulated annealing to Project Kobon. Before this, the project could generate random arrangements, but it could not actively search for better solutions. Created annealing.py , which contains the simulated annealing solver used to search for improved arrangements. Connected main.py to the new solver so users can run simulated annealing directly from the program menu. Updated some function names to make the code easier to read and maintain. Added support for running the solver for a fixed number of iterations or until it reaches a target gap from the theoretical upper bound. Tested the project on a freshly reset computer with a new installation of Python and C++. Everything worked correctly, showing that the project can be set up and run on a clean system."}, {"post_id": 4252, "ts": "2026-06-07T14:32:34Z", "hours": 5.2922, "text": "Project Update Building the Geometry System This update focused on developing the geometry system used by Project Kobon. This system takes an arrangement of lines, finds their intersection points, and counts how many Kobon triangles are present. Developed geometry.py , which calculates line intersections and counts triangles in an arrangement. Changed the project to use CPU-based calculations with NumPy . Added requirements.txt to simplify installation of project dependencies. Added a popup window to viewer.py for displaying information and instructions. Updated README.md with project information, installation steps, and usage instructions."}, {"post_id": 2425, "ts": "2026-06-04T22:03:56Z", "hours": 1.5867, "text": "Project Update Building the State System This update focused on creating the state system used by Project Kobon. The state system stores line arrangements and provides a way to make small changes to them. Created state.py and the LineState dataclass to store the angle and offset of each line. Added createRandomState() , which generates a random arrangement of k lines. Added nudge() , which creates a copy of an arrangement and randomly adjusts one line’s angle or offset. Updated main.py to work with the new state system. Tested the new functions to ensure line arrangements could be created and modified correctly."}, {"post_id": 1893, "ts": "2026-06-04T03:34:42Z", "hours": 0.5936, "text": "Project Update Creating the Viewer This update focused on creating the first version of the project viewer. Created viewer.py and set up a basic DearPyGui window. Learned the basics of working with DearPyGui . Added the ability to open a separate viewer window from the project. Removed config.py because it was no longer needed."}, {"post_id": 1836, "ts": "2026-06-04T01:37:40Z", "hours": 0.9683, "text": "Project Update Creating the Main Program This update I just built main.py , which acts as the main menu system for Project Kobon. Created main.py and added the main menu system. Added user input handling for selecting different program options. Added basic input validation. Added a simple way for users to configure solver parameters from the terminal."}, {"post_id": 1232, "ts": "2026-06-03T02:44:28Z", "hours": 0.4108, "text": "Project Update Writing the README This update focused on creating the first version of README.md . Added an overview explaining what Project Kobon is and its goal. Wrote a description of the Kobon Triangle Problem and why it is still unsolved. Added information about how the project relates to finding arrangements of lines with many non-overlapping triangles. Began documenting how the project will be used and expanded in future updates."}, {"post_id": 1157, "ts": "2026-06-03T00:25:04Z", "hours": 0.6092, "text": "Project Update Setting Up the Project This is my first devlog :) it will focus on setting up the initial structure for Project Kobon. Created the project’s basic file and folder layout. Set up the main modules that I will be using throughout development. Added the initial imports and project structure. Organized the codebase to separate the solver, theory, and viewer components. Began planning how the different parts of the project will work together."}]...
|
Title: Project Kobon by @Bennett_Forcier | Stardan Title: Project Kobon by @Bennett_Forcier | Stardance
Devlogs:
Project Update Setting Up the Project This is my first devlog :) it will focus on setting up the initial structure for Project Kobon. Created the project’s basic file and folder layout. Set up the main modules that I will be using throughout development. Added the initial imports and project structure. Organized the codebase to separate the solver, theory, and viewer components. Began planning how the different parts of the project will work together.
Project Update Writing the README This update focused on creating the first version of README.md . Added an overview explaining what Project Kobon is and its goal. Wrote a description of the Kobon Triangle Problem and why it is still unsolved. Added information about how the project relates to finding arrangements of lines with many non-overlapping triangles. Began documenting how the project will be used and expanded in future updates.
Project Update Creating the Main Program This update I just built main.py , which acts as the main menu system for Project Kobon. Created main.py and added the main menu system. Added user input handling for selecting different program options. Added basic input validation. Added a simple way for users to configure solver parameters from the terminal.
Project Update Creating the Viewer This update focused on creating the first version of the project viewer. Created viewer.py and set up a basic DearPyGui window. Learned the basics of working with DearPyGui . Added the ability to open a separate viewer window from the project. Removed config.py because it was no longer needed.
Project Update Building the State System This update focused on creating the state system used by Project Kobon. The state system stores line arrangements and provides a way to make small changes to them. Created state.py and the LineState dataclass to store the angle and offset of each line. Added createRandomState() , which generates a random arrangement of k lines. Added nudge() , which creates a copy of an arrangement and randomly adjusts one line’s angle or offset. Updated main.py to work with the new state system. Tested the new functions to ensure line arrangements could be created and modified correctly.
Project Update Building the Geometry System This update focused on developing the geometry system used by Project Kobon. This system takes an arrangement of lines, finds their intersection points, and counts how many Kobon triangles are present. Developed geometry.py , which calculates line intersections and counts triangles in an arrangement. Changed the project to use CPU-based calculations with NumPy . Added requirements.txt to simplify installation of project dependencies. Added a popup window to viewer.py for displaying information and instructions. Updated README.md with project information, installation steps, and usage instructions.
Project Update Adding Simulated Annealing This update was mainly about adding simulated annealing to Project Kobon. Before this, the project could generate random arrangements, but it could not actively search for better solutions. Created annealing.py , which contains the simulated annealing solver used to search for improved arrangements. Connected main.py to the new solver so users can run simulated annealing directly from the program menu. Updated some function names to make the code easier to read and maintain. Added support for running the solver for a fixed number of iterations or until it reaches a target gap from the theoretical upper bound. Tested the project on a freshly reset computer with a new installation of Python and C++. Everything worked correctly, showing that the project can be set up and run on a clean system.
One small step for man, one giant leap for mankind Ok, not really, but this is the first working version of my pipeline :) This update focused on creating the reporting system and getting the different parts of the project working together. Created reporter.py , which sends solver results to a Discord webhook. Added support for saving the best arrangements as a JSON file. Included information like the score, line angles, and line offsets in the output data. Added a results summary showing the upper bound, line count, goal and top scores found by the solver. Tested the full pipeline from generating arrangements to receiving results through Discord. This is the first point in time where Project Kobon can complete a full run and produce a usable output. My next update will be building the viewer so the generated arrangements can be visualized instead of only being viewed as raw data. Don’t even try to use the webhook URL. I already deleted it.
Project Update Improving the Main UI This update focused on improving the UI of main.py . Redesigned the terminal UI to make it cleaner and easier to navigate. Made menu options more readable and easier to understand. Improved the overall look of the program without changing its functionality.
Project Update Finally Building the Viewer This update focused on creating viewer.py . A lot of the triangle calculation code was able to be reused from geometry.py , which made development like 1000x easier and let me focus on building the interface. Built the first working version of the viewer using Dear PyGui . Added support for importing the JSON files generated by Project Kobon. Added a visualizer that draws line arrangements and the triangles they create. Added controls for switching between different saved results.
Project Update Adding Multi-Process Support This update allows Project Kobon to run multiple instances of the solver at the same time, to find more possible solutions and allows the use of more CPU power. Added multiprocessing so that multiple solver processes can run at the same time. Split the work to be done by the solver into separate workers that will run independently of each other. Each solver worker will search for solutions in different ways (due to using different random seeds). The results from each solver worker will be collected and the best solution found will be selected. A way to set the number of solver workers that will be used, depending on the available CPUs on the machine. All results will be reported using the reporter.py script.
Finally Finished the EXE After a lot of annoying PyInstaller issues, Project Kobon finally works as a standalone Windows executable!!! This definitely took way longer than the 57 minutes that actually got logged.
Ships:
Project Kobon is finally shipped!!! I made a Python project that searches for Kobon triangle line arrangements, saves the best results, and includes a viewer for loading and visualizing the generated JSON files. The hardest parts were getting the solver logic working, building the DearPyGui viewer, and then fighting with PyInstaller to make the .exe. I’m proud that it now has a full loop: run the solver, generate results, open them in the viewer, and share the app without needing Python installed....
|
1793249495.0686727
|
1793335895.0686727
|
|
5921
|
BitSwiss by @swedishsplidney | Stardance
|
swedishsplidney
|
1
|
22.0
|
397
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T09:11:09Z", "hours": 22.0, "multiplier": 18.19, "payout": 397, "blessing": "neutral", "text": "BitSwiss is an open source, cross platform archiving tool to easily download offline archives of over 100 web .zim archives to a removable media device, creating fully offline digital “swiss army knives” that can be used anywhere, on any (desktop) device. it can also include portable, installation free, offline readers for all the archives. available packages: all of wikipedia gutenberg collection (over 75,000 public domain ebooks) stackoverflow and stackexchange forums for many topics full ifixit repair guide archive developer documentation for many scripting languages/libraries/workflows/etc. full libretexts textbook and other educational text archives entire medlineplus archive for medical info full khanacademy, crashcourse, and freecodecamp courses for learning NASA astronomy picture of the day archive with expert explanations preconfigured setups for 16, 32, 64, and 128gb drives. also some field-focused presets for coding, computer science, outer space, and more. BitSwiss works by first using libcurl to grab the file sizes, then filters the URL to get the file name. it then uses a multithreaded concurrent download system to quickly and efficiently download packages (for more info, refer to the “how it works” section of the readme. coded in C++ using JetBrains CLion on Fedora 44 KDE. compiled with CMake for linux, macOS and windows", "repo": "https://github.com/swedishsplidney/BitSwiss", "demo": "https://github.com/swedishsplidney/BitSwiss/releases"}]...
|
[{"post_id": 4088, "ts": "2026 [{"post_id": 4088, "ts": "2026-06-07T08:52:50Z", "hours": 1.0131, "text": "just spent an hour debugging just to get a working build for microslop windows… finally got it working successfully though, kinda goofy on occasion but does work, thankfully"}, {"post_id": 4017, "ts": "2026-06-07T05:41:26Z", "hours": 3.6267, "text": "pretty much ready to ship! more than doubled the package list, to over 109 packages, now totaling over 600gb of data other than that it was ui tweaks, code cleanup and testing the windows and mac versions in a vm if this seems kinda interesting, go read the readme at https://github.com/swedishsplidney/BitSwiss"}, {"post_id": 2655, "ts": "2026-06-05T10:10:59Z", "hours": 6.5953, "text": "downloading works! uses a full multi-threaded asynchronous download engine that automatically imports file sizes and dynamic file names using libcurl. added prebuilt binaries to the github at: https://github.com/swedishsplidney/BitSwiss if you wanna try it out, feel free, but only the linux binary is actually tested at this point it is a fully working application which feels super great you can now also include multiple platforms of zim readers too, making it fully all-in-one the readme in the repo is also much better now"}, {"post_id": 1914, "ts": "2026-06-04T04:25:21Z", "hours": 1.2667, "text": "settings menu with theme swapping system ImGui is pretty limited in what you can do but you can change the colors"}, {"post_id": 1804, "ts": "2026-06-04T00:54:39Z", "hours": 2.3597, "text": "working asynchronous accurate file size checking using libcurl and async worker threads. it now accurately and super quickly gets file sizes without needing manual input. new CHUNGUS preconfig option that is almost 300GB :0"}, {"post_id": 1386, "ts": "2026-06-03T11:56:41Z", "hours": 5.2528, "text": "completed a complete gui and data item system overhaul, it actually compiles now. right now it automatically detects when storage devices are plugged in and you can select from over 45 manually inputted dataset options from kiwix such as 3 different wikipedia sizes library of congress, stackoverflow, etc. 3 preconfigged profiles and a working progress bar on the bottom. it should work on linux windows and mac but who knows because I haven’t tested it on anything other than linux yet now it just needs to actually do the thing its supposed to lol"}, {"post_id": 1288, "ts": "2026-06-03T05:40:42Z", "hours": 1.7167, "text": "devlog 6/2/26: got the project created, wrote the README, and got dear ImGui working with the demo window. started writing the actual drive detection system, only for linux so far…"}]...
|
Title: BitSwiss by @swedishsplidney | Stardance
D Title: BitSwiss by @swedishsplidney | Stardance
Devlogs:
devlog 6/2/26: got the project created, wrote the README, and got dear ImGui working with the demo window. started writing the actual drive detection system, only for linux so far…
completed a complete gui and data item system overhaul, it actually compiles now. right now it automatically detects when storage devices are plugged in and you can select from over 45 manually inputted dataset options from kiwix such as 3 different wikipedia sizes library of congress, stackoverflow, etc. 3 preconfigged profiles and a working progress bar on the bottom. it should work on linux windows and mac but who knows because I haven’t tested it on anything other than linux yet now it just needs to actually do the thing its supposed to lol
working asynchronous accurate file size checking using libcurl and async worker threads. it now accurately and super quickly gets file sizes without needing manual input. new CHUNGUS preconfig option that is almost 300GB :0
settings menu with theme swapping system ImGui is pretty limited in what you can do but you can change the colors
downloading works! uses a full multi-threaded asynchronous download engine that automatically imports file sizes and dynamic file names using libcurl. added prebuilt binaries to the github at: https://github.com/swedishsplidney/BitSwiss if you wanna try it out, feel free, but only the linux binary is actually tested at this point it is a fully working application which feels super great you can now also include multiple platforms of zim readers too, making it fully all-in-one the readme in the repo is also much better now
pretty much ready to ship! more than doubled the package list, to over 109 packages, now totaling over 600gb of data other than that it was ui tweaks, code cleanup and testing the windows and mac versions in a vm if this seems kinda interesting, go read the readme at https://github.com/swedishsplidney/BitSwiss
just spent an hour debugging just to get a working build for microslop windows… finally got it working successfully though, kinda goofy on occasion but does work, thankfully
Ships:
BitSwiss is an open source, cross platform archiving tool to easily download offline archives of over 100 web .zim archives to a removable media device, creating fully offline digital “swiss army knives” that can be used anywhere, on any (desktop) device. it can also include portable, installation free, offline readers for all the archives. available packages: all of wikipedia gutenberg collection (over 75,000 public domain ebooks) stackoverflow and stackexchange forums for many topics full ifixit repair guide archive developer documentation for many scripting languages/libraries/workflows/etc. full libretexts textbook and other educational text archives entire medlineplus archive for medical info full khanacademy, crashcourse, and freecodecamp courses for learning NASA astronomy picture of the day archive with expert explanations preconfigured setups for 16, 32, 64, and 128gb drives. also some field-focused presets for coding, computer science, outer space, and more. BitSwiss works by first using libcurl to grab the file sizes, then filters the URL to get the file name. it then uses a multithreaded concurrent download system to quickly and efficiently download packages (for more info, refer to the “how it works” section of the readme. coded in C++ using JetBrains CLion on Fedora 44 KDE. compiled with CMake for linux, macOS and windows...
|
1793134116.2186778
|
1793220516.2186778
|
|
6915
|
Om Daily by @aahish_abbani | Stardance
|
aahish_abbani
|
1
|
22.0
|
194
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T19:12:17Z", "hours": 22.0, "multiplier": 10.27, "payout": 194, "blessing": "neutral", "text": "I made Om daily, a way to understand hindusim through little games, like duolingo but for religion. But its not jsut learning there are daily quotes of the Bhagavad Gita, a famous book of hinduism, and all 700 verses in the backend. This was my first ever mobile app make in react native with the expo framework and it was a challenge getting started, I didnt really understand how most of it worked like devlopement servers, stuff like that. But over time I learned a lot about how to actualyl code and use a backend. another thing, this was my first ever project with a backend so I used supabase as my backend and I learned how to do Oauth, store users information safely. The app itself is packed with so many features and going forward I really want to improve on it more and more!", "repo": "https://github.com/kinghightech/om-daily", "demo": "https://apps.apple.com/app/om-daily/id6778643150"}]...
|
[{"post_id": 20878, "ts": "202 [{"post_id": 20878, "ts": "2026-07-02T16:26:24Z", "hours": 13.0297, "text": "So I to be honest was so locked in on working on this i lowkey forgot ot keep up with the devlogs which is something going forward i need to fix! But good news i have got it up and running on the app store!!! so u can download it actually and test it out. it does require a sign up/sign unfortunately to save ur progress if you are fine with that I spent so much time and effort into this app and it would be great if i can get some good feedback!"}, {"post_id": 2536, "ts": "2026-06-05T02:20:43Z", "hours": 9.0192, "text": "I’m building Om Daily, a mobile app that helps people learn Hinduism through daily Bhagavad Gita verses, prayers, meanings, and simple lessons. It makes spiritual learning easy, beautiful, and consistent with features like verse saving, prayer translations, widgets, and daily wisdom reminders. Hey, I’m working on om Daily. Dharma Daily is an app. We used Expo, React Native, and a lot of TypeScript to make the app. I really wanted to focus on the app, making it feel premium. today i added another prayer to the app and designed the splash screen with canva!"}]...
|
Title: Om Daily by @aahish_abbani | Stardance
Dev Title: Om Daily by @aahish_abbani | Stardance
Devlogs:
I’m building Om Daily, a mobile app that helps people learn Hinduism through daily Bhagavad Gita verses, prayers, meanings, and simple lessons. It makes spiritual learning easy, beautiful, and consistent with features like verse saving, prayer translations, widgets, and daily wisdom reminders. Hey, I’m working on om Daily. Dharma Daily is an app. We used Expo, React Native, and a lot of TypeScript to make the app. I really wanted to focus on the app, making it feel premium. today i added another prayer to the app and designed the splash screen with canva!
So I to be honest was so locked in on working on this i lowkey forgot ot keep up with the devlogs which is something going forward i need to fix! But good news i have got it up and running on the app store!!! so u can download it actually and test it out. it does require a sign up/sign unfortunately to save ur progress if you are fine with that I spent so much time and effort into this app and it would be great if i can get some good feedback!
Ships:
I made Om daily, a way to understand hindusim through little games, like duolingo but for religion. But its not jsut learning there are daily quotes of the Bhagavad Gita, a famous book of hinduism, and all 700 verses in the backend. This was my first ever mobile app make in react native with the expo framework and it was a challenge getting started, I didnt really understand how most of it worked like devlopement servers, stuff like that. But over time I learned a lot about how to actualyl code and use a backend. another thing, this was my first ever project with a backend so I used supabase as my backend and I learned how to do Oauth, store users information safely. The app itself is packed with so many features and going forward I really want to improve on it more and more!...
|
1792882113.3175633
|
1793746113.3175633
|
|
9883
|
THE WEBB by @Synt-0 | Stardance
|
Synt-0
|
1
|
22.0
|
209
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T19:51:11Z", "hours": 22.0, "multiplier": 9.67, "payout": 209, "blessing": "neutral", "text": "I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience.", "repo": "https://github.com/Synt-0/The-WEBB", "demo": "https://synt-0.github.io/The-WEBB/"}]...
|
[{"post_id": 78426, "ts": "202 [{"post_id": 78426, "ts": "2026-10-10T19:35:32Z", "hours": 2.7153, "text": "FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all"}, {"post_id": 78137, "ts": "2026-10-09T18:27:32Z", "hours": 5.9328, "text": "THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE"}, {"post_id": 77116, "ts": "2026-10-05T17:42:00Z", "hours": 3.77, "text": "I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)"}, {"post_id": 71877, "ts": "2026-09-21T18:02:07Z", "hours": 1.2653, "text": "i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing"}, {"post_id": 70208, "ts": "2026-09-18T18:19:47Z", "hours": 2.1378, "text": "This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess."}, {"post_id": 66346, "ts": "2026-09-12T03:43:12Z", "hours": 0.8767, "text": "today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically ."}, {"post_id": 65481, "ts": "2026-09-10T17:21:24Z", "hours": 0.835, "text": "so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js"}, {"post_id": 64926, "ts": "2026-09-09T17:23:40Z", "hours": 2.7072, "text": "I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think.."}, {"post_id": 7505, "ts": "2026-06-12T14:52:13Z", "hours": 1.355, "text": "I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva"}]...
|
Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva
I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think..
so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js
today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically .
This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess.
i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing
I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)
THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE
FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all
Ships:
I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience....
|
1793148763.7280834
|
1793235163.7280834
|
|
10740
|
Calculator by @Lake | Stardance
|
Lake
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T22:33:53Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a calculator from scratch, no tokenize, no new things, I wanted to see with my knowledge how far I could push my limits to make something. Parsing was difficult but it taught me how to think and how to visual info and how it’s taken in from a computer’s point of view. Every part of this was fun, it may have taken me longer to code it because Im not that great at coding but I will push my self and outwork my code to learn, that’s why I love coding, there’s always something new.", "repo": "https://github.com/acetaunter/Stardance_Calculator_Project", "demo": "https://drive.google.com/file/d/1ZFaGVxiuGqwNTBecUVsuKcYSkYpYYIUr/view?usp=sharing"}]...
|
[{"post_id": 27869, "ts": "202 [{"post_id": 27869, "ts": "2026-07-13T19:30:58Z", "hours": 12.1381, "text": "fixed decimal operations"}, {"post_id": 6969, "ts": "2026-06-11T18:06:30Z", "hours": 10.2928, "text": "DevLog #1 Working on calculator backend Spent most time on making sure that my loops could actually handle what the Ui input was taking, doesn’t work just yet though, I’m finishing up the parts to remove the evaluated parentheses using parsing logic in java as well as hoping to then make the Ui a bit cleaner with javafx."}]...
|
Title: Calculator by @Lake | Stardance
Devlogs:
D Title: Calculator by @Lake | Stardance
Devlogs:
DevLog #1 Working on calculator backend Spent most time on making sure that my loops could actually handle what the Ui input was taking, doesn’t work just yet though, I’m finishing up the parts to remove the evaluated parentheses using parsing logic in java as well as hoping to then make the Ui a bit cleaner with javafx.
fixed decimal operations
Ships:
I made a calculator from scratch, no tokenize, no new things, I wanted to see with my knowledge how far I could push my limits to make something. Parsing was difficult but it taught me how to think and how to visual info and how it’s taken in from a computer’s point of view. Every part of this was fun, it may have taken me longer to code it because Im not that great at coding but I will push my self and outwork my code to learn, that’s why I love coding, there’s always something new....
|
1793253334.839536
|
1793339734.839536
|
|
13208
|
Birb OS by @robopugo | Stardance
|
robopugo
|
1
|
22.0
|
77
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T01:24:55Z", "hours": 22.0, "multiplier": 3.55, "payout": 77, "blessing": "neutral", "text": "I made a simple OS, around birds, mainly a cool BG thingy to mess around with. Has a text editor, code editor, basic browser, clock app, add app feature, so you can add your own apps, really custom. And settings. Along with a cool selection box. Might add more at some point, but i just felt like finally shipping some stuff.", "repo": "https://github.com/no10123/Web-OS", "demo": "https://no10123.github.io/Web-OS/?login=true"}]...
|
[{"post_id": 11323, "ts": "202 [{"post_id": 11323, "ts": "2026-06-18T15:05:22Z", "hours": 4.5539, "text": "added some more features like auto Fullscreen for some apps and better CSS management."}, {"post_id": 10292, "ts": "2026-06-16T22:40:21Z", "hours": 2.5317, "text": "Spent 3h making a cool timer. Yippee :)"}, {"post_id": 9957, "ts": "2026-06-16T14:19:23Z", "hours": 3.7256, "text": "Made it so you could add custom apps, with custom names and icons, it also does have functioning minimize, Fullscreen, and close buttons. Planning on adding a clock / timer app to the default apps next."}, {"post_id": 8968, "ts": "2026-06-14T22:39:09Z", "hours": 1.0103, "text": "updated my bookmark bar"}, {"post_id": 8939, "ts": "2026-06-14T21:11:00Z", "hours": 1.5164, "text": "added a bookmark bar, and some light bug-fixses"}, {"post_id": 8115, "ts": "2026-06-13T15:29:43Z", "hours": 2.3467, "text": "made the icons look better, added calculator, and basic iframe web browser. Along with some light bug-fixes."}, {"post_id": 7614, "ts": "2026-06-12T18:45:51Z", "hours": 3.285, "text": "Added bg selector, including the ability to favroite bgs, and upload your own. Also made the text editor functional."}, {"post_id": 5834, "ts": "2026-06-09T19:30:41Z", "hours": 0.4164, "text": "added settings"}, {"post_id": 5772, "ts": "2026-06-09T17:57:32Z", "hours": 1.7817, "text": "added a welcome msg"}, {"post_id": 5670, "ts": "2026-06-09T15:28:00Z", "hours": 0.4686, "text": "Made a login page, and moved bg over."}]...
|
Title: Birb OS by @robopugo | Stardance
Devlogs:
Title: Birb OS by @robopugo | Stardance
Devlogs:
Made a login page, and moved bg over.
added a welcome msg
added settings
Added bg selector, including the ability to favroite bgs, and upload your own. Also made the text editor functional.
made the icons look better, added calculator, and basic iframe web browser. Along with some light bug-fixes.
added a bookmark bar, and some light bug-fixses
updated my bookmark bar
Made it so you could add custom apps, with custom names and icons, it also does have functioning minimize, Fullscreen, and close buttons. Planning on adding a clock / timer app to the default apps next.
Spent 3h making a cool timer. Yippee :)
added some more features like auto Fullscreen for some apps and better CSS management.
Ships:
I made a simple OS, around birds, mainly a cool BG thingy to mess around with. Has a text editor, code editor, basic browser, clock app, add app feature, so you can add your own apps, really custom. And settings. Along with a cool selection box. Might add more at some point, but i just felt like finally shipping some stuff....
|
1793271241.6981435
|
1793357641.6981435
|
|
13632
|
PrismaOS by @reimunyancat | Stardance
|
reimunyancat
|
2
|
22.0
|
67
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-06T00:48:44Z", "hours": 6.0, "multiplier": 11.17, "payout": 67, "blessing": "neutral", "text": "PrismaOS is a desktop OS that runs in a browser tab. It was already a working shell after WebOS 1, so this round I went after the things that made it feel like a demo instead of a system: settings you can actually change, a way to get anywhere without the mouse, real files, and windows that behave. There are four new things since WebOS 1. Settings. A real preferences app. Four themes, four wallpapers (liquid, mesh, grid, solid), a custom accent color, and a lite mode that kills blur and background animation for weak machines. Everything writes to localStorage and restores before the first paint, so there is no flash of the wrong theme on reload. Spotlight. Press ctrl + K anywhere and you get fuzzy search over apps, themes and wallpapers. Arrow keys and enter, escape to close. It turned out to be the fastest way to use the whole OS and I now open everything with it. A virtual filesystem. There is an actual tree in memory with a Files app on top of it, and the terminal talks to the same tree. pwd, ls, cd, cat and open all work, and open hands the file to the Files app. One source of truth for two very different interfaces was the part I enjoyed most. Window snapping and global shortcuts. Drag a window to a screen edge and it snaps to half or a quarter with a preview overlay first. Plus keyboard shortcuts for closing, minimizing, cycling and resetting the layout. The hardest part was window state. Saved layouts only stored x and y, so on restore the width and height came back undefined and every clamp turned into NaN. Windows loaded at zero size in the top left corner and I stared at it for a while before I understood what I was looking at. The fix was merging saved values over the defaults instead of replacing them, and bumping the storage key. To test it: open the site, hit ctrl + K and type anything. Try the terminal with ls and cd System, then cat version. Drag a window into the left edge and let go. Open Settings and switch the wallpaper to liquid, then turn on lite mode and watch the blur disappear. If the layout ever gets messy, Settings has a reset button.", "repo": "https://github.com/reimunyancat/PrismaOS", "demo": "https://prisma-os-gamma.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-01T16:41:24Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built PrismaOS, a portfolio that boots and runs like a desktop OS inside a browser tab. Instead of a normal scrolling page, you get a boot sequence, a wallpaper, a menu bar with a live clock, and a dock. Every app opens as a real window you can drag around, focus, resize, and minimize, and the layout you leave behind is remembered. I didn’t want it to look like the guide, so I built my own visual language around a prism theme and shipped four switchable themes: aqua, graphite, midnight, and aurora. The dock has macOS-style cursor magnification, and the whole shell has its own glass look rather than the default one from the walkthrough. The feature the guide didn’t ask for is a working terminal. It’s not a prop. It runs help, about, projects, ls, open, theme, and fastfetch, it keeps command history, and it talks to the OS through a small syscall module so open terminal and theme aurora actually reach into the window manager and theme state. There are also two easter eggs in there for anyone who pokes around. My goal is to further develop it later into a portfolio site worthy of being featured on my GitHub profile.", "repo": "https://github.com/reimunyancat/PrismaOS", "demo": "https://prisma-os-gamma.vercel.app/"}]...
|
[{"post_id": 41646, "ts": "202 [{"post_id": 41646, "ts": "2026-08-06T00:25:20Z", "hours": 3.0592, "text": "Devlog #6 Last time I promised a virtual filesystem. It’s here — plus window snapping, which sneaked in because I got tired of dragging windows into place by hand. One tree, two apps The whole filesystem is a single fs.ts file: a nested tree of directories and files, no disk involved. What makes it worth building is that Files and the terminal both read from that same tree. Click into ~/Projects in Files, then type cd ~/Projects in the terminal, and you’re looking at the same list. Neither app owns the data, so they can’t drift apart. Files ended up as a three-pane Finder: places sidebar, listing, preview at the bottom. Folders are sorted before files, hidden dotfiles are filtered out unless you ask. App bundles carry an app field, so selecting Terminal.app and hitting “Open in app” launches the real window — the fake filesystem reaches back into the real OS, which is a nicer trick than it has any right to be. The terminal grew pwd , ls , cd , cat , and a smarter open . Path handling is the part nobody sees: one normalizePath swallows ~ , . , .. , and relative paths, spits out a clean absolute path, and every command routes through it. Write that once and cd ../../Users/nyancat just works. Skip it and you’re writing string hacks forever. I also stash the current directory on every input line, so scrolling back up shows the prompt exactly as it was — prism ~/Projects $ and not a rewritten one. Small thing. Feels wrong immediately when it’s missing. Throwing windows at walls Snapping turned out to be a two-line idea buried under a plumbing problem. Drop a window near the left edge and it fills the left half; right edge, right half; top edge, full screen. The catch: the drag hook only knew where the window ended up, not where the cursor was. Those are different by however far from the titlebar’s corner you happened to grab. Drag by the right side of the titlebar and the window’s own x never gets close to the left edge, so nothing snaps and you sit there wondering if you broke it. Fix was to pass the pointer coordinates along with the final position and judge the zone by the cursor. The bug I found while I was in there Opening the window manager back up, I noticed the layout restore was saved ?? app.initial — and move() only writes {x, y} . So move a window, close it, reopen: the saved partial wins, width and height come back undefined , Math.min(undefined, vw) gives NaN , and the window collapses to the size of its own text. It only shows up if you move a window without ever resizing it, which is why it survived this long. Merging over the defaults instead of replacing them fixes it, and I bumped the storage key to prisma-layout-v2 so old broken entries get ignored rather than restored. Where PrismaOS stands Virtual filesystem shared by Files and the terminal — same paths, same contents Files app: sidebar, listing, preview, and launching apps straight from bundles Terminal: pwd , ls (with -a ), cd , cat , open <app|file> Window snapping to left, right, and full screen, plus the layout NaN fix Next up Wrapping up. Version bump to 0.3.0, a pass over the leftovers, and shipping the whole thing."}, {"post_id": 40807, "ts": "2026-08-04T15:53:27Z", "hours": 1.4222, "text": "Devlog #5 Told you Spotlight was next. ctrl + K now pulls a command palette up over the desktop, and a set of global shortcuts came along for the ride. What I built Spotlight is one input that searches apps, themes, and wallpapers at the same time. The matching isn’t substring — it’s subsequence. Your letters just have to show up in order, so prj lands on Projects and mdn finds “Theme — midnight”. Type less, get more. That’s the whole pitch. It also isn’t a window. It’s an overlay sitting above the desktop, so it skips the window manager entirely — no z-index fights, no traffic lights, just a backdrop you click away from. Arrow keys move, Enter runs, Esc bails. Boringly predictable, which is exactly what a launcher should be. Same session added global hotkeys through a small useHotkeys hook: ctrl + K for Spotlight, ctrl + W closes the front window, ctrl + M minimizes it, ctrl + , opens Settings, and ctrl + ` cycles through windows. One listener registered on mount, handlers kept in a ref so nothing goes stale. The shortcut minefield Picking key combos for a web app is mostly a game of “what am I not allowed to touch”. ctrl + Tab and ctrl + N belong to the browser, period. That’s how window cycling ended up on the backtick — looks odd, but it sits right above Tab, so your finger barely moves. Accidentally ergonomic. Where PrismaOS stands ctrl + K palette: fuzzy search over apps, themes, wallpapers Global hotkeys: close, minimize, Settings, window cycling Spotlight is an overlay, not a window — the window manager never sees it Next up A virtual filesystem. One tree shared by a Finder-style Files app and the terminal, so cd -ing around and clicking through folders show you the exact same places."}, {"post_id": 40502, "ts": "2026-08-04T02:27:48Z", "hours": 1.5411, "text": "Devlog #4 WebOS 1 shipped, so now I’m on WebOS 2: four new features on top of the 0.2.0 baseline. First one up is a proper Settings app. Until now, the only way to reskin the desktop was typing theme aurora into the terminal like it’s 1995. Charming, but not exactly something you can show people. What I built The Settings window has five sections: theme, wallpaper, accent color, performance, and window layout. Everything routes through os.ts , the little kernel module that owns the document.documentElement attributes and localStorage — so whatever you pick survives a refresh, and restores before the first paint. The wallpaper system was the fun part. The desktop background is just a stack of CSS gradients, so switching wallpapers means flipping one data-wallpaper attribute and letting App.css restyle the whole thing. I added three new ones (mesh, grid, solid) on top of the default liquid. The accent picker is even lazier: it overrides a single --accent variable on top of whatever theme is active, so any accent mixes with any theme for free. I also gave lite mode (blur off, animations off) a manual override. It used to be purely automatic, based on hardware detection. Now if you flip it yourself, your choice wins over the heuristic. The facepalm Also settled something small but important: all UI strings ship in English by default, since this is a public portfolio. A language toggle can come later — English stays the default either way. Where PrismaOS stands Settings app: themes, wallpapers, accent colors, lite mode, layout reset Every choice persists via localStorage and restores before first paint New wallpapers: mesh, grid, solid (liquid stays the default) Next up Spotlight. ctrl + K, fuzzy search over apps, themes, and wallpapers — because clicking is effort."}, {"post_id": 38977, "ts": "2026-08-01T16:25:32Z", "hours": 7.0089, "text": "Devlog #3 Devlog #2 ended with a shell that read as a desktop but a dock where every icon opened a placeholder. This time I filled it in: the real apps, a terminal that can actually drive the OS, and the boot screen I said I’d redo. About, Projects, and Music are real windows now, all registered in one place and opened through the window manager. An app is just an entry — id, title, icon, component — so the dock, the terminal, and the logo menu all launch through the same path. Projects is the one with real structure: a card grid and a detail view off a single useState . I made the cards <button> instead of <div> after realizing I couldn’t tab to a project; that brought focus and Enter/Space back for free. The terminal was the part I cared about most. help , about , projects , ls , open , theme , fastfetch , clear , plus two easter eggs. Parsing was nothing — a split and a switch. The annoying part was that open terminal needs the window manager and theme aurora needs the theme state, both living way above the terminal. I didn’t want to prop-drill the whole WM into a leaf, so the shell talks to src/os.ts instead: import { launchApp , listApps , setTheme , THEMES } from \" ../os \" ; Small module, handlers registered at mount. open returns false for a missing app so I can print no such app instead of failing silently. Command history took two tries — the first walked off the end of the array and left undefined in the input; fix was making -1 mean “not browsing”. Boot screen: the old one was a pulsing logo and a 2400ms bar that measured nothing, opening into a shell with glass and a live clock. Now it prints staged log lines as the bar crosses them (mount display, load tokens, start WM, register apps, start prism-sh), the logo sits on a slow refraction sweep, and any click or key skips it. It only plays once per tab via sessionStorage , and prefers-reduced-motion takes the same fast path. Two bugs turned up prepping the build. npm run build died instantly: src/hooks/useWindows.ts(1,10): error TS6133: 'use' is declared but never read. An autocomplete import { use, ... } I never called. dev doesn’t typecheck, but build is tsc --noEmit && vite build with noUnusedLocals , so the first real build was the first warning. Six characters. The other: About’s only link was href=\"https//github.com/...\" — missing colon, so it read as a relative path and 404’d inside my own site. Clicked past it a dozen times."}, {"post_id": 35217, "ts": "2026-07-26T14:33:42Z", "hours": 2.8786, "text": "Devlog #2 Building my portfolio as an operating system that runs in a browser tab. Picking up from Devlog #1, where the desktop finally had bones — windows you could drag, focus, resize, and minimize — but nothing around them. An empty wallpaper with floating rectangles isn’t an OS; it’s a screensaver. This milestone is about the two pieces of chrome that make it read as a real desktop the instant it loads: the menu bar across the top and the dock along the bottom. A menu bar The menu bar is mostly static — a logo that drops open into an “About / Restart” menu, and the usual File / Edit / View / Help labels that don’t do much yet. The one part that has to feel alive is the clock in the top-right corner. A frozen clock immediately breaks the illusion, so it ticks once a second Nothing fancy — a setInterval that recomputes the formatted string every second and clears itself on unmount. The formatting is where I tripped. The crash that ate the whole screen I wanted the clock in Korean — “7월 26일 (일) 오후 11:24” — so I reached for the browser’s built-in localization instead of hand-formatting dates: const date = d . toLocaleDateString ( \" ko-KR \" , { month : \" short \" , day : \" numeric \" , weekday : \" short \" }) const time = d . toLocaleTimeString ( \" ko_KR \" , { hour : \" 2-digit \" , minute : \" 2-digit \" }) And the app went white. Not a subtly-wrong date — the entire MenuBar component threw and took the tree down with it: Uncaught RangeError: invalid language tag: \"ko_KR\" formatNow MenuBar.tsx:74 It took me an embarrassing minute because the two lines look identical at a glance. Look again: the date says ko-KR , the time says ko_KR . A hyphen on one line, an underscore on the next. The fix was one keystroke — underscore to hyphen — and the shell came back. Lesson filed away: locale tags are hyphenated, always, and Intl validates them strictly enough to crash. Two things to fix properly later — normalize the locale in one constant so I can’t typo it twice, and wrap the shell in an error boundary so a single throw dims one widget instead of nuking the screen. The dock The dock is the fun part. I wanted the macOS-style effect where icons swell as the cursor passes over them and the neighbors ease up too, so it feels like the row is being pushed under a magnifying glass rather than icons popping one at a time. On a trackpad-less touch screen there’s no hover state, so a finger tap would otherwise make the whole dock lurch to wherever you touched. Gating on pointerType === \"mouse\" keeps touch calm and leaves the magnification as a mouse-only flourish, which is exactly where it belongs. Where stands Menu bar with a working logo menu and a live, once-a-second clock. Clock is localized through Intl — after learning the hard way that the tag must be ko-KR , not ko_KR . Dock with smooth Gaussian cursor magnification and a subtle lift, mouse-only. The desktop finally reads as a desktop at first glance, even before any real apps exist. Next up The apps themselves — About and Projects as real windows wired into the window manager, replacing the placeholder stand-ins the dock currently launches. And, not incidentally, the boot sequence needs a proper redesign; the current one is placeholder-grade and doesn’t match the polish of the shell it opens into."}, {"post_id": 33791, "ts": "2026-07-24T00:13:15Z", "hours": 6.5044, "text": "Devlog #1 Building my portfolio as an operating system that runs in a browser tab. Why this exists When I first saw the brief, I honestly just planned to knock something out — the minimum that clears the requirements and move on. But somewhere between the first commit and the second, I changed my mind. If I’m going to build a website anyway, why not make it the website — my actual portfolio. So I decided to treat PrismaOS as the real thing and pour everything I have into it: a portfolio site that is itself the project. Every window, every pixel of the shell, is something I want to be proud to show. That reframing is why this repo suddenly has design tokens, four themes, and a genie animation nobody asked for. The concept: instead of a scrolling landing page, the visitor boots into a tiny web desktop — a menu bar, a dock, draggable windows — and explores my work the way you’d poke around someone’s actual computer. This milestone: the window manager Devlog #1 covers the skeleton — the part that makes it feel like an OS rather One source of truth Every window’s position, size, focus order (z-index), and minimized state lives in a single hook, useWindows . Components never track their own coordinates. Opening, closing, focusing, moving, and resizing all route through that one place. Dragging without dropping frames The naive approach — call setState on every pointer move — makes windows stutter because React re-renders on every pixel. So during a drag I don’t touch state at all. I mutate the DOM node directly ( el.style.left/top ) for a smooth 60fps, and only commit the final position to state when the pointer is released. The other trick is setPointerCapture . Once the pointer is captured, the drag keeps working even if the cursor flies outside the window — or outside the browser entirely. Touch gets the same behavior for free, since Pointer Events unify mouse and touch. handle . setPointerCapture ( e . pointerId ) // ...move: write to el.style directly (no re-render) // ...up: commit once via onDragEnd() Resizing from the bottom-right corner uses the exact same pattern: capture, mutate the DOM live, commit on release. Bug I caught Clicking any window brings it to the front by bumping a z-counter."}]...
|
Title: PrismaOS by @reimunyancat | Stardance
Devl Title: PrismaOS by @reimunyancat | Stardance
Devlogs:
Devlog #1 Building my portfolio as an operating system that runs in a browser tab. Why this exists When I first saw the brief, I honestly just planned to knock something out — the minimum that clears the requirements and move on. But somewhere between the first commit and the second, I changed my mind. If I’m going to build a website anyway, why not make it the website — my actual portfolio. So I decided to treat PrismaOS as the real thing and pour everything I have into it: a portfolio site that is itself the project. Every window, every pixel of the shell, is something I want to be proud to show. That reframing is why this repo suddenly has design tokens, four themes, and a genie animation nobody asked for. The concept: instead of a scrolling landing page, the visitor boots into a tiny web desktop — a menu bar, a dock, draggable windows — and explores my work the way you’d poke around someone’s actual computer. This milestone: the window manager Devlog #1 covers the skeleton — the part that makes it feel like an OS rather One source of truth Every window’s position, size, focus order (z-index), and minimized state lives in a single hook, useWindows . Components never track their own coordinates. Opening, closing, focusing, moving, and resizing all route through that one place. Dragging without dropping frames The naive approach — call setState on every pointer move — makes windows stutter because React re-renders on every pixel. So during a drag I don’t touch state at all. I mutate the DOM node directly ( el.style.left/top ) for a smooth 60fps, and only commit the final position to state when the pointer is released. The other trick is setPointerCapture . Once the pointer is captured, the drag keeps working even if the cursor flies outside the window — or outside the browser entirely. Touch gets the same behavior for free, since Pointer Events unify mouse and touch. handle . setPointerCapture ( e . pointerId ) // ...move: write to el.style directly (no re-render) // ...up: commit once via onDragEnd() Resizing from the bottom-right corner uses the exact same pattern: capture, mutate the DOM live, commit on release. Bug I caught Clicking any window brings it to the front by bumping a z-counter.
Devlog #2 Building my portfolio as an operating system that runs in a browser tab. Picking up from Devlog #1, where the desktop finally had bones — windows you could drag, focus, resize, and minimize — but nothing around them. An empty wallpaper with floating rectangles isn’t an OS; it’s a screensaver. This milestone is about the two pieces of chrome that make it read as a real desktop the instant it loads: the menu bar across the top and the dock along the bottom. A menu bar The menu bar is mostly static — a logo that drops open into an “About / Restart” menu, and the usual File / Edit / View / Help labels that don’t do much yet. The one part that has to feel alive is the clock in the top-right corner. A frozen clock immediately breaks the illusion, so it ticks once a second Nothing fancy — a setInterval that recomputes the formatted string every second and clears itself on unmount. The formatting is where I tripped. The crash that ate the whole screen I wanted the clock in Korean — “7월 26일 (일) 오후 11:24” — so I reached for the browser’s built-in localization instead of hand-formatting dates: const date = d . toLocaleDateString ( " ko-KR " , { month : " short " , day : " numeric " , weekday : " short " }) const time = d . toLocaleTimeString ( " ko_KR " , { hour : " 2-digit " , minute : " 2-digit " }) And the app went white. Not a subtly-wrong date — the entire MenuBar component threw and took the tree down with it: Uncaught RangeError: invalid language tag: "ko_KR" formatNow MenuBar.tsx:74 It took me an embarrassing minute because the two lines look identical at a glance. Look again: the date says ko-KR , the time says ko_KR . A hyphen on one line, an underscore on the next. The fix was one keystroke — underscore to hyphen — and the shell came back. Lesson filed away: locale tags are hyphenated, always, and Intl validates them strictly enough to crash. Two things to fix properly later — normalize the locale in one constant so I can’t typo it twice, and wrap the shell in an error boundary so a single throw dims one widget instead of nuking the screen. The dock The dock is the fun part. I wanted the macOS-style effect where icons swell as the cursor passes over them and the neighbors ease up too, so it feels like the row is being pushed under a magnifying glass rather than icons popping one at a time. On a trackpad-less touch screen there’s no hover state, so a finger tap would otherwise make the whole dock lurch to wherever you touched. Gating on pointerType === "mouse" keeps touch calm and leaves the magnification as a mouse-only flourish, which is exactly where it belongs. Where stands Menu bar with a working logo menu and a live, once-a-second clock. Clock is localized through Intl — after learning the hard way that the tag must be ko-KR , not ko_KR . Dock with smooth Gaussian cursor magnification and a subtle lift, mouse-only. The desktop finally reads as a desktop at first glance, even before any real apps exist. Next up The apps themselves — About and Projects as real windows wired into the window manager, replacing the placeholder stand-ins the dock currently launches. And, not incidentally, the boot sequence needs a proper redesign; the current one is placeholder-grade and doesn’t match the polish of the shell it opens into.
Devlog #3 Devlog #2 ended with a shell that read as a desktop but a dock where every icon opened a placeholder. This time I filled it in: the real apps, a terminal that can actually drive the OS, and the boot screen I said I’d redo. About, Projects, and Music are real windows now, all registered in one place and opened through the window manager. An app is just an entry — id, title, icon, component — so the dock, the terminal, and the logo menu all launch through the same path. Projects is the one with real structure: a card grid and a detail view off a single useState . I made the cards <button> instead of <div> after realizing I couldn’t tab to a project; that brought focus and Enter/Space back for free. The terminal was the part I cared about most. help , about , projects , ls , open , theme , fastfetch , clear , plus two easter eggs. Parsing was nothing — a split and a switch. The annoying part was that open terminal needs the window manager and theme aurora needs the theme state, both living way above the terminal. I didn’t want to prop-drill the whole WM into a leaf, so the shell talks to src/os.ts instead: import { launchApp , listApps , setTheme , THEMES } from " ../os " ; Small module, handlers registered at mount. open returns false for a missing app so I can print no such app instead of failing silently. Command history took two tries — the first walked off the end of the array and left undefined in the input; fix was making -1 mean “not browsing”. Boot screen: the old one was a pulsing logo and a 2400ms bar that measured nothing, opening into a shell with glass and a live clock. Now it prints staged log lines as the bar crosses them (mount display, load tokens, start WM, register apps, start prism-sh), the logo sits on a slow refraction sweep, and any click or key skips it. It only plays once per tab via sessionStorage , and prefers-reduced-motion takes the same fast path. Two bugs turned up prepping the build. npm run build died instantly: src/hooks/useWindows.ts(1,10): error TS6133: 'use' is declared but never read. An autocomplete import { use, ... } I never called. dev doesn’t typecheck, but build is tsc --noEmit && vite build with noUnusedLocals , so the first real build was the first warning. Six characters. The other: About’s only link was href="https//github.com/..." — missing colon, so it read as a relative path and 404’d inside my own site. Clicked past it a dozen times.
Devlog #4 WebOS 1 shipped, so now I’m on WebOS 2: four new features on top of the 0.2.0 baseline. First one up is a proper Settings app. Until now, the only way to reskin the desktop was typing theme aurora into the terminal like it’s 1995. Charming, but not exactly something you can show people. What I built The Settings window has five sections: theme, wallpaper, accent color, performance, and window layout. Everything routes through os.ts , the little kernel module that owns the document.documentElement attributes and localStorage — so whatever you pick survives a refresh, and restores before the first paint. The wallpaper system was the fun part. The desktop background is just a stack of CSS gradients, so switching wallpapers means flipping one data-wallpaper attribute and letting App.css restyle the whole thing. I added three new ones (mesh, grid, solid) on top of the default liquid. The accent picker is even lazier: it overrides a single --accent variable on top of whatever theme is active, so any accent mixes with any theme for free. I also gave lite mode (blur off, animations off) a manual override. It used to be purely automatic, based on hardware detection. Now if you flip it yourself, your choice wins over the heuristic. The facepalm Also settled something small but important: all UI strings ship in English by default, since this is a public portfolio. A language toggle can come later — English stays the default either way. Where PrismaOS stands Settings app: themes, wallpapers, accent colors, lite mode, layout reset Every choice persists via localStorage and restores before first paint New wallpapers: mesh, grid, solid (liquid stays the default) Next up Spotlight. ctrl + K, fuzzy search over apps, themes, and wallpapers — because clicking is effort.
Devlog #5 Told you Spotlight was next. ctrl + K now pulls a command palette up over the desktop, and a set of global shortcuts came along for the ride. What I built Spotlight is one input that searches apps, themes, and wallpapers at the same time. The matching isn’t substring — it’s subsequence. Your letters just have to show up in order, so prj lands on Projects and mdn finds “Theme — midnight”. Type less, get more. That’s the whole pitch. It also isn’t a window. It’s an overlay sitting above the desktop, so it skips the window manager entirely — no z-index fights, no traffic lights, just a backdrop you click away from. Arrow keys move, Enter runs, Esc bails. Boringly predictable, which is exactly what a launcher should be. Same session added global hotkeys through a small useHotkeys hook: ctrl + K for Spotlight, ctrl + W closes the front window, ctrl + M minimizes it, ctrl + , opens Settings, and ctrl + ` cycles through windows. One listener registered on mount, handlers kept in a ref so nothing goes stale. The shortcut minefield Picking key combos for a web app is mostly a game of “what am I not allowed to touch”. ctrl + Tab and ctrl + N belong to the browser, period. That’s how window cycling ended up on the backtick — looks odd, but it sits right above Tab, so your finger barely moves. Accidentally ergonomic. Where PrismaOS stands ctrl + K palette: fuzzy search over apps, themes, wallpapers Global hotkeys: close, minimize, Settings, window cycling Spotlight is an overlay, not a window — the window manager never sees it Next up A virtual filesystem. One tree shared by a Finder-style Files app and the terminal, so cd -ing around and clicking through folders show you the exact same places.
Devlog #6 Last time I promised a virtual filesystem. It’s here — plus window snapping, which sneaked in because I got tired of dragging windows into place by hand. One tree, two apps The whole filesystem is a single fs.ts file: a nested tree of directories and files, no disk involved. What makes it worth building is that Files and the terminal both read from that same tree. Click into ~/Projects in Files, then type cd ~/Projects in the terminal, and you’re looking at the same list. Neither app owns the data, so they can’t drift apart. Files ended up as a three-pane Finder: places sidebar, listing, preview at the bottom. Folders are sorted before files, hidden dotfiles are filtered out unless you ask. App bundles carry an app field, so selecting Terminal.app and hitting “Open in app” launches the real window — the fake filesystem reaches back into the real OS, which is a nicer trick than it has any right to be. The terminal grew pwd , ls , cd , cat , and a smarter open . Path handling is the part nobody sees: one normalizePath swallows ~ , . , .. , and relative paths, spits out a clean absolute path, and every command routes through it. Write that once and cd ../../Users/nyancat just works. Skip it and you’re writing string hacks forever. I also stash the current directory on every input line, so scrolling back up shows the prompt exactly as it was — prism ~/Projects $ and not a rewritten one. Small thing. Feels wrong immediately when it’s missing. Throwing windows at walls Snapping turned out to be a two-line idea buried under a plumbing problem. Drop a window near the left edge and it fills the left half; right edge, right half; top edge, full screen. The catch: the drag hook only knew where the window ended up, not where the cursor was. Those are different by however far from the titlebar’s corner you happened to grab. Drag by the right side of the titlebar and the window’s own x never gets close to the left edge, so nothing snaps and you sit there wondering if you broke it. Fix was to pass the pointer coordinates along with the final position and judge the zone by the cursor. The bug I found while I was in there Opening the window manager back up, I noticed the layout restore was saved ?? app.initial — and move() only writes {x, y} . So move a window, close it, reopen: the saved partial wins, width and height come back undefined , Math.min(undefined, vw) gives NaN , and the window collapses to the size of its own text. It only shows up if you move a window without ever resizing it, which is why it survived this long. Merging over the defaults instead of replacing them fixes it, and I bumped the storage key to prisma-layout-v2 so old broken entries get ignored rather than restored. Where PrismaOS stands Virtual filesystem shared by Files and the terminal — same paths, same contents Files app: sidebar, listing, preview, and launching apps straight from bundles Terminal: pwd , ls (with -a ), cd , cat , open <app|file> Window snapping to left, right, and full screen, plus the layout NaN fix Next up Wrapping up. Version bump to 0.3.0, a pass over the leftovers, and shipping the whole thing.
Ships:
I built PrismaOS, a portfolio that boots and runs like a desktop OS inside a browser tab. Instead of a normal scrolling page, you get a boot sequence, a wallpaper, a menu bar with a live clock, and a dock. Every app opens as a real window you can drag around, focus, resize, and minimize, and the layout you leave behind is remembered. I didn’t want it to look like the guide, so I built my own visual language around a prism theme and shipped four switchable themes: aqua, graphite, midnight, and aurora. The dock has macOS-style cursor magnification, and the whole shell has its own glass look rather than the default one from the walkthrough. The feature the guide didn’t ask for is a working terminal. It’s not a prop. It runs help, about, projects, ls, open, theme, and fastfetch, it keeps command history, and it talks to the OS through a small syscall module so open terminal and theme aurora actually reach into the window manager and theme state. There are also two easter eggs in there for anyone who pokes around. My goal is to further develop it later into a portfolio site worthy of being featured on my GitHub profile.
PrismaOS is a desktop OS that runs in a browser tab. It was already a working shell after WebOS 1, so this round I went after the things that made it feel like a demo instead of a system: settings you can actually change, a way to get anywhere without the mouse, real files, and windows that behave. There are four new things since WebOS 1. Settings. A real preferences app. Four themes, four wallpapers (liquid, mesh, grid, solid), a custom accent color, and a lite mode that kills blur and background animation for weak machines. Everything writes to localStorage and restores before the first paint, so there is no flash of the wrong theme on reload. Spotlight. Press ctrl + K anywhere and you get fuzzy search over apps, themes and wallpapers. Arrow keys and enter, escape to close. It turned out to be the fastest way to use the whole OS and I now open everything with it. A virtual filesystem. There is an actual tree in memory with a Files app on top of it, and the terminal talks to the same tree. pwd, ls, cd, cat and open all work, and open hands the file to the Files app. One source of truth for two very different interfaces was the part I enjoyed most. Window snapping and global shortcuts. Drag a window to a screen edge and it snaps to half or a quarter with a preview overlay first. Plus keyboard shortcuts for closing, minimizing, cycling and resetting the layout. The hardest part was window state. Saved layouts only stored x and y, so on restore the width and height came back undefined and every clamp turned into NaN. Windows loaded at zero size in the top left corner and I stared at it for a while before I understood what I was looking at. The fix was merging saved values over the defaults instead of replacing them, and bumping the storage key. To test it: open the site, hit ctrl + K and type anything. Try the terminal with ls and cd System, then cat version. Drag a window into the left edge and let go. Open Settings and switch the wallpaper to liquid, then turn on lite mode and watch the blur disappear. If the layout ever gets messy, Settings has a reset button....
|
1792878685.3973277
|
1793742685.3973277
|
|
15069
|
VKGPGPU by @sergey5588 | Stardance
|
sergey5588
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T16:34:33Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made VKGPGPU, this is C11 library that uses vulkan under the hood and provides simpler access to general purpose computing on GPU (something like CUDA but more lightweight) im planning to make simple perceptron neural network with it. Learning vulkan was challenging, i still don’t know majority of things (graphics pipeline), I’m proud that this thing works and i enjoy my code quality. To test my project people need to know basic GPU concepts and some shading language that can compile to SPIRV (GLSL is the easiest)", "repo": "https://github.com/Sergey5588/vkgpgpu", "demo": "https://github.com/Sergey5588/vkgpgpu/releases/tag/v0.0.1-test"}]...
|
[{"post_id": 72722, "ts": "202 [{"post_id": 72722, "ts": "2026-09-23T16:21:26Z", "hours": 0.7611, "text": "Pushed v0.0.1-test, test version, added some macros for debug things and lib release things"}, {"post_id": 66589, "ts": "2026-09-12T13:14:15Z", "hours": 0.7764, "text": "Made github workflow for release automation, very cool, still not tested tho"}, {"post_id": 56789, "ts": "2026-08-28T18:19:19Z", "hours": 0.2728, "text": "Made build.sh to build static and shared libs, now i have 67 commits in my repo"}, {"post_id": 53274, "ts": "2026-08-23T18:44:36Z", "hours": 1.0717, "text": "Just made small fixes, nothing else to say"}, {"post_id": 42551, "ts": "2026-08-07T11:27:36Z", "hours": 4.9567, "text": "I rewrote api so now its recording cmd buffer and in theory multiple dispatches and programs can be in pipeline, its working!!!!!!!"}, {"post_id": 26068, "ts": "2026-07-10T17:31:56Z", "hours": 3.0831, "text": "Implemented push constant, now you can push some int, float and bool types"}, {"post_id": 24867, "ts": "2026-07-08T18:34:02Z", "hours": 0.3053, "text": "did small fixes, now there is no TODO s in the code"}, {"post_id": 16373, "ts": "2026-06-26T17:21:09Z", "hours": 0.8922, "text": "You can actually run compute shader now!!!!! here is the compute shader itself and a code to run it:"}, {"post_id": 15776, "ts": "2026-06-25T17:20:21Z", "hours": 3.2008, "text": "I almost lost my mind, but turned out i forgot to reset file pointer after getting file size so actual file data was never read. Implemented: Kernel loading Example shader that copies data from buffer A to buffer B Here is code for shader (not tested, cmd buffer dispatch not yet implemented) and output:"}, {"post_id": 15249, "ts": "2026-06-24T19:18:47Z", "hours": 1.19, "text": "Implemented buffer map and unmap. And everything is a pointer now"}, {"post_id": 15159, "ts": "2026-06-24T17:01:27Z", "hours": 1.8239, "text": "Added buffer creation and destruction. Public API looks like this:"}, {"post_id": 13875, "ts": "2026-06-22T18:50:51Z", "hours": 0.9347, "text": "implemented queue selection and logical device creation, there is nothing new to show so here is the diff 😔"}, {"post_id": 13702, "ts": "2026-06-22T13:50:40Z", "hours": 3.1225, "text": "Made initial project structure, vulkan instance loading and physical device initialization"}]...
|
Title: VKGPGPU by @sergey5588 | Stardance
Devlogs Title: VKGPGPU by @sergey5588 | Stardance
Devlogs:
Made initial project structure, vulkan instance loading and physical device initialization
implemented queue selection and logical device creation, there is nothing new to show so here is the diff 😔
Added buffer creation and destruction. Public API looks like this:
Implemented buffer map and unmap. And everything is a pointer now
I almost lost my mind, but turned out i forgot to reset file pointer after getting file size so actual file data was never read. Implemented: Kernel loading Example shader that copies data from buffer A to buffer B Here is code for shader (not tested, cmd buffer dispatch not yet implemented) and output:
You can actually run compute shader now!!!!! here is the compute shader itself and a code to run it:
did small fixes, now there is no TODO s in the code
Implemented push constant, now you can push some int, float and bool types
I rewrote api so now its recording cmd buffer and in theory multiple dispatches and programs can be in pipeline, its working!!!!!!!
Just made small fixes, nothing else to say
Made build.sh to build static and shared libs, now i have 67 commits in my repo
Made github workflow for release automation, very cool, still not tested tho
Pushed v0.0.1-test, test version, added some macros for debug things and lib release things
Ships:
I made VKGPGPU, this is C11 library that uses vulkan under the hood and provides simpler access to general purpose computing on GPU (something like CUDA but more lightweight) im planning to make simple perceptron neural network with it. Learning vulkan was challenging, i still don’t know majority of things (graphics pipeline), I’m proud that this thing works and i enjoy my code quality. To test my project people need to know basic GPU concepts and some shading language that can compile to SPIRV (GLSL is the easiest)...
|
1793148606.6221974
|
1793235006.6221974
|
|
16442
|
Booksole by @anujkishan918 | Stardance
|
anujkishan918
|
1
|
22.0
|
418
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T14:56:17Z", "hours": 22.0, "multiplier": 19.39, "payout": 418, "blessing": "neutral", "text": "BOOKSOLE is an interactive platform based on the idea of the retro game-console for Choose your own adventure books like the ones from goosebumps which are my favorite now you can play these books directly in your browser. The idea behind the application was to allow the users to feel that they were inserting a cartridge into the old game console, not just opening some document reader. The whole project is done using only one HTML-file and comprises such features as a library, ability to import TXT- and EPUB-formatted books, parser of branch stories, save slots, achievements, journal, searching and many more. The main difficulties in the process of development of BOOKSOLE were to develop an adaptable parser that could parse various gamebooks with different styles, page numbering and endings, and to coordinate all the features of the application. It was difficult to create a proper parser because of different styles of writing the gamebooks and to develop something that would be able to correctly parse all the books. One of the other problems is connected with application state management. Due to the presence of saves, achievements, endings found, journal and statistic information the application had to keep track of all of these at once. A user interface design was yet another crucial aspect of the project. Instead of working on a common reader app, I aimed at creating the whole process to be similar to playing with an old retro game console. This includes such elements as a booting process, cartridge library, achievements display, saving slots system, and several themed menus, all of which have the same aesthetic design. Moreover, the latest version of the software contains a redesign of an introductory animation, which involves changing a mere placeholder to a wider screen space, better pixel art and more sprites. There are a lot of aspects in my project I am particularly proud of, but the most noteworthy is the number of features implemented in just one HTML file. The process of development changed a simple reader program into a complex platform with progression, collectibles, searchable stories, saving system, paths tracking, and library management of several books. Besides, I believe that I achieved success in terms of presentation: whereas many other IF programs are concerned only with their functionality, BOOKSOLE is more playful and nostalgic. For testing the project, it is necessary to firstly download the html file from Github and open the downloaded HTML file ,Watch or skip through the intro and go straight to the boot screen with the help of a special button. After loading the system, you should import an acceptable TXT or EPUB file and open the cartridge with the imported gamebook. You can begin playing and making choices. You can try forming save slots, achieving accomplishments, finding keywords, and exploring story lines. All found endings will be registered in the journal, and all visited places will appear on the map of endings.", "repo": "https://github.com/Anuj981-blip/Booksole", "demo": "https://anuj981-blip.github.io/Booksole/"}]...
|
[{"post_id": 10640, "ts": "202 [{"post_id": 10640, "ts": "2026-06-17T14:30:37Z", "hours": 4.1536, "text": "Introduction Cutscene Redesign This build focused exclusively on overhauling the intro cutscene that plays before the BOOKSOLE boot sequence. At the start of development, BOOKSOLE was already a complete self-contained HTML application featuring a retro game-console styled gamebook reader, cartridge library, EPUB/TXT importers, branching-choice reader, save slots, achievements, journal, and search functionality. The only unfinished-looking component was the opening cutscene, which functioned correctly but felt more like a placeholder than a polished introduction.The original cutscene ran on a 480×270 canvas with 3× pixel scaling. Characters were built from simple flat rectangles with very little detail, while backgrounds consisted mostly of solid colors and basic shapes. Rather than patching the existing artwork, the entire rendering system was rebuilt. The canvas size was increased to 640×360 while maintaining the 16:9 aspect ratio, and logical pixel size was increased from 3px to 4px. This provided significantly more room for detail while preserving the chunky pixel-art style.A major part of the redesign was expanding the color palette. The original palette contained around 25 colors, which limited shading options. The new palette contains roughly 60 colors organized by material type, allowing characters, props, and environments to use highlights, shadows, and depth. Every major sprite was rebuilt with proper shading and detail. New assets such as the moon, roof, curtains, chimney, mailbox, and ground elements were added, alongside three new creatures: a ventriloquist dummy, a haunted mask with glowing eyes, and a sinister garden gnome.Because the larger canvas changed the coordinate system substantially, all seven intro scenes were rebuilt from scratch rather than modified. These scenes include the title card, Victor spying on his neighbors, Victor’s laboratory, the package delivery, Max opening the package, the digital vortex sequence, and the final library reveal.A significant amount of work came from visual issues that automated testing could not detect. Screenshot reviews revealed problems such as furniture partially covering characters’ faces, fan letters floating unrealistically above a mailbox, an incorrectly proportioned hand holding the cartridge, and perspective lines that unintentionally converged behind a character’s head. These issues were corrected through scene-by-scene layout adjustments. The computer monitor in Victor’s lab was also redesigned so its display resembled actual code instead of loading bars.Another major improvement involved the dialogue system. The original dialogue box occupied a large opaque panel that obscured much of the artwork. It was replaced with a slimmer translucent gradient banner that automatically adjusts to the amount of text being displayed, allowing players to see more of each scene while maintaining readability.A final narrative pass strengthened the ending by moving previously hidden monsters into the foreground and adding narration that draws attention to them. Additional in-universe book titles, including The Babysitter’s Basement and Camp Deadlake, were added as flavor text to reinforce the horror-book atmosphere.Testing combined headless runtime simulation with manual screenshot review. Automated testing successfully identified runtime issues, while screenshot reviews were essential for catching visual composition problems. The intro remains a scripted sequence with click-to-advance dialogue and a SKIP INTRO option that jumps directly to the boot sequence. No changes were made to the library, parser, reader, saves, achievements, journal, or search systems; this update was focused entirely on improving the quality and presentation of the seven-scene introduction."}, {"post_id": 9930, "ts": "2026-06-16T13:31:06Z", "hours": 5.4014, "text": "BOOKSOLE v0.5 — It Finally Feels Like a Real Thing For a while, BOOKSOLE could load interactive books, parse them, and let you navigate choices, but it still felt like a tool. Functional, but not something with an identity. This update was about changing that. The biggest addition is the new library system. Instead of dropping straight into a book, you now land in a cartridge-style library where every story lives on a shelf. You can browse covers, check metadata, see your progress, and launch a book like you’re pulling a game off an old console rack. That shift sounds small, but it completely changed how the project feels. The other thing I spent an unreasonable amount of time on was the intro sequence. I could have gone with a simple splash screen, but instead I ended up building a fully animated pixel-art opening scene from scratch. Every character, prop, and background element is drawn procedurally on a canvas. Max, Victor, the mysterious cartridge, the old CRT aesthetic—it’s all there. Was it necessary? Absolutely not. But it was fun, and BOOKSOLE is the kind of project where atmosphere matters. After the intro, the application now boots like a retro console. There’s a fake startup sequence, loading messages, scanlines, pulsing graphics, and all the little details that make it feel like you’re powering on a strange forgotten machine rather than opening a web app. I also added a proper book details screen. Books now have their own dedicated page with cover art, author information, descriptions, tags, and progress statistics. It makes imported stories feel more like collectibles and less like files sitting in a folder. On the gameplay side, save slots finally arrived. This was something I wanted from the beginning because gamebooks are all about experimentation. Sometimes you want to make the reckless choice just to see what happens. Multiple save slots make that possible without destroying a perfectly good run. To support replayability even more, I built an ending discovery system. BOOKSOLE now keeps track of endings you’ve found and visualizes them through a simple ending map. Good endings, bad endings, weird endings—you can slowly fill out your collection as you explore different routes. There’s also a lightweight achievement system now. Nothing too serious, just a way to track things like choices made, pages visited, endings discovered, and total runs. It’s a small thing, but it reinforces the idea that reading these books is closer to playing a game than reading a novel. Another feature I’m surprisingly happy with is the journal. While testing branching stories, I kept finding myself taking notes elsewhere. So now BOOKSOLE has a built-in journal where players can leave thoughts, theories, and route notes while they play. It feels especially useful for mystery stories or books with hidden paths. A few quality-of-life improvements made it in too: Search across story pages Adjustable font sizes Backtracking through visited pages Import/export support for saves and progress Better organization of runs and statistics Looking at the project now, it finally feels like the original vision is starting to come together. The idea was never to build another ebook reader. The idea was to build a fictional retro console dedicated entirely to interactive fiction. A place where opening a book feels like inserting a cartridge. Version 0.5 is probably the first release where that idea actually comes across. Next up, I’m focusing on better EPUB support, smarter metadata extraction, richer achievement systems, and generally making the stories themselves feel more alive inside the platform. But for now, I’m pretty happy with where BOOKSOLE is. It’s weird. It’s overly nostalgic. And it’s finally starting to feel like its own thing."}, {"post_id": 9276, "ts": "2026-06-15T16:03:12Z", "hours": 5.5922, "text": "Added a new Home Screen and an intro story"}, {"post_id": 8809, "ts": "2026-06-14T17:12:37Z", "hours": 4.4892, "text": "Devlog 2 Added a boot screen and implemented a proper parser. I tested it with Give Yourself Goosebumps #15: Don’t Feed the Vampire , and it worked very well. This was a major milestone and greatly increased my confidence in the project. My next goal is to add support for user-created stories so that players can create and share their own interactive adventures. This will make the project more flexible and allow the community to contribute new content."}, {"post_id": 7677, "ts": "2026-06-12T20:31:04Z", "hours": 1.9189, "text": "When Books Become Cartridges A self-hosted, browser-based book console where your CYOA novels are the game. I’ve been thinking about what it would look like if the “Give Yourself Goosebumps” series never stopped being a game. You’d pick up the book, flip to a page, make a choice, flip again — and the whole time it felt less like reading and more like playing. The book was the cartridge. You were the console. That’s the idea behind Booksole. What is it? Booksole is a , single-file HTML app (for now)that turns choose-your-own-adventure books into playable games — complete with save slots, multiple playthroughs, auto-generated achievements, and an endings tracker. You drop in a plain .txt copy of your book. The app parses it, maps out all the branching paths, counts the endings, and boots it up like a game cartridge being slotted into a console. No server. No sign-up. No subscription. Just a file in a browser. The whole thing runs locally. Your books never leave your device. The Inspiration R.L. Stine’s Give Yourself Goosebumps series was my first experience with non-linear storytelling. You weren’t just reading — you were playing. Every “turn to page 52” was a decision with consequences. Some paths led to victory. Most led to something horrible. And the thrill was in finding all of them. Modern games have achievements, save states, completion trackers. Why don’t books? Stardance answers that question. It treats your book like a game ROM. It reads the branching structure, builds a graph of every page and decision, and wraps the whole thing in an interface that feels like a retro console — monospace font, dark terminal aesthetic, endings map, achievement popups. Every book you upload gets its own automatically generated achievement list based on its structure: find your first ending, reach a good ending, discover all the bad endings, finish in three choices or fewer. The game figures out what’s achievable by analyzing the book itself at parse time. v0.1 — What’s in it Cartridge loading — drop a .txt file and the parser scans for page markers and “turn to page X” instructions, rebuilds the branching tree, and launches Multiple save slots — run through the book multiple times simultaneously, each as a separate playthrough Endings map — a dot grid showing every ending in the book, colored by type (good / bad / neutral), filling in as you discover them Auto-generated achievements — built from graph analysis at load time, no hand-crafting needed Achievement toasts — unlock notifications that feel like a game, not a reading app Session stats choices made, pages visited, play throughs started, endings found Persistent saves everything lives in localStorage, survives page reloads the entire app is one .html file, no build step, no dependencies, no installing any software If any one has any suggestions on any features to add or any technologies that could be incorporated to make the development or the user experience easier please do give feedback"}]...
|
Title: Booksole by @anujkishan918 | Stardance
Dev Title: Booksole by @anujkishan918 | Stardance
Devlogs:
When Books Become Cartridges A self-hosted, browser-based book console where your CYOA novels are the game. I’ve been thinking about what it would look like if the “Give Yourself Goosebumps” series never stopped being a game. You’d pick up the book, flip to a page, make a choice, flip again — and the whole time it felt less like reading and more like playing. The book was the cartridge. You were the console. That’s the idea behind Booksole. What is it? Booksole is a , single-file HTML app (for now)that turns choose-your-own-adventure books into playable games — complete with save slots, multiple playthroughs, auto-generated achievements, and an endings tracker. You drop in a plain .txt copy of your book. The app parses it, maps out all the branching paths, counts the endings, and boots it up like a game cartridge being slotted into a console. No server. No sign-up. No subscription. Just a file in a browser. The whole thing runs locally. Your books never leave your device. The Inspiration R.L. Stine’s Give Yourself Goosebumps series was my first experience with non-linear storytelling. You weren’t just reading — you were playing. Every “turn to page 52” was a decision with consequences. Some paths led to victory. Most led to something horrible. And the thrill was in finding all of them. Modern games have achievements, save states, completion trackers. Why don’t books? Stardance answers that question. It treats your book like a game ROM. It reads the branching structure, builds a graph of every page and decision, and wraps the whole thing in an interface that feels like a retro console — monospace font, dark terminal aesthetic, endings map, achievement popups. Every book you upload gets its own automatically generated achievement list based on its structure: find your first ending, reach a good ending, discover all the bad endings, finish in three choices or fewer. The game figures out what’s achievable by analyzing the book itself at parse time. v0.1 — What’s in it Cartridge loading — drop a .txt file and the parser scans for page markers and “turn to page X” instructions, rebuilds the branching tree, and launches Multiple save slots — run through the book multiple times simultaneously, each as a separate playthrough Endings map — a dot grid showing every ending in the book, colored by type (good / bad / neutral), filling in as you discover them Auto-generated achievements — built from graph analysis at load time, no hand-crafting needed Achievement toasts — unlock notifications that feel like a game, not a reading app Session stats choices made, pages visited, play throughs started, endings found Persistent saves everything lives in localStorage, survives page reloads the entire app is one .html file, no build step, no dependencies, no installing any software If any one has any suggestions on any features to add or any technologies that could be incorporated to make the development or the user experience easier please do give feedback
Devlog 2 Added a boot screen and implemented a proper parser. I tested it with Give Yourself Goosebumps #15: Don’t Feed the Vampire , and it worked very well. This was a major milestone and greatly increased my confidence in the project. My next goal is to add support for user-created stories so that players can create and share their own interactive adventures. This will make the project more flexible and allow the community to contribute new content.
Added a new Home Screen and an intro story
BOOKSOLE v0.5 — It Finally Feels Like a Real Thing For a while, BOOKSOLE could load interactive books, parse them, and let you navigate choices, but it still felt like a tool. Functional, but not something with an identity. This update was about changing that. The biggest addition is the new library system. Instead of dropping straight into a book, you now land in a cartridge-style library where every story lives on a shelf. You can browse covers, check metadata, see your progress, and launch a book like you’re pulling a game off an old console rack. That shift sounds small, but it completely changed how the project feels. The other thing I spent an unreasonable amount of time on was the intro sequence. I could have gone with a simple splash screen, but instead I ended up building a fully animated pixel-art opening scene from scratch. Every character, prop, and background element is drawn procedurally on a canvas. Max, Victor, the mysterious cartridge, the old CRT aesthetic—it’s all there. Was it necessary? Absolutely not. But it was fun, and BOOKSOLE is the kind of project where atmosphere matters. After the intro, the application now boots like a retro console. There’s a fake startup sequence, loading messages, scanlines, pulsing graphics, and all the little details that make it feel like you’re powering on a strange forgotten machine rather than opening a web app. I also added a proper book details screen. Books now have their own dedicated page with cover art, author information, descriptions, tags, and progress statistics. It makes imported stories feel more like collectibles and less like files sitting in a folder. On the gameplay side, save slots finally arrived. This was something I wanted from the beginning because gamebooks are all about experimentation. Sometimes you want to make the reckless choice just to see what happens. Multiple save slots make that possible without destroying a perfectly good run. To support replayability even more, I built an ending discovery system. BOOKSOLE now keeps track of endings you’ve found and visualizes them through a simple ending map. Good endings, bad endings, weird endings—you can slowly fill out your collection as you explore different routes. There’s also a lightweight achievement system now. Nothing too serious, just a way to track things like choices made, pages visited, endings discovered, and total runs. It’s a small thing, but it reinforces the idea that reading these books is closer to playing a game than reading a novel. Another feature I’m surprisingly happy with is the journal. While testing branching stories, I kept finding myself taking notes elsewhere. So now BOOKSOLE has a built-in journal where players can leave thoughts, theories, and route notes while they play. It feels especially useful for mystery stories or books with hidden paths. A few quality-of-life improvements made it in too: Search across story pages Adjustable font sizes Backtracking through visited pages Import/export support for saves and progress Better organization of runs and statistics Looking at the project now, it finally feels like the original vision is starting to come together. The idea was never to build another ebook reader. The idea was to build a fictional retro console dedicated entirely to interactive fiction. A place where opening a book feels like inserting a cartridge. Version 0.5 is probably the first release where that idea actually comes across. Next up, I’m focusing on better EPUB support, smarter metadata extraction, richer achievement systems, and generally making the stories themselves feel more alive inside the platform. But for now, I’m pretty happy with where BOOKSOLE is. It’s weird. It’s overly nostalgic. And it’s finally starting to feel like its own thing.
Introduction Cutscene Redesign This build focused exclusively on overhauling the intro cutscene that plays before the BOOKSOLE boot sequence. At the start of development, BOOKSOLE was already a complete self-contained HTML application featuring a retro game-console styled gamebook reader, cartridge library, EPUB/TXT importers, branching-choice reader, save slots, achievements, journal, and search functionality. The only unfinished-looking component was the opening cutscene, which functioned correctly but felt more like a placeholder than a polished introduction.The original cutscene ran on a 480×270 canvas with 3× pixel scaling. Characters were built from simple flat rectangles with very little detail, while backgrounds consisted mostly of solid colors and basic shapes. Rather than patching the existing artwork, the entire rendering system was rebuilt. The canvas size was increased to 640×360 while maintaining the 16:9 aspect ratio, and logical pixel size was increased from 3px to 4px. This provided significantly more room for detail while preserving the chunky pixel-art style.A major part of the redesign was expanding the color palette. The original palette contained around 25 colors, which limited shading options. The new palette contains roughly 60 colors organized by material type, allowing characters, props, and environments to use highlights, shadows, and depth. Every major sprite was rebuilt with proper shading and detail. New assets such as the moon, roof, curtains, chimney, mailbox, and ground elements were added, alongside three new creatures: a ventriloquist dummy, a haunted mask with glowing eyes, and a sinister garden gnome.Because the larger canvas changed the coordinate system substantially, all seven intro scenes were rebuilt from scratch rather than modified. These scenes include the title card, Victor spying on his neighbors, Victor’s laboratory, the package delivery, Max opening the package, the digital vortex sequence, and the final library reveal.A significant amount of work came from visual issues that automated testing could not detect. Screenshot reviews revealed problems such as furniture partially covering characters’ faces, fan letters floating unrealistically above a mailbox, an incorrectly proportioned hand holding the cartridge, and perspective lines that unintentionally converged behind a character’s head. These issues were corrected through scene-by-scene layout adjustments. The computer monitor in Victor’s lab was also redesigned so its display resembled actual code instead of loading bars.Another major improvement involved the dialogue system. The original dialogue box occupied a large opaque panel that obscured much of the artwork. It was replaced with a slimmer translucent gradient banner that automatically adjusts to the amount of text being displayed, allowing players to see more of each scene while maintaining readability.A final narrative pass strengthened the ending by moving previously hidden monsters into the foreground and adding narration that draws attention to them. Additional in-universe book titles, including The Babysitter’s Basement and Camp Deadlake, were added as flavor text to reinforce the horror-book atmosphere.Testing combined headless runtime simulation with manual screenshot review. Automated testing successfully identified runtime issues, while screenshot reviews were essential for catching visual composition problems. The intro remains a scripted sequence with click-to-advance dialogue and a SKIP INTRO option that jumps directly to the boot sequence. No changes were made to the library, parser, reader, saves, achievements, journal, or search systems; this update was focused entirely on improving the quality and presentation of the seven-scene introduction.
Ships:
BOOKSOLE is an interactive platform based on the idea of the retro game-console for Choose your own adventure books like the ones from goosebumps which are my favorite now you can play these books directly in your browser. The idea behind the application was to allow the users to feel that they were inserting a cartridge into the old game console, not just opening some document reader. The whole project is done using only one HTML-file and comprises such features as a library, ability to import TXT- and EPUB-formatted books, parser of branch stories, save slots, achievements, journal, searching and many more. The main difficulties in the process of development of BOOKSOLE were to develop an adaptable parser that could parse various gamebooks with different styles, page numbering and endings, and to coordinate all the features of the application. It was difficult to create a proper parser because of different styles of writing the gamebooks and to develop something that would be able to correctly parse all the books. One of the other problems is connected with application state management. Due to the presence of saves, achievements, endings found, journal and statistic information the application had to keep track of all of these at once. A user interface design was yet another crucial aspect of the project. Instead of working on a common reader app, I aimed at creating the whole process to be similar to playing with an old retro game console. This includes such elements as a booting process, cartridge library, achievements display, saving slots system, and several themed menus, all of which have the same aesthetic design. Moreover, the latest version of the software contains a redesign of an introductory animation, which involves changing a mere placeholder to a wider screen space, better pixel art and more sprites. There are a lot of aspects in my project I am particularly proud of, but the most noteworthy is the number of features implemented in just one HTML file. The process of development changed a simple reader program into a complex platform with progression, collectibles, searchable stories, saving system, paths tracking, and library management of several books. Besides, I believe that I achieved success in terms of presentation: whereas many other IF programs are concerned only with their functionality, BOOKSOLE is more playful and nostalgic. For testing the project, it is necessary to firstly download the html file from Github and open the downloaded HTML file ,Watch or skip through the intro and go straight to the boot screen with the help of a special button. After loading the system, you should import an acceptable TXT or EPUB file and open the cartridge with the imported gamebook. You can begin playing and making choices. You can try forming save slots, achieving accomplishments, finding keywords, and exploring story lines. All found endings will be registered in the journal, and all visited places will appear on the map of endings....
|
1792878773.1638021
|
1793742773.1638021
|
|
16826
|
Habit Tracker by @wingnovel | Stardance
|
wingnovel
|
1
|
22.0
|
38
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T17:35:22Z", "hours": 22.0, "multiplier": 2.19, "payout": 38, "blessing": "neutral", "text": "This project is a Habit tracker that helps you effectively understand your routine with smart insights to help you stay consistent in your habit formation. The challenging part in this project was figuring out how to make the UI look right. I struggle a lot with aesthetic choices. I am proud of the fact that all the code for this project was written by me even if to make the compiling more efficient i used AI to clump up my code into reusable functions for the repeated code scripts. All the requirements to run this program is install the exe file from the github repo.", "repo": "https://github.com/raghav03102008/habit_tracker", "demo": "https://github.com/raghav03102008/habit_tracker/releases/tag/v1"}]...
|
[{"post_id": 23594, "ts": "202 [{"post_id": 23594, "ts": "2026-07-06T17:23:22Z", "hours": 7.5383, "text": "In this session I fully completed the interface ready to ship. I have added all the pages. And ensured that all the pages store the data in the json file generated upon first launch of the app correctly."}, {"post_id": 7620, "ts": "2026-06-12T18:56:31Z", "hours": 14.7333, "text": "Building the sidebar and the dashboard with the right amount of padding and setting up the initial database. Deciding the colors and set up"}]...
|
Title: Habit Tracker by @wingnovel | Stardance
De Title: Habit Tracker by @wingnovel | Stardance
Devlogs:
Building the sidebar and the dashboard with the right amount of padding and setting up the initial database. Deciding the colors and set up
In this session I fully completed the interface ready to ship. I have added all the pages. And ensured that all the pages store the data in the json file generated upon first launch of the app correctly.
Ships:
This project is a Habit tracker that helps you effectively understand your routine with smart insights to help you stay consistent in your habit formation. The challenging part in this project was figuring out how to make the UI look right. I struggle a lot with aesthetic choices. I am proud of the fact that all the code for this project was written by me even if to make the compiling more efficient i used AI to clump up my code into reusable functions for the repeated code scripts. All the requirements to run this program is install the exe file from the github repo....
|
1793238567.2644033
|
1793324967.2644033
|
|
19825
|
portfolio by @Ashu-cipher | Stardance
|
Ashu-cipher
|
1
|
22.0
|
0
|
[{"ship_num": 1, "hours": 22.0, [{"ship_num": 1, "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a portfolio site for myself, actually i had a portfolio site i made in 2025 but i thought of refining it, so i refined it using next.js, for me challenging part was git, i rebased and accidentally i had 999+ commits like wth, i restored to previous commit and it was fixed. I learnt more about React by this project. Ik this is a portfolio site, you have no usability for this, still it is what it is, i hope you like it. Thanks♡", "repo": "https://github.com/Ashu-Cipher/Ashu-Cipher.github.io", "demo": "https://ashu-cipher.github.io/", "ts": "2026-06-23T17:26:46Z"}]...
|
[{"post_id": 11930, "ts": "202 [{"post_id": 11930, "ts": "2026-06-19T13:44:43Z", "hours": 3.0, "text": "oh, i did forget about devlog, i’m making a portfolio site to replace my old one, i am done with navbar and cursor styling, much more to do"}, {"post_id": 11964, "ts": "2026-06-19T15:08:06Z", "hours": 0.0, "text": "done with footer"}, {"post_id": 12039, "ts": "2026-06-19T17:12:24Z", "hours": 1.0, "text": "completed landing page and global styling"}, {"post_id": 12306, "ts": "2026-06-20T02:37:02Z", "hours": 1.0, "text": "done with terminal commands, and animations"}, {"post_id": 12356, "ts": "2026-06-20T05:01:01Z", "hours": 0.0, "text": "completed Typewriter component"}, {"post_id": 12383, "ts": "2026-06-20T06:51:52Z", "hours": 1.0, "text": "completed Contacts section"}, {"post_id": 12475, "ts": "2026-06-20T11:31:08Z", "hours": 1.0, "text": "done with Hero section, feeling like a here lol"}, {"post_id": 12501, "ts": "2026-06-20T12:45:44Z", "hours": 0.0, "text": "completed glitchtext section, so basically ui is almost done, only matrix rain is left in ui, working on it"}, {"post_id": 12529, "ts": "2026-06-20T13:38:11Z", "hours": 0.0, "text": "completed matrixrain, basically done with ui"}, {"post_id": 12583, "ts": "2026-06-20T15:27:00Z", "hours": 1.0, "text": "done with adding skills, next is adding projects"}, {"post_id": 12658, "ts": "2026-06-20T18:00:33Z", "hours": 1.0, "text": "completed Project section, ui is done, i need to debug it first"}, {"post_id": 12967, "ts": "2026-06-21T06:55:41Z", "hours": 2.0, "text": "it’s almost done, with some problems, i will fix it"}, {"post_id": 13091, "ts": "2026-06-21T12:53:05Z", "hours": 3.0, "text": "finally, after so much debugging, this and that, integrating github actions, verifying google metadata, it’s done, it’s live on ashu-cipher.github.io check it out and give me some improvement suggestion, only thing left to update is its README file, will do it soon and ship"}, {"post_id": 13146, "ts": "2026-06-21T14:52:40Z", "hours": 0.0, "text": "work on same error for last half hours still not solved, can anybody help. i have used web3forms for email submission, but whenever i send email, it’s sent but it still shows submission error, idk why, i tried multiple time, still stuck on that."}, {"post_id": 13173, "ts": "2026-06-21T15:41:07Z", "hours": 0.0, "text": "FINALLY, error is resolved, thanks to claude haiku"}, {"post_id": 13746, "ts": "2026-06-22T15:09:37Z", "hours": 0.0, "text": "updated README, about to ship"}]...
|
Title: portfolio by @Ashu-cipher | Stardance
Devl Title: portfolio by @Ashu-cipher | Stardance
Devlogs:
oh, i did forget about devlog, i’m making a portfolio site to replace my old one, i am done with navbar and cursor styling, much more to do
done with footer
completed landing page and global styling
done with terminal commands, and animations
completed Typewriter component
completed Contacts section
done with Hero section, feeling like a here lol
completed glitchtext section, so basically ui is almost done, only matrix rain is left in ui, working on it
completed matrixrain, basically done with ui
done with adding skills, next is adding projects
completed Project section, ui is done, i need to debug it first
it’s almost done, with some problems, i will fix it
finally, after so much debugging, this and that, integrating github actions, verifying google metadata, it’s done, it’s live on ashu-cipher.github.io check it out and give me some improvement suggestion, only thing left to update is its README file, will do it soon and ship
work on same error for last half hours still not solved, can anybody help. i have used web3forms for email submission, but whenever i send email, it’s sent but it still shows submission error, idk why, i tried multiple time, still stuck on that.
FINALLY, error is resolved, thanks to claude haiku
updated README, about to ship
Ships:
I made a portfolio site for myself, actually i had a portfolio site i made in 2025 but i thought of refining it, so i refined it using next.js, for me challenging part was git, i rebased and accidentally i had 999+ commits like wth, i restored to previous commit and it was fixed. I learnt more about React by this project. Ik this is a portfolio site, you have no usability for this, still it is what it is, i hope you like it. Thanks♡...
|
1792878825.2636735
|
1793742825.2636735
|
|
19871
|
Object detection with ESP32-S3 CAM by @prodscooty Object detection with ESP32-S3 CAM by @prodscooty | Stardance...
|
prodscooty
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T20:01:35Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an object detection system using a model trained to run on an ESP32-S3 with 8MB of PSRAM. I also used a sort of OCR model trained on the MNIST dataset + some self-made images to identity the pallet’s ID and associate the pallet with the object placed on it.", "repo": "https://github.com/scootymadethis/ice-conveyor-camera", "demo": "https://3f0b3088-fccc-4d4f-900e-c670de587065-00-33ktcnc60pp70.riker.replit.dev:5000/"}]...
|
[{"post_id": 25477, "ts": "202 [{"post_id": 25477, "ts": "2026-07-09T19:30:39Z", "hours": 2.4222, "text": "Devlog #4: I finished the project! I was able to complete the object detection part, along with creating the model to flash onto the ESP32-S3. I also added another ESP32-S3 with the camera module to capture the side of the pallets so I can combine the pallet’s ID with the object on it. The OCR model was also made for the ESP32-S3 using the MNIST dataset + some images that I took."}, {"post_id": 15598, "ts": "2026-06-25T11:18:03Z", "hours": 8.1131, "text": "Devlog #3: BIG CHANGES HERE! I was able to install LiDAR sensors to detect pallets moving under the ESP32 and quickly take a picture that gets sent to the HUB. The main problem I had was managing the communication between the ESP32 and the Python HUB, and the solution I came up with was ensuring only 1 request can be made at a time, so for example if the ESP32 is sending a frame to the HUB, I block all commands from the HUB. This made the overall experience much better since I didn’t have to reset the ESP because it was freezed on a non-existent request! Besides general improvements to the UI, the main change was the addition of another ESP32 with a ML model flashed on it, which does object detection to understand what is traveling on the pallet. I learned that finding a model that can fit on an ESP32-S3 is quite difficult, so the path I chose was Knowledge Distillation, where the ESP32 was the student. To experiment, I used a linear one layer model, which does recognize objects but has some problems, so I will probably try to redo the process with a more complex model."}, {"post_id": 10643, "ts": "2026-06-17T14:36:34Z", "hours": 4.5833, "text": "Devlog #2: I completed the camera post-processing part, added the option to change the ESP32 IP directly from the web interface, and improved the data transfer between the ESP32 and the backend to make image capture faster and more reliable. The next step is to add IR sensors to detect when pallets pass under the camera, so the system can trigger captures automatically."}, {"post_id": 9911, "ts": "2026-06-16T12:46:42Z", "hours": 6.92, "text": "Devlog #1: After rewriting the entire project base and switching the communication protocol from HTTP to TCP, I’m now working on camera exposure control to make object detection more reliable, even in poor lighting conditions."}]...
|
Title: Object detection with ESP32-S3 CAM by @prod Title: Object detection with ESP32-S3 CAM by @prodscooty | Stardance
Devlogs:
Devlog #1: After rewriting the entire project base and switching the communication protocol from HTTP to TCP, I’m now working on camera exposure control to make object detection more reliable, even in poor lighting conditions.
Devlog #2: I completed the camera post-processing part, added the option to change the ESP32 IP directly from the web interface, and improved the data transfer between the ESP32 and the backend to make image capture faster and more reliable. The next step is to add IR sensors to detect when pallets pass under the camera, so the system can trigger captures automatically.
Devlog #3: BIG CHANGES HERE! I was able to install LiDAR sensors to detect pallets moving under the ESP32 and quickly take a picture that gets sent to the HUB. The main problem I had was managing the communication between the ESP32 and the Python HUB, and the solution I came up with was ensuring only 1 request can be made at a time, so for example if the ESP32 is sending a frame to the HUB, I block all commands from the HUB. This made the overall experience much better since I didn’t have to reset the ESP because it was freezed on a non-existent request! Besides general improvements to the UI, the main change was the addition of another ESP32 with a ML model flashed on it, which does object detection to understand what is traveling on the pallet. I learned that finding a model that can fit on an ESP32-S3 is quite difficult, so the path I chose was Knowledge Distillation, where the ESP32 was the student. To experiment, I used a linear one layer model, which does recognize objects but has some problems, so I will probably try to redo the process with a more complex model.
Devlog #4: I finished the project! I was able to complete the object detection part, along with creating the model to flash onto the ESP32-S3. I also added another ESP32-S3 with the camera module to capture the side of the pallets so I can combine the pallet’s ID with the object on it. The OCR model was also made for the ESP32-S3 using the MNIST dataset + some images that I took.
Ships:
I made an object detection system using a model trained to run on an ESP32-S3 with 8MB of PSRAM. I also used a sort of OCR model trained on the MNIST dataset + some self-made images to identity the pallet’s ID and associate the pallet with the object placed on it....
|
1793137954.5940232
|
1793224354.5940232
|