|
36700
|
Car Chassis by @brensents14 | Stardance
|
brensents14
|
0
|
53.9
|
0
|
[]
|
[{"post_id": 46054, "ts": "202 [{"post_id": 46054, "ts": "2026-08-13T00:03:22Z", "hours": 3.2836, "text": "Devlog #18 - Drivetrain System/Day-6: Man oh man; the urge to flip my table over right at this moment. Anyways I spent 3 HOURS on ONE single part of a build, and it’s still not even working how I want to. Here’s the flaws: both of the axles are connected when I spin the right wheel, BUT they are spinning in the opposite direction. Second, when I spin the left; it don’t work! Now I have to figure out what the right side has that the left side doesn’t. And lastly, this thing has so many parts, that the time I move a part until it actually shows, it makes it look like its running below 1 FPS…. Though I did manage to get past the roadblock of the gears constantly colliding with each other, but my guess is it will probably come back once I keep trying to tweak these mechanics."}, {"post_id": 45497, "ts": "2026-08-12T01:04:45Z", "hours": 4.2336, "text": "Devlog #17 - Drivetrain System/Day-5: Today, I was able to put my knowledge that I learned about gear relation into my work! I am super happy because now the gears can definitely spin together and work together just like how a differential does. I also took some time to assemble the other side of the chassis so everything can flow smoothly from here. I’m doing a little bit of troubleshooting from where I placed my mates because I kind of did them wrong and some were causing some problems. Most of it is fixed up and working just like how it should. I also redesigned the axle shaft housing just for the other side; now symmetric with the first side."}, {"post_id": 44918, "ts": "2026-08-10T23:59:58Z", "hours": 1.0333, "text": "Devlog #16 - Drivetrain System/Day-4: Light day today, didn’t do much because I was a little bit busy today but that’s alright! I luckily found out and learned how to make the differential gears turn in unison, but now I run into another problem; connectors. I cannot really find a way where everything can function properly because of collision problems. For example, one of my parts is spinning, and the other part that is supposed to be connected to it, doesn’t; causing them to collide instead of turning together…"}, {"post_id": 44313, "ts": "2026-08-09T23:59:37Z", "hours": 4.1, "text": "Devlog #15 - Drivetrain System/Day-3: Today, I was able to make two parts, assemble a couple things, and troubleshooted some more. What I made specifically was the spider gear, and the cross pin shaft. Right now it looks a little bit rough because I am still scaling everything to fit, but once it’s done, I think it will look really good. I’m at a bit of a standstill right now cause of having trouble with linking the gears together, so they can all work in unison; I worked on assembling the other side of the chassis as I took a break from the differential a little bit. I might not do much next session, except assemble the parts I made, animate them, unify them, and make them look great!"}, {"post_id": 43639, "ts": "2026-08-09T00:43:38Z", "hours": 4.1003, "text": "Devlog #14 - Drivetrain System/Day-2: Today, I was able to make two parts; the side differential gear and the ring gear. Honestly I had a lot of trouble with this section, one being them error codes.. I kept trying over and over to find what was wrong about what I was doing; it for sure burnt up most of my time today. I realized I kind of had to make a more straight teeth on the gears, rather than the slanted fancy design I wanted to make because it was just not at my level. Though I was pretty happy on how the parts turned out and fit together, since everything needs to be near perfect for them to work in unison. The next thing that I will probably be making is the spider gear, and all the other minor parts around it."}, {"post_id": 43005, "ts": "2026-08-08T01:08:14Z", "hours": 4.1333, "text": "Devlog #13 - Drivetrain System/Day-1: With the very start of making this section, today I built the rear differential cover, the u joint (universal joint), and the pinion shaft, all part of the main rear differential system. I went ahead and started working on this section rather than making the other track bars and all that stuff, because I kind of wanted a “reference” to build on, (aka a better picture of where the other parts were gonna go). I think about the hardest part about today was kind of planning how to do this. To me, differentials look like a huge mess to look at; I was super confused on how even the gears connected and worked with each other. I definitely am making it harder for myself by building the internals too rather than just the externals, but hey; I guess I really want a challenge!"}, {"post_id": 42387, "ts": "2026-08-07T02:28:25Z", "hours": 4.2503, "text": "Devlog #12 - Suspension System/Day-8: Today I focused on tweaking some of the errors I made while building this section, and was able to start making some of the rods that link the wheels to the suspension system and frame (lower, upper, track). One such thing that I had to tweak for my car chassis project is my shock absorber mounting bracket. I realized that it was way too small to fit onto the axle housing, so I made it bigger. To sum up what with I did with everything here, I basically scaled everything down so the parts don’t collide with each other. For the brakes that I had trouble with, I decided to just fix it in space so it wouldn’t move. I think the hardest part about today is keeping everything working; to making the wheel assembly spin and work nicely, to making the shock absorber a functional pneumatic system. I’m very happy about my progress for today."}, {"post_id": 40474, "ts": "2026-08-04T01:06:55Z", "hours": 1.6339, "text": "Devlog #11 - Suspension System/Day-7: Today was mostly just a chill day, and I spent most of my time attaching the parts I made throughout this project into one functioning part that basically works together. The thing that I am having trouble on right now is the attachment between the brake assembly and the whole thing. I just can’t find a way to make it not spin with the brake disk, but I think eventually I’ll figure it out…"}, {"post_id": 38601, "ts": "2026-08-01T02:36:57Z", "hours": 1.9667, "text": "Devlog #10 - Suspension System/Day-6: Today, I was able to make and assemble together a working shock absorber! (yes the piston moves back and forth) I also made a bracket that goes along with it (blue object) to mount the absorber to the axle shaft housing. I think the hardest part about making this was merging the parts together. Because I made this into many separate parts, it looked very unorganized at times, and I was even confused while picking out the parts one by one at times. I managed to merge some and make things a little bit easier in the end. I think I might be making the control arms next to complete the suspension system… (?)"}, {"post_id": 37374, "ts": "2026-07-30T01:19:26Z", "hours": 1.7669, "text": "Devlog #9 - Suspension System/Day-5: Today I was able to make the individual springs including the spring pads of the suspension system. I think what was hard for me today was attaching the parts together, because there isn’t really a clear spot on where to put the parts, so I tried to make it on my own and snap connected them/grouped them together. The next thing that I will most likely be making is the control arms; or the shock absorber. From there it’s just a matter of making the differential, and the rest of the frame; completing my first ever “hard” project!"}, {"post_id": 36783, "ts": "2026-07-29T01:44:34Z", "hours": 2.0933, "text": "Devlog #8 - Suspension System/Day-4: Today I was able to lock in and finish some stuff! I finally finished and added the final touches of the axle shaft housing, and was able to get started on the individual suspension springs on top of the axle shaft system. I think the hardest part about making this section is probably thinking how you are gonna pull this off, because there are instances where the shape is kind of weird and it’s a challenge to make. Making sure all the measurements of the parts are right and have “chemistry” between them is another. I’m planning to work on this section for a few more days, so lets hope for the best…"}, {"post_id": 35569, "ts": "2026-07-27T03:10:09Z", "hours": 1.9172, "text": "Devlog #7 - Suspension System/Day-3: Hi guys do you miss me hahahah no alright; okay anyways I made a few adjustments to my very cool project, such as changing the shape (filet) of my wheels to make it look actually nice now. And the other things that I managed to do today was reorient where my axle shaft was placed. Last time it was facing the wrong way, so I fixed it up and also changed the structure of it to be less complicated! Most of the work today was finding out how I am going to go on from here, and how to connect all of this to the drivetrain where everything will work in one piece. I also managed to start on the outer axle holding (the cover that goes on the axle shaft). I’m kind of slacking once again, but i’ll try my best!"}, {"post_id": 33850, "ts": "2026-07-24T02:58:59Z", "hours": 1.7336, "text": "Devlog #6 - Suspension System/Day-2: I managed to finish up the axle shaft and the flange. I honestly think it came it pretty well; I am aiming to make a solid axle suspension. I also don’t really know where to go on from here, because the differential is also a little bit confusing and a burden to think and make of. I might add some shock absorbers and then move on to the drivetrain system. That’s how the plan might look so far in this project."}, {"post_id": 33297, "ts": "2026-07-23T02:45:04Z", "hours": 1.4836, "text": "Devlog #5 - Suspension System/Day-1: I lazied out a little bit today, decided to take a little break and just work on the axle shaft and measuring it out a little bit, so it can fit smoothly as I go along making it. As always i’ll keep working on building the entire suspension assembly over a couple days to a week."}, {"post_id": 32745, "ts": "2026-07-22T02:53:46Z", "hours": 6.3506, "text": "Devlog #4 - Brake Assembly/Day-2: Today, I was able to (somewhat) finish the parts that belong to the entire brake assembly. The next part that I will most likely be replicating is the hydraulic sytem for the brakes (or I might just move onto the suspension system). I think the hardest part about building this section is finding the right measurements. Most of my work today was just trying to find out how long, thick, and tall things were going to be and how it was going to fit rather than building. I still haven’t chamfered or fileted the parts yet to make it look good, because I want to avoid any problems that would come up if I did. So far everything is coming in nice according to plan!"}, {"post_id": 32170, "ts": "2026-07-21T04:31:11Z", "hours": 3.1003, "text": "Devlog #3 - Brake Assembly/Day-1: Today I was able to start making the parts that go along with the brake assembly, such as the brake caliper, the brake disk, and the brake pads. Although I am dissapointed that I couldn’t finish with my limited time today, I think I did okay considering I don’t really have experience doing this. The hardest part about this section is definitely replicating all the curves, patterns, and extrudes because it requires you to think how it could be done the right way (the error messages were a little depressing sometimes too to look at). I will for sure go on to finish this maybe sometime soon!"}, {"post_id": 31589, "ts": "2026-07-20T03:18:33Z", "hours": 6.4506, "text": "Devlog #2 - Wheel Hub: I’m super happy that my recording worked for this build session now! Anyways, today’s build focused on the hub of the wheel; personally I think this part was pretty difficult to make, and also it very much felt like a learning experience since I kind of blanked out on so many parts of the build. The one part I had the most struggle was with the patterning tool, because I kept getting confused on where I was supposed to click on the part, so it made quite a bit of mess for me to fix over and over again. I also had some trouble with merging my parts because there was once like 70 of them and I got so confused. Satisfied how it turned out at the very least!"}, {"post_id": 30984, "ts": "2026-07-19T00:20:33Z", "hours": 0.2642, "text": "Devlog #1 - Car Wheel: Apparently the stupid RECORDING didn’t even capture my build, but we’ll make the best of it. I think from now on I am going to do the screen recording thing, because I just tested it and it worked way better than the lookout app. To start off with this very hard project (as a newbie who is new to 3D Modeling), i sketched a circle, and extruded it to make the small cylinder thingy, then I sketched more of those circles and remove-extruded them to put the details into the wheel itself. I think the most hardest part about this build is the fact that this part isn’t even centered to begin with (I eventually figured out how to put it back on the origin). For the details on the tire I sketched it and revolved it around to make the black circle thing, and I drew arrows for my tread choice, and put it though a circular pattern so it could be all around the tire. Then for the very last final touches I filet/chamfered the rough edges of the rim to make it look a little bit more neat. I’m pretty excited to see where this project goes and where it will advance!"}]...
|
Title: Car Chassis by @brensents14 | Stardance
De Title: Car Chassis by @brensents14 | Stardance
Devlogs:
Devlog #1 - Car Wheel: Apparently the stupid RECORDING didn’t even capture my build, but we’ll make the best of it. I think from now on I am going to do the screen recording thing, because I just tested it and it worked way better than the lookout app. To start off with this very hard project (as a newbie who is new to 3D Modeling), i sketched a circle, and extruded it to make the small cylinder thingy, then I sketched more of those circles and remove-extruded them to put the details into the wheel itself. I think the most hardest part about this build is the fact that this part isn’t even centered to begin with (I eventually figured out how to put it back on the origin). For the details on the tire I sketched it and revolved it around to make the black circle thing, and I drew arrows for my tread choice, and put it though a circular pattern so it could be all around the tire. Then for the very last final touches I filet/chamfered the rough edges of the rim to make it look a little bit more neat. I’m pretty excited to see where this project goes and where it will advance!
Devlog #2 - Wheel Hub: I’m super happy that my recording worked for this build session now! Anyways, today’s build focused on the hub of the wheel; personally I think this part was pretty difficult to make, and also it very much felt like a learning experience since I kind of blanked out on so many parts of the build. The one part I had the most struggle was with the patterning tool, because I kept getting confused on where I was supposed to click on the part, so it made quite a bit of mess for me to fix over and over again. I also had some trouble with merging my parts because there was once like 70 of them and I got so confused. Satisfied how it turned out at the very least!
Devlog #3 - Brake Assembly/Day-1: Today I was able to start making the parts that go along with the brake assembly, such as the brake caliper, the brake disk, and the brake pads. Although I am dissapointed that I couldn’t finish with my limited time today, I think I did okay considering I don’t really have experience doing this. The hardest part about this section is definitely replicating all the curves, patterns, and extrudes because it requires you to think how it could be done the right way (the error messages were a little depressing sometimes too to look at). I will for sure go on to finish this maybe sometime soon!
Devlog #4 - Brake Assembly/Day-2: Today, I was able to (somewhat) finish the parts that belong to the entire brake assembly. The next part that I will most likely be replicating is the hydraulic sytem for the brakes (or I might just move onto the suspension system). I think the hardest part about building this section is finding the right measurements. Most of my work today was just trying to find out how long, thick, and tall things were going to be and how it was going to fit rather than building. I still haven’t chamfered or fileted the parts yet to make it look good, because I want to avoid any problems that would come up if I did. So far everything is coming in nice according to plan!
Devlog #5 - Suspension System/Day-1: I lazied out a little bit today, decided to take a little break and just work on the axle shaft and measuring it out a little bit, so it can fit smoothly as I go along making it. As always i’ll keep working on building the entire suspension assembly over a couple days to a week.
Devlog #6 - Suspension System/Day-2: I managed to finish up the axle shaft and the flange. I honestly think it came it pretty well; I am aiming to make a solid axle suspension. I also don’t really know where to go on from here, because the differential is also a little bit confusing and a burden to think and make of. I might add some shock absorbers and then move on to the drivetrain system. That’s how the plan might look so far in this project.
Devlog #7 - Suspension System/Day-3: Hi guys do you miss me hahahah no alright; okay anyways I made a few adjustments to my very cool project, such as changing the shape (filet) of my wheels to make it look actually nice now. And the other things that I managed to do today was reorient where my axle shaft was placed. Last time it was facing the wrong way, so I fixed it up and also changed the structure of it to be less complicated! Most of the work today was finding out how I am going to go on from here, and how to connect all of this to the drivetrain where everything will work in one piece. I also managed to start on the outer axle holding (the cover that goes on the axle shaft). I’m kind of slacking once again, but i’ll try my best!
Devlog #8 - Suspension System/Day-4: Today I was able to lock in and finish some stuff! I finally finished and added the final touches of the axle shaft housing, and was able to get started on the individual suspension springs on top of the axle shaft system. I think the hardest part about making this section is probably thinking how you are gonna pull this off, because there are instances where the shape is kind of weird and it’s a challenge to make. Making sure all the measurements of the parts are right and have “chemistry” between them is another. I’m planning to work on this section for a few more days, so lets hope for the best…
Devlog #9 - Suspension System/Day-5: Today I was able to make the individual springs including the spring pads of the suspension system. I think what was hard for me today was attaching the parts together, because there isn’t really a clear spot on where to put the parts, so I tried to make it on my own and snap connected them/grouped them together. The next thing that I will most likely be making is the control arms; or the shock absorber. From there it’s just a matter of making the differential, and the rest of the frame; completing my first ever “hard” project!
Devlog #10 - Suspension System/Day-6: Today, I was able to make and assemble together a working shock absorber! (yes the piston moves back and forth) I also made a bracket that goes along with it (blue object) to mount the absorber to the axle shaft housing. I think the hardest part about making this was merging the parts together. Because I made this into many separate parts, it looked very unorganized at times, and I was even confused while picking out the parts one by one at times. I managed to merge some and make things a little bit easier in the end. I think I might be making the control arms next to complete the suspension system… (?)
Devlog #11 - Suspension System/Day-7: Today was mostly just a chill day, and I spent most of my time attaching the parts I made throughout this project into one functioning part that basically works together. The thing that I am having trouble on right now is the attachment between the brake assembly and the whole thing. I just can’t find a way to make it not spin with the brake disk, but I think eventually I’ll figure it out…
Devlog #12 - Suspension System/Day-8: Today I focused on tweaking some of the errors I made while building this section, and was able to start making some of the rods that link the wheels to the suspension system and frame (lower, upper, track). One such thing that I had to tweak for my car chassis project is my shock absorber mounting bracket. I realized that it was way too small to fit onto the axle housing, so I made it bigger. To sum up what with I did with everything here, I basically scaled everything down so the parts don’t collide with each other. For the brakes that I had trouble with, I decided to just fix it in space so it wouldn’t move. I think the hardest part about today is keeping everything working; to making the wheel assembly spin and work nicely, to making the shock absorber a functional pneumatic system. I’m very happy about my progress for today.
Devlog #13 - Drivetrain System/Day-1: With the very start of making this section, today I built the rear differential cover, the u joint (universal joint), and the pinion shaft, all part of the main rear differential system. I went ahead and started working on this section rather than making the other track bars and all that stuff, because I kind of wanted a “reference” to build on, (aka a better picture of where the other parts were gonna go). I think about the hardest part about today was kind of planning how to do this. To me, differentials look like a huge mess to look at; I was super confused on how even the gears connected and worked with each other. I definitely am making it harder for myself by building the internals too rather than just the externals, but hey; I guess I really want a challenge!
Devlog #14 - Drivetrain System/Day-2: Today, I was able to make two parts; the side differential gear and the ring gear. Honestly I had a lot of trouble with this section, one being them error codes.. I kept trying over and over to find what was wrong about what I was doing; it for sure burnt up most of my time today. I realized I kind of had to make a more straight teeth on the gears, rather than the slanted fancy design I wanted to make because it was just not at my level. Though I was pretty happy on how the parts turned out and fit together, since everything needs to be near perfect for them to work in unison. The next thing that I will probably be making is the spider gear, and all the other minor parts around it.
Devlog #15 - Drivetrain System/Day-3: Today, I was able to make two parts, assemble a couple things, and troubleshooted some more. What I made specifically was the spider gear, and the cross pin shaft. Right now it looks a little bit rough because I am still scaling everything to fit, but once it’s done, I think it will look really good. I’m at a bit of a standstill right now cause of having trouble with linking the gears together, so they can all work in unison; I worked on assembling the other side of the chassis as I took a break from the differential a little bit. I might not do much next session, except assemble the parts I made, animate them, unify them, and make them look great!
Devlog #16 - Drivetrain System/Day-4: Light day today, didn’t do much because I was a little bit busy today but that’s alright! I luckily found out and learned how to make the differential gears turn in unison, but now I run into another problem; connectors. I cannot really find a way where everything can function properly because of collision problems. For example, one of my parts is spinning, and the other part that is supposed to be connected to it, doesn’t; causing them to collide instead of turning together…
Devlog #17 - Drivetrain System/Day-5: Today, I was able to put my knowledge that I learned about gear relation into my work! I am super happy because now the gears can definitely spin together and work together just like how a differential does. I also took some time to assemble the other side of the chassis so everything can flow smoothly from here. I’m doing a little bit of troubleshooting from where I placed my mates because I kind of did them wrong and some were causing some problems. Most of it is fixed up and working just like how it should. I also redesigned the axle shaft housing just for the other side; now symmetric with the first side.
Devlog #18 - Drivetrain System/Day-6: Man oh man; the urge to flip my table over right at this moment. Anyways I spent 3 HOURS on ONE single part of a build, and it’s still not even working how I want to. Here’s the flaws: both of the axles are connected when I spin the right wheel, BUT they are spinning in the opposite direction. Second, when I spin the left; it don’t work! Now I have to figure out what the right side has that the left side doesn’t. And lastly, this thing has so many parts, that the time I move a part until it actually shows, it makes it look like its running below 1 FPS…. Though I did manage to get past the roadblock of the gears constantly colliding with each other, but my guess is it will probably come back once I keep trying to tweak these mechanics....
|
1792612320.8802724
|
1793217120.8802724
|
|
5359
|
Multi Tenant Business Management Backend by @NHero Multi Tenant Business Management Backend by @NHero | Stardance...
|
NHero
|
1
|
53.68
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-10T18:18:26Z", "hours": 24.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? I built an open-source business management platform backend with authentication, Google OAuth, workspaces, clients, products/services, invoices, payments, analytics, PDF invoice generation, email delivery, and Docker support. What was challenging? Building a scalable architecture, writing integration tests, handling workspace permissions, debugging file uploads, and getting Puppeteer PDF generation working reliably in Docker. What are you proud of? The complete business workflow, clean architecture, Dockerized deployment, and 39+ integration tests that help ensure reliability. How can people test it? Docker setup and environment configuration are included. They can directly docker compose or run using bun or npm", "repo": "https://github.com/NHeroOP/Business-Management-System-Backend", "demo": "https://bms-api.nhero.xyz/"}]...
|
[{"post_id": 82950, "ts": "202 [{"post_id": 82950, "ts": "2026-10-26T11:05:45Z", "hours": 8.3317, "text": "Devlog - 10 So now that I’m continuing this project, I decided to use a admin dashboard template and adjust it according to my needs as the main thing I wanna show is my backend skills. So first of all I was using bun in the backend, I switched to pnpm (personal preference) Now I am using tsdown for building the express app. There was some issue in extended Request type so I fixed it. Also I was using a mongodb cluster free tier, now I am using a mongodb replica set on docker. Also the global rate limiter was applied on everything not just /api/v1 so fixed that. Also I renamed both the repos to something short -> Bms-Backend & Bms-Frontend. Lets talk about the frontend that is on NextJs. I am now using a template which includes a dashboard not fully complete for my need so I will be doing that, it had sentry, clerk and some other stuff, I removed that as It removed a cleanup script. Added the login form and attached it with the backend. I was previously using axios, but now I am using fetch and I am using a architecture called BFF (Backend for Frotend). So the client components call the nextjs backend and that backend calls the express Api whereas server component directly call the express Api so I created fetch wrappers for client calls and server calls. Added a logo for the app. Added proxy.ts and its logic"}, {"post_id": 81802, "ts": "2026-10-22T16:22:15Z", "hours": 4.79, "text": "Devlog 09 So, I combine two stardance projects (backend, frontend) into one (fullstack), at the time I thought I could ship both together but I had to have both repos connected in one project, I didn’t know at the time and I then abandoned the project and this project was the backend & I added the frontend repo to it so all the fronted devlogs are gone. In this devlog I will write the changes made to backend after the previous devlog + I will summarised what was done in the fronted so far and after this devlog, I will write the devlog as normal as you guys will catch up to speed. Backend (Express) In zod using z.number() or .date() were resulting in error if passed as a string as data would always get converted to string before reaching backend so i added z.coerce -> z.coerce.number() or .date Added github actions workflow to automatically pull changes and build with docker + fixed perms issue in Dockerfile. Added redirecting of / to /docs Frontend (NextJS) Auth Pages are done (Login, Signup, Forgot-Password, Reset-Password) with zod and react-hook-form validation Pages are made using shadcn ui components Home page is done with listing of business that user is a part of Sidebar, header, Create-business-form and BusinessCard, invoice table components are also commited"}, {"post_id": 14821, "ts": "2026-06-24T02:09:36Z", "hours": 12.4956, "text": "Devlog - 08 Since I was building a front end for this project and when designing the front end I didn’t had a route for getting all the businesses the logged in user is part of. So I added that route to show all the businesses on the home page of dashboard And also I have email, password login so I needed a route to verify the user who has used email password using a verification code sent on their email. So I updated the user model and added that route too. Next thing was I added those routes to my openApi docs and also I updated my readme.md and other mds in root docs/ folder. One more thing is left in this project is to have separate analytics routes for separate modules like clients analytics, products analytics then main dashboard analytics. I will make them once a get a jump on front end since I’m laking behind there"}, {"post_id": 7051, "ts": "2026-06-11T20:20:17Z", "hours": 4.06, "text": "Devlog - 07 Since its a Backend API so I needed to create a api endpoints docs to showcase the project to other people as some UI helps in showcasing I used scalar and openAPI docs for my project, It took me some time to understand what to do but I was finally able to do it And then during deployment I made an error of putting some dependencies into dev dependencies as they were prefixed with @ . Finally was able to get my docker deployment working"}, {"post_id": 6343, "ts": "2026-06-10T17:57:14Z", "hours": 0.4814, "text": "Devlog -6 Added a analytics endpoint and its time to end the backend project and move on to the frontend of the project. If issues come up designing the frontend, will have to comeback to fix it. Till then i have deployed it with docker on railway.com"}, {"post_id": 6303, "ts": "2026-06-10T16:33:42Z", "hours": 1.8367, "text": "Devlog - 05 After adding tests, I decided to dockerize the project. But i was using puppeteer and it causes some issues in docker so i changed it to puppeteer-core and add install commands for chromium separately in docker file. I made everything work after some brutal hours of debugging and fixing and learning as this is my first time working with docker"}, {"post_id": 5832, "ts": "2026-06-09T19:30:25Z", "hours": 10.0192, "text": "Devlog 4 - Backend Testing Marathon 🧪 Spent few days building out integration tests for my Express + TypeScript backend. Added test coverage for: User registration & login Refresh token flow Forgot/reset password Clients Products (including file uploads) Invoices & payments Workspace/business authorization Also set up: MongoDB Memory Server for isolated test databases Factories for generating users, businesses, invoices, products, etc. Mocks for Cloudinary, Resend, and bcrypt Ran into a pretty annoying EPIPE error while testing multipart file uploads. After a lot of debugging, I tracked it down to file stream handling in tests. Switching upload tests to use Buffers instead of fixture files made the suite stable again. Current stats: 39 tests 15 test files Full integration test suite passing ✅"}, {"post_id": 3764, "ts": "2026-06-06T20:16:39Z", "hours": 2.3275, "text": "Refactoring code and setup for tests"}, {"post_id": 2613, "ts": "2026-06-05T07:23:35Z", "hours": 4.2178, "text": "Bug Fixes, And Logic Polishing"}, {"post_id": 959, "ts": "2026-06-02T18:45:41Z", "hours": 4.6642, "text": "Added Zod validation to the project"}]...
|
Title: Multi Tenant Business Management Backend by Title: Multi Tenant Business Management Backend by @NHero | Stardance
Devlogs:
Added Zod validation to the project
Bug Fixes, And Logic Polishing
Refactoring code and setup for tests
Devlog 4 - Backend Testing Marathon 🧪 Spent few days building out integration tests for my Express + TypeScript backend. Added test coverage for: User registration & login Refresh token flow Forgot/reset password Clients Products (including file uploads) Invoices & payments Workspace/business authorization Also set up: MongoDB Memory Server for isolated test databases Factories for generating users, businesses, invoices, products, etc. Mocks for Cloudinary, Resend, and bcrypt Ran into a pretty annoying EPIPE error while testing multipart file uploads. After a lot of debugging, I tracked it down to file stream handling in tests. Switching upload tests to use Buffers instead of fixture files made the suite stable again. Current stats: 39 tests 15 test files Full integration test suite passing ✅
Devlog - 05 After adding tests, I decided to dockerize the project. But i was using puppeteer and it causes some issues in docker so i changed it to puppeteer-core and add install commands for chromium separately in docker file. I made everything work after some brutal hours of debugging and fixing and learning as this is my first time working with docker
Devlog -6 Added a analytics endpoint and its time to end the backend project and move on to the frontend of the project. If issues come up designing the frontend, will have to comeback to fix it. Till then i have deployed it with docker on railway.com
Devlog - 07 Since its a Backend API so I needed to create a api endpoints docs to showcase the project to other people as some UI helps in showcasing I used scalar and openAPI docs for my project, It took me some time to understand what to do but I was finally able to do it And then during deployment I made an error of putting some dependencies into dev dependencies as they were prefixed with @ . Finally was able to get my docker deployment working
Devlog - 08 Since I was building a front end for this project and when designing the front end I didn’t had a route for getting all the businesses the logged in user is part of. So I added that route to show all the businesses on the home page of dashboard And also I have email, password login so I needed a route to verify the user who has used email password using a verification code sent on their email. So I updated the user model and added that route too. Next thing was I added those routes to my openApi docs and also I updated my readme.md and other mds in root docs/ folder. One more thing is left in this project is to have separate analytics routes for separate modules like clients analytics, products analytics then main dashboard analytics. I will make them once a get a jump on front end since I’m laking behind there
Devlog 09 So, I combine two stardance projects (backend, frontend) into one (fullstack), at the time I thought I could ship both together but I had to have both repos connected in one project, I didn’t know at the time and I then abandoned the project and this project was the backend & I added the frontend repo to it so all the fronted devlogs are gone. In this devlog I will write the changes made to backend after the previous devlog + I will summarised what was done in the fronted so far and after this devlog, I will write the devlog as normal as you guys will catch up to speed. Backend (Express) In zod using z.number() or .date() were resulting in error if passed as a string as data would always get converted to string before reaching backend so i added z.coerce -> z.coerce.number() or .date Added github actions workflow to automatically pull changes and build with docker + fixed perms issue in Dockerfile. Added redirecting of / to /docs Frontend (NextJS) Auth Pages are done (Login, Signup, Forgot-Password, Reset-Password) with zod and react-hook-form validation Pages are made using shadcn ui components Home page is done with listing of business that user is a part of Sidebar, header, Create-business-form and BusinessCard, invoice table components are also commited
Devlog - 10 So now that I’m continuing this project, I decided to use a admin dashboard template and adjust it according to my needs as the main thing I wanna show is my backend skills. So first of all I was using bun in the backend, I switched to pnpm (personal preference) Now I am using tsdown for building the express app. There was some issue in extended Request type so I fixed it. Also I was using a mongodb cluster free tier, now I am using a mongodb replica set on docker. Also the global rate limiter was applied on everything not just /api/v1 so fixed that. Also I renamed both the repos to something short -> Bms-Backend & Bms-Frontend. Lets talk about the frontend that is on NextJs. I am now using a template which includes a dashboard not fully complete for my need so I will be doing that, it had sentry, clerk and some other stuff, I removed that as It removed a cleanup script. Added the login form and attached it with the backend. I was previously using axios, but now I am using fetch and I am using a architecture called BFF (Backend for Frotend). So the client components call the nextjs backend and that backend calls the express Api whereas server component directly call the express Api so I created fetch wrappers for client calls and server calls. Added a logo for the app. Added proxy.ts and its logic
Ships:
What did you make? I built an open-source business management platform backend with authentication, Google OAuth, workspaces, clients, products/services, invoices, payments, analytics, PDF invoice generation, email delivery, and Docker support. What was challenging? Building a scalable architecture, writing integration tests, handling workspace permissions, debugging file uploads, and getting Puppeteer PDF generation working reliably in Docker. What are you proud of? The complete business workflow, clean architecture, Dockerized deployment, and 39+ integration tests that help ensure reliability. How can people test it? Docker setup and environment configuration are included. They can directly docker compose or run using bun or npm...
|
1793087774.9390187
|
1793174174.9390187
|
|
1453
|
ChessHub by @Soomansh | Stardance
|
Soomansh
|
1
|
53.59
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T18:12:59Z", "hours": 53.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did I make? I built ChessHub, an interactive chess learning platform that combines multiple chess tools into one application. It includes features like a Board Visualizer, Chess Game Review, Chess Quiz, Endgame Puzzles, Guess The Elo, Learn Endgames, Opening Explorer, and Play Against AI. The goal of ChessHub is to make learning chess more interactive by helping players understand the ideas behind moves, improve their decision making, and explore different parts of the game. What was challenging? The most challenging part of creating ChessHub was combining many different chess systems into one working platform. I had to learn how to handle PGN files, create interactive chessboards, process chess positions, build analysis features, and solve many deployment issues. One of the biggest challenges was making the project reliable on Streamlit Cloud while dealing with chess engine limitations, APIs, and technical bugs. This was also the first time I ever used GitHub EVER! What am I proud of? I am most proud that ChessHub evolved from a simple opening recommendation project into a complete chess learning platform. I am proud of creating multiple interactive features, solving difficult technical problems, and building something that helps players learn chess concepts instead of just memorizing moves. Seeing all the different systems work together into one application has been the most rewarding part of the project. I am really happy that I was able to overcome the challenges and work through everything, even if it broke me :D. What should people know so they can test my project? People testing ChessHub should explore each feature because every section focuses on a different part of chess improvement. They can try exploring openings, reviewing their own PGN games, solving endgame challenges, testing their chess knowledge, and playing around with the different interactive tools. The app may take a few seconds to load some features, but users should experiment with different pages and games to see the full experience of ChessHub.", "repo": "https://github.com/Soomansh/Chess-Hub/tree/vercel-migration", "demo": "https://chess-hub-nextjs-q6q5vp398-soomansh.vercel.app/"}]...
|
[{"post_id": 82720, "ts": "202 [{"post_id": 82720, "ts": "2026-10-25T17:34:34Z", "hours": 0.5883, "text": "Hello everyone! Yesterday and through today I migrated ChessHub from Streamlit to Next.js, React, and TypeScript to make the application compatible with Vercel deployment :D. I also updated the project structure and configuration, adapted the application for a modern web environment, and configured the deployment workflow to build and deploy from a separate vercel-migration branch while keeping the original Streamlit/Render versions on GitHub! I only spent around 30 minutes coding but transferring it took wayyy more time then I expected ;-; Sadly I had to use some AI to help with the html, css and TypeScript. This is how ChessHub looks now! —>"}, {"post_id": 28424, "ts": "2026-07-14T17:38:20Z", "hours": 14.2431, "text": "Hi Guys! I am back after a 1 month vacation! 🥳🥳🥳Over the past one month i have managed to spend about 14 hours working on ChessHub and getting the project back on track.I mainly focused on improving the overall structure of the app, fixing bugs, and making the different chess features work more smoothly. I worked on improving the Chess Review system, removing the dependency issues with Stockfish, and moving toward a more cloud-based analysis approach so the app can run reliably on Streamlit Cloud.I also spent time debugging deployment problems, fixing errors, improving PGN handling, and making sure the different parts of ChessHub connect properly. Along with that, I worked on features like Guess The Elo, game loading, chessboard rendering, and improving the user experience. A lot of the time went into troubleshooting small issues, testing different solutions, and cleaning up the code so the project is more stable and easier to expand in the future. After 14 hours of work, ChessHub is much closer to becoming the complete chess platform I imagined. Still a lot more to build, but progress is progress! ♟️🔥"}, {"post_id": 12620, "ts": "2026-06-20T16:48:37Z", "hours": 4.6144, "text": "Hi everyone! I recently updated the Stockfish feature, and instead of running a local engine, which caused instability and frequent bugs, I have switched over to using the Lichess database. This change makes the entire system smoother, faster, and far more reliable, ensuring consistent evaluations without the headaches of engine crashes or performance issues. I finished all bugs involving the overall display and surface level usage and I am trying to solve deeper hard to fix bugs!"}, {"post_id": 10032, "ts": "2026-06-16T16:23:41Z", "hours": 2.6617, "text": "I finally got most of my Chess Review app working after fixing several issues across deployment, engine setup, and analysis. I removed the need to upload Stockfish directly to GitHub by making the engine download automatically at runtime, which solved the file size limitation. I fixed the Stockfish initialization and path setup so it works correctly in Streamlit, added executable permissions for Linux environments, and cleaned up the loading flow to prevent crashes caused by analysis starting before the engine was ready. The full review pipeline is almost ready to run, and I’m continuing to improve the quality of the analysis and review system!"}, {"post_id": 6444, "ts": "2026-06-10T20:43:39Z", "hours": 4.6367, "text": "Today I focused on improving the structure and deployment of Chess Hub. A MAJOR issue came from navigation between pages after deployment. Some parts worked locally but failed on Streamlit Cloud because page references and repository structure were not fully aligned. I spent time debugging file organization, checking GitHub uploads, and updating navigation paths. Additionally, I had to rewrite most of my code to work with Streamlit Cloud which was a pain :( Current progress: -Connected multiple tools through the homepage -Fixed navigation for several modules -Verified repository structure and deployment setup -Improved overall organization of the project -Continued testing cloud deployment behavior Modules currently integrated: -Chess Quiz -Opening Explorer -Board Visualizer -Play Against AI -Chess Game Review -Endgame Puzzles -Learn Endgames Challenges: -Maintaining consistent routing across many pages -Ensuring deployment behaves the same as local development -Managing project growth while keeping the structure organized Next steps: -Finish connecting remaining modules -Improve navigation and usability -Continue cleanup and testing -Refine the interface and overall user experience"}, {"post_id": 5377, "ts": "2026-06-09T03:52:15Z", "hours": 0.4236, "text": "Not much of the time spent was tracked because I decided to revamp and restructure all of my GitHub, resulting in tons of commits and struggles along the way as I’m still new to github. After about 40 minutes to an hour, I finally managed to organize my repository and am satisfied with the outcome. I learned a lot about version control, commit history, and repository management during the process. It was frustrating at times, but seeing everything neatly structured and functional made it worth the effort. I plan to maintain this organization going forward to make future updates smoother and more efficient :D"}, {"post_id": 4953, "ts": "2026-06-08T16:16:40Z", "hours": 4.6961, "text": "It took about 4 hours because I didn’t just add the feature, I had to carefully integrate it into a pretty large Streamlit + chess PGN system without breaking anything. I was kinda stupid and ignored the MAIN ERROR which was in plain sight and struggled for 3 hours ;-; The main challenge was that PGN “TimeControl” data isn’t always clean or consistent, so I had to handle edge cases like missing values, weird formats, and games that don’t follow the usual “base+increment” pattern. I added a classifier to turn raw time controls (like 60+0 or 600+5) into readable labels like Bullet, Blitz, Rapid, and Classical. This makes the overall experience more enjoyable… For example, Bullet games naturally have more blunders, while Classical games tend to look much higher quality, so the guessing becomes more realistic and skill based instead of random. Ok now time to take a break and touch grass :D"}, {"post_id": 4693, "ts": "2026-06-08T03:35:51Z", "hours": 1.2842, "text": "Hi guys, Today I added a new Guess the Elo feature to my chess app. It now loads real games from a Lichess PGN database and pulls positions from actual rated games instead of using manually created examples. Now we have OVER 90 MILLION REAL GAMES!!! Users are shown a real position from a game and have to guess the elo range of the players based on how the position looks. ( Got this idea from GothamChess) After each guess, it reveals the actual rating, along with details like both players’ ratings, the opening, and the game result. I also added scoring and accuracy tracking so users can see how well they are doing over time. Similar to my other features. PS: Got the idea from GothamChess!!! I will definitely recommend checking his GTE series out!"}, {"post_id": 4594, "ts": "2026-06-07T23:03:21Z", "hours": 5.7258, "text": "Hi guys, Today I spent a lot of time improving and restructuring the Endgame Lessons section of my chess platform. One of the biggest changes was reorganizing the codebase to make it cleaner, more modular, and easier to maintain as the project continues to grow. I reworked how lesson data is stored so that each lesson now has its own clearly defined position, learning objective, explanation, highlighted instructional squares, practical application, and reflection question. This makes adding new lessons much easier in the future and keeps the code organized instead of having information scattered throughout the file. I also upgraded the lesson content itself by replacing shorter descriptions with much more detailed educational explanations that focus on the reasoning behind each concept, helping users understand not only what to do but why they should do it. The board visualization was improved as well, with important squares now highlighted directly on the board to make key ideas easier to identify. I refined the page layout to create a more structured learning experience, separating objectives, explanations, applications, and review questions into distinct sections that are easier to follow. In addition, I cleaned up variable naming, improved readability, reduced repetitive code, and made the overall architecture more scalable so future endgame topics can be added with minimal changes. The result is a much more professional and educational system that feels less like a collection of chess positions and more like a dedicated endgame learning course built directly into the platform. This update lays a stronger foundation for future features such as interactive lessons, guided practice positions, move validation, progress tracking, and advanced endgame training modules."}, {"post_id": 4008, "ts": "2026-06-07T04:47:56Z", "hours": 1.0294, "text": "Hi guys, Today I completely redesigned the Endgame Lessons section of my chess app to make it more educational and closer to a real chess course. Previously, the lessons contained basic positions and short explanations. I upgraded the system so that each lesson now focuses on teaching the actual endgame concept in greater depth. I rewrote the explanations to be significantly longer and more detailed, covering not only what the concept is but also why it matters, how it is used in practical games, and when players should apply it. I also improved the board visualization. Instead of using generic markers, important instructional squares are now highlighted directly on the board using colored squares. This makes it easier to connect the written explanation to the position being displayed. The lessons now include: More realistic endgame example positions Detailed educational explanations Learning objectives for each topic Highlighted critical squares on the board Practical applications showing when the concept is used in real games Reflection questions that encourage deeper understanding Topics currently covered include: Opposition Key Squares Lucena Position Philidor Defense Triangulation More to be added soon…"}, {"post_id": 3748, "ts": "2026-06-06T19:54:21Z", "hours": 1.8814, "text": "Hi guys, Today I improved the Endgame Lessons section of my chess app by adding much more detailed explanations to the lessons. Previously, the lessons mainly showed the positions and key ideas, but now they include step by step explanations of why certain moves are played and the concepts behind them. The goal is to help users understand the logic of the endgame instead of just memorizing moves. Additionally, much of the UI was updated and major bugs were fixed, ensuring a smooth experience and run."}, {"post_id": 2928, "ts": "2026-06-05T20:43:14Z", "hours": 0.5358, "text": "Hi guys, today I built a new Endgame Puzzles feature for my chess app called ChessHub. It lets users practice real endgame positions from a puzzle database and actually play them out on a board instead of just looking at them. You can choose to play as White, Black, or let it auto assign your side, and the board flips depending on what you’re playing so it always feels correct. I also added a full training system around it. It tracks your accuracy, keeps a streak of solved puzzles, and tells you when you get something right or wrong. There is also a hint option if you get stuck, and you can reveal the full solution line to learn the idea behind the position. After each puzzle, you can instantly move to the next one or reset it, so it works like a continuous training mode instead of a one off puzzle viewer. After a lot of struggling by myself and some use of AI to resolve some major roadblocks I finally finished with this ————> More feature coming soon…"}, {"post_id": 2829, "ts": "2026-06-05T17:37:18Z", "hours": 1.7331, "text": "Hi everyone! I just downloaded 10000 Lichess puzzles, and I am looking forward to integrating them into the Puzzle Trainer on ChessHub, This is a huge step toward making a fully imersive, all in one chess learning platform. With the help of a puzzle database, ChessHub is evolving away from a simple tool to a full on complete training ecosystem! More updates coming soon! NOTICE –> Full terminal view isn’t taken for privacy concerns"}, {"post_id": 2754, "ts": "2026-06-05T15:07:07Z", "hours": 0.7164, "text": "Big update! The Chess Opening Decider has been transformed and is now part of the brand new ChessHub. Instead of being a standalone tool, it’s now one of the many features you can explore on a single, unified chess page. I have been hard at work wiring the homepage and connecting every component. It was definitely frustrating at times, but everything is finally up and running! Here is the homepage –>"}, {"post_id": 2409, "ts": "2026-06-04T21:26:58Z", "hours": 1.1217, "text": "I’ve been working on a chess analysis web application built with Python, Streamlit, python-chess, and Stockfish. The goal is to create an open-source alternative to Chess.com’s Game Review feature while learning more about engine analysis and chess programming."}, {"post_id": 2262, "ts": "2026-06-04T17:36:50Z", "hours": 0.2822, "text": "I built a Streamlit-based chess training application that combines opening practice, interactive gameplay, and Stockfish analysis into one tool. The app lets users choose from common chess openings like the Italian Game, Queen’s Gambit, and Sicilian Defense, then step through them move by move to understand how each position develops. The board state is managed in real time using python chess, with full support for undoing moves, resetting the position, and tracking move history. I also added a “play your move” mode where the user can select a legal move from the current position. After the user plays, Stockfish automatically responds with a best move based on a time limited engine search, creating a simple human vs AI experience. On top of gameplay, I integrated a Stockfish analysis system that evaluates the current position and suggests the best move using adjustable engine strength levels. This is visualized directly on the board using arrows to show recommended moves. The UI is fully built in Streamlit, with dynamic updates for every action, including opening progression, analysis, and gameplay changes. The goal of the project is not just to play chess, but to help users understand why moves are played and how openings transition into real strategic positions. There is a option to integrate Stockfish into a Chess.com style experience…"}, {"post_id": 2232, "ts": "2026-06-04T16:50:39Z", "hours": 3.0908, "text": "I built a Streamlit chess opening viewer using python-chess where users can step through common openings move by move. I also added sidebar controls to customize the board appearance, including a color picker for light and dark squares and a slider to adjust board size. At first, the color customization didn’t work because the values from the Streamlit color pickers weren’t being passed into the chess.svg.board() function. Even though the UI was updating, the board rendering was still using the default SVG colors. To fix this, I connected the selected colors directly into the SVG generator using the colors parameter in chess.svg.board(), like this: “square light” to light square color picker value “square dark” to dark square color picker value I also fixed the board size control by replacing the hardcoded value with the slider value. Now the board updates dynamically based on user input, making the interface fully interactive and customizable."}, {"post_id": 1524, "ts": "2026-06-03T16:30:57Z", "hours": 0.9956, "text": "I originally tried to build a chess opening visualizer in Streamlit using a custom 8×8 board made from HTML and st.columns(), where I manually placed each square, piece, and highlight. However, the layout kept breaking in weird ways, such as only parts of the board showing, gaps appearing between columns, and sometimes only a single square showing. After a lot of debugging (Thanks ChatGPT!), I switched to using the python-chess library and its built-in SVG board renderer. This completely fixed the problem because the board is now generated as a real chess position using an actual chess engine instead of a manually built grid. Moves are applied using proper chess rules, and the visual output is a clean, perfectly aligned SVG board with no spacing issues or rendering bugs. Here is what it looks like –>"}, {"post_id": 867, "ts": "2026-06-02T16:14:16Z", "hours": 1.2019, "text": "The UI system is being upgraded, and now there are more detailed explanations regarding the openings! Users can now learn in detail with more explanations and core ideas without the hassle of a tutor or a handheld book. More is to come; working on making a chess board where users can see what the opening will actually look like :>"}, {"post_id": 822, "ts": "2026-06-02T14:37:24Z", "hours": 1.6861, "text": "Chess Opening Decider is a Streamlit web application that helps chess players discover openings that match their skill level, playing style, and goals. Users answer a series of questions about how they like to play, whether they prefer White or Black, how aggressive they are, and what type of positions they enjoy. Sort of like a mini quiz. The application then analyzes their responses and recommends openings that best fit their preferences. The project includes a database of popular chess openings with detailed explanations, strengths, weaknesses, and example opening moves. Users can view recommended openings, learn why they were selected, and receive personalized advice based on their current skill level. The goal of the project is to make learning chess openings more accessible and less confusing by providing straightforward recommendations instead of requiring players to search through large amounts of opening theory. OPENING THEORY SUCKS and isn’t fun to use; this project will help eliminate that barrier. Current features include an opening recommendation engine, aggressiveness based analysis, opening explanations, move suggestions, player profile analysis, and skill-based improvement advice. Future updates may include interactive chessboards, opening statistics, Stockfish integration, user profiles, and additional AI-powered recommendations. PS: ChatGPT was used to troubleshoot and debug. Minimal AI assistance was used so far…"}, {"post_id": 418, "ts": "2026-06-01T20:23:59Z", "hours": 0.6667, "text": "I am working on a chess opening decider which will take in info about your skill level, play style, and piece color to present a fitting opening. This is it so far –>"}]...
|
Title: ChessHub by @Soomansh | Stardance
Devlogs: Title: ChessHub by @Soomansh | Stardance
Devlogs:
I am working on a chess opening decider which will take in info about your skill level, play style, and piece color to present a fitting opening. This is it so far –>
Chess Opening Decider is a Streamlit web application that helps chess players discover openings that match their skill level, playing style, and goals. Users answer a series of questions about how they like to play, whether they prefer White or Black, how aggressive they are, and what type of positions they enjoy. Sort of like a mini quiz. The application then analyzes their responses and recommends openings that best fit their preferences. The project includes a database of popular chess openings with detailed explanations, strengths, weaknesses, and example opening moves. Users can view recommended openings, learn why they were selected, and receive personalized advice based on their current skill level. The goal of the project is to make learning chess openings more accessible and less confusing by providing straightforward recommendations instead of requiring players to search through large amounts of opening theory. OPENING THEORY SUCKS and isn’t fun to use; this project will help eliminate that barrier. Current features include an opening recommendation engine, aggressiveness based analysis, opening explanations, move suggestions, player profile analysis, and skill-based improvement advice. Future updates may include interactive chessboards, opening statistics, Stockfish integration, user profiles, and additional AI-powered recommendations. PS: ChatGPT was used to troubleshoot and debug. Minimal AI assistance was used so far…
The UI system is being upgraded, and now there are more detailed explanations regarding the openings! Users can now learn in detail with more explanations and core ideas without the hassle of a tutor or a handheld book. More is to come; working on making a chess board where users can see what the opening will actually look like :>
I originally tried to build a chess opening visualizer in Streamlit using a custom 8×8 board made from HTML and st.columns(), where I manually placed each square, piece, and highlight. However, the layout kept breaking in weird ways, such as only parts of the board showing, gaps appearing between columns, and sometimes only a single square showing. After a lot of debugging (Thanks ChatGPT!), I switched to using the python-chess library and its built-in SVG board renderer. This completely fixed the problem because the board is now generated as a real chess position using an actual chess engine instead of a manually built grid. Moves are applied using proper chess rules, and the visual output is a clean, perfectly aligned SVG board with no spacing issues or rendering bugs. Here is what it looks like –>
I built a Streamlit chess opening viewer using python-chess where users can step through common openings move by move. I also added sidebar controls to customize the board appearance, including a color picker for light and dark squares and a slider to adjust board size. At first, the color customization didn’t work because the values from the Streamlit color pickers weren’t being passed into the chess.svg.board() function. Even though the UI was updating, the board rendering was still using the default SVG colors. To fix this, I connected the selected colors directly into the SVG generator using the colors parameter in chess.svg.board(), like this: “square light” to light square color picker value “square dark” to dark square color picker value I also fixed the board size control by replacing the hardcoded value with the slider value. Now the board updates dynamically based on user input, making the interface fully interactive and customizable.
I built a Streamlit-based chess training application that combines opening practice, interactive gameplay, and Stockfish analysis into one tool. The app lets users choose from common chess openings like the Italian Game, Queen’s Gambit, and Sicilian Defense, then step through them move by move to understand how each position develops. The board state is managed in real time using python chess, with full support for undoing moves, resetting the position, and tracking move history. I also added a “play your move” mode where the user can select a legal move from the current position. After the user plays, Stockfish automatically responds with a best move based on a time limited engine search, creating a simple human vs AI experience. On top of gameplay, I integrated a Stockfish analysis system that evaluates the current position and suggests the best move using adjustable engine strength levels. This is visualized directly on the board using arrows to show recommended moves. The UI is fully built in Streamlit, with dynamic updates for every action, including opening progression, analysis, and gameplay changes. The goal of the project is not just to play chess, but to help users understand why moves are played and how openings transition into real strategic positions. There is a option to integrate Stockfish into a Chess.com style experience…
I’ve been working on a chess analysis web application built with Python, Streamlit, python-chess, and Stockfish. The goal is to create an open-source alternative to Chess.com’s Game Review feature while learning more about engine analysis and chess programming.
Big update! The Chess Opening Decider has been transformed and is now part of the brand new ChessHub. Instead of being a standalone tool, it’s now one of the many features you can explore on a single, unified chess page. I have been hard at work wiring the homepage and connecting every component. It was definitely frustrating at times, but everything is finally up and running! Here is the homepage –>
Hi everyone! I just downloaded 10000 Lichess puzzles, and I am looking forward to integrating them into the Puzzle Trainer on ChessHub, This is a huge step toward making a fully imersive, all in one chess learning platform. With the help of a puzzle database, ChessHub is evolving away from a simple tool to a full on complete training ecosystem! More updates coming soon! NOTICE –> Full terminal view isn’t taken for privacy concerns
Hi guys, today I built a new Endgame Puzzles feature for my chess app called ChessHub. It lets users practice real endgame positions from a puzzle database and actually play them out on a board instead of just looking at them. You can choose to play as White, Black, or let it auto assign your side, and the board flips depending on what you’re playing so it always feels correct. I also added a full training system around it. It tracks your accuracy, keeps a streak of solved puzzles, and tells you when you get something right or wrong. There is also a hint option if you get stuck, and you can reveal the full solution line to learn the idea behind the position. After each puzzle, you can instantly move to the next one or reset it, so it works like a continuous training mode instead of a one off puzzle viewer. After a lot of struggling by myself and some use of AI to resolve some major roadblocks I finally finished with this ————> More feature coming soon…
Hi guys, Today I improved the Endgame Lessons section of my chess app by adding much more detailed explanations to the lessons. Previously, the lessons mainly showed the positions and key ideas, but now they include step by step explanations of why certain moves are played and the concepts behind them. The goal is to help users understand the logic of the endgame instead of just memorizing moves. Additionally, much of the UI was updated and major bugs were fixed, ensuring a smooth experience and run.
Hi guys, Today I completely redesigned the Endgame Lessons section of my chess app to make it more educational and closer to a real chess course. Previously, the lessons contained basic positions and short explanations. I upgraded the system so that each lesson now focuses on teaching the actual endgame concept in greater depth. I rewrote the explanations to be significantly longer and more detailed, covering not only what the concept is but also why it matters, how it is used in practical games, and when players should apply it. I also improved the board visualization. Instead of using generic markers, important instructional squares are now highlighted directly on the board using colored squares. This makes it easier to connect the written explanation to the position being displayed. The lessons now include: More realistic endgame example positions Detailed educational explanations Learning objectives for each topic Highlighted critical squares on the board Practical applications showing when the concept is used in real games Reflection questions that encourage deeper understanding Topics currently covered include: Opposition Key Squares Lucena Position Philidor Defense Triangulation More to be added soon…
Hi guys, Today I spent a lot of time improving and restructuring the Endgame Lessons section of my chess platform. One of the biggest changes was reorganizing the codebase to make it cleaner, more modular, and easier to maintain as the project continues to grow. I reworked how lesson data is stored so that each lesson now has its own clearly defined position, learning objective, explanation, highlighted instructional squares, practical application, and reflection question. This makes adding new lessons much easier in the future and keeps the code organized instead of having information scattered throughout the file. I also upgraded the lesson content itself by replacing shorter descriptions with much more detailed educational explanations that focus on the reasoning behind each concept, helping users understand not only what to do but why they should do it. The board visualization was improved as well, with important squares now highlighted directly on the board to make key ideas easier to identify. I refined the page layout to create a more structured learning experience, separating objectives, explanations, applications, and review questions into distinct sections that are easier to follow. In addition, I cleaned up variable naming, improved readability, reduced repetitive code, and made the overall architecture more scalable so future endgame topics can be added with minimal changes. The result is a much more professional and educational system that feels less like a collection of chess positions and more like a dedicated endgame learning course built directly into the platform. This update lays a stronger foundation for future features such as interactive lessons, guided practice positions, move validation, progress tracking, and advanced endgame training modules.
Hi guys, Today I added a new Guess the Elo feature to my chess app. It now loads real games from a Lichess PGN database and pulls positions from actual rated games instead of using manually created examples. Now we have OVER 90 MILLION REAL GAMES!!! Users are shown a real position from a game and have to guess the elo range of the players based on how the position looks. ( Got this idea from GothamChess) After each guess, it reveals the actual rating, along with details like both players’ ratings, the opening, and the game result. I also added scoring and accuracy tracking so users can see how well they are doing over time. Similar to my other features. PS: Got the idea from GothamChess!!! I will definitely recommend checking his GTE series out!
It took about 4 hours because I didn’t just add the feature, I had to carefully integrate it into a pretty large Streamlit + chess PGN system without breaking anything. I was kinda stupid and ignored the MAIN ERROR which was in plain sight and struggled for 3 hours ;-; The main challenge was that PGN “TimeControl” data isn’t always clean or consistent, so I had to handle edge cases like missing values, weird formats, and games that don’t follow the usual “base+increment” pattern. I added a classifier to turn raw time controls (like 60+0 or 600+5) into readable labels like Bullet, Blitz, Rapid, and Classical. This makes the overall experience more enjoyable… For example, Bullet games naturally have more blunders, while Classical games tend to look much higher quality, so the guessing becomes more realistic and skill based instead of random. Ok now time to take a break and touch grass :D
Not much of the time spent was tracked because I decided to revamp and restructure all of my GitHub, resulting in tons of commits and struggles along the way as I’m still new to github. After about 40 minutes to an hour, I finally managed to organize my repository and am satisfied with the outcome. I learned a lot about version control, commit history, and repository management during the process. It was frustrating at times, but seeing everything neatly structured and functional made it worth the effort. I plan to maintain this organization going forward to make future updates smoother and more efficient :D
Today I focused on improving the structure and deployment of Chess Hub. A MAJOR issue came from navigation between pages after deployment. Some parts worked locally but failed on Streamlit Cloud because page references and repository structure were not fully aligned. I spent time debugging file organization, checking GitHub uploads, and updating navigation paths. Additionally, I had to rewrite most of my code to work with Streamlit Cloud which was a pain :( Current progress: -Connected multiple tools through the homepage -Fixed navigation for several modules -Verified repository structure and deployment setup -Improved overall organization of the project -Continued testing cloud deployment behavior Modules currently integrated: -Chess Quiz -Opening Explorer -Board Visualizer -Play Against AI -Chess Game Review -Endgame Puzzles -Learn Endgames Challenges: -Maintaining consistent routing across many pages -Ensuring deployment behaves the same as local development -Managing project growth while keeping the structure organized Next steps: -Finish connecting remaining modules -Improve navigation and usability -Continue cleanup and testing -Refine the interface and overall user experience
I finally got most of my Chess Review app working after fixing several issues across deployment, engine setup, and analysis. I removed the need to upload Stockfish directly to GitHub by making the engine download automatically at runtime, which solved the file size limitation. I fixed the Stockfish initialization and path setup so it works correctly in Streamlit, added executable permissions for Linux environments, and cleaned up the loading flow to prevent crashes caused by analysis starting before the engine was ready. The full review pipeline is almost ready to run, and I’m continuing to improve the quality of the analysis and review system!
Hi everyone! I recently updated the Stockfish feature, and instead of running a local engine, which caused instability and frequent bugs, I have switched over to using the Lichess database. This change makes the entire system smoother, faster, and far more reliable, ensuring consistent evaluations without the headaches of engine crashes or performance issues. I finished all bugs involving the overall display and surface level usage and I am trying to solve deeper hard to fix bugs!
Hi Guys! I am back after a 1 month vacation! 🥳🥳🥳Over the past one month i have managed to spend about 14 hours working on ChessHub and getting the project back on track.I mainly focused on improving the overall structure of the app, fixing bugs, and making the different chess features work more smoothly. I worked on improving the Chess Review system, removing the dependency issues with Stockfish, and moving toward a more cloud-based analysis approach so the app can run reliably on Streamlit Cloud.I also spent time debugging deployment problems, fixing errors, improving PGN handling, and making sure the different parts of ChessHub connect properly. Along with that, I worked on features like Guess The Elo, game loading, chessboard rendering, and improving the user experience. A lot of the time went into troubleshooting small issues, testing different solutions, and cleaning up the code so the project is more stable and easier to expand in the future. After 14 hours of work, ChessHub is much closer to becoming the complete chess platform I imagined. Still a lot more to build, but progress is progress! ♟️🔥
Hello everyone! Yesterday and through today I migrated ChessHub from Streamlit to Next.js, React, and TypeScript to make the application compatible with Vercel deployment :D. I also updated the project structure and configuration, adapted the application for a modern web environment, and configured the deployment workflow to build and deploy from a separate vercel-migration branch while keeping the original Streamlit/Render versions on GitHub! I only spent around 30 minutes coding but transferring it took wayyy more time then I expected ;-; Sadly I had to use some AI to help with the html, css and TypeScript. This is how ChessHub looks now! —>
Ships:
What did I make? I built ChessHub, an interactive chess learning platform that combines multiple chess tools into one application. It includes features like a Board Visualizer, Chess Game Review, Chess Quiz, Endgame Puzzles, Guess The Elo, Learn Endgames, Opening Explorer, and Play Against AI. The goal of ChessHub is to make learning chess more interactive by helping players understand the ideas behind moves, improve their decision making, and explore different parts of the game. What was challenging? The most challenging part of creating ChessHub was combining many different chess systems into one working platform. I had to learn how to handle PGN files, create interactive chessboards, process chess positions, build analysis features, and solve many deployment issues. One of the biggest challenges was making the project reliable on Streamlit Cloud while dealing with chess engine limitations, APIs, and technical bugs. This was also the first time I ever used GitHub EVER! What am I proud of? I am most proud that ChessHub evolved from a simple opening recommendation project into a complete chess learning platform. I am proud of creating multiple interactive features, solving difficult technical problems, and building something that helps players learn chess concepts instead of just memorizing moves. Seeing all the different systems work together into one application has been the most rewarding part of the project. I am really happy that I was able to overcome the challenges and work through everything, even if it broke me :D. What should people know so they can test my project? People testing ChessHub should explore each feature because every section focuses on a different part of chess improvement. They can try exploring openings, reviewing their own PGN games, solving endgame challenges, testing their chess knowledge, and playing around with the different interactive tools. The app may take a few seconds to load some features, but users should experiment with different pages and games to see the full experience of ChessHub....
|
1793008414.1286952
|
1793094814.1286952
|
|
6910
|
AstatineOS (x86 custom OS + kernel) by @atomtables AstatineOS (x86 custom OS + kernel) by @atomtables | Stardance...
|
atomtables
|
0
|
53.53
|
0
|
[]
|
[{"post_id": 28077, "ts": "202 [{"post_id": 28077, "ts": "2026-07-14T03:22:50Z", "hours": 6.1403, "text": "so it’s been a while, just barely 6h7m (676767676767676767). again… coding just gets me in the feels you know? you feel the breeze in the wind, the sun in the sky, the butterflies that release and change eddy currents to cause bit flips in a disc platter… just me? alright. i added children traversal to the vfs. this was because I wanted my vfs to print out the output of all the items that got pushed through it. this also adds another feature that i took from Linux, which is that a given directory is connected to its children via a doubly linked list. I actually took a feature from the Linux kernel: struct list_item . It’s a structure that has prev and next , which point to the addresses of struct list_item inside existing structures. So, for example struct my_item { struct list_item children; struct list_item siblings; } would hold a prev and next pointer for each item. children would point to the first sibling, while the beginning of siblings would point to the original parent directory. obviously though, my_item->children.next would hold a pointer to struct list_item, not struct my_item. this is where Linux’s container_of macro comes in (which i shamelessly copied word for word). it calculates the offset to subtract from different structures, given the structure and the name of the struct list_item. this provides efficiency, since siblings and children are connected in a linked list that allows O(1) insertion and removal in a list where there’s likely to be a lot of removals. my hashmap is also working pretty well!!! HASHMAP I WOULD USE A HASHMAP (if you get the reference LMFAO)."}, {"post_id": 25717, "ts": "2026-07-10T04:37:06Z", "hours": 6.7314, "text": "how much fun we shall have so you may be wondering… where the hell was I for the past 6 hours. I was putting together the foundation for my VFS, with a ton of struggles. what so in my last devlog, I came up with all the storage structures and measurements for how the filesystem works on Astatine. But I was yet to implement a single function. So i started basic, and that still somehow screwed up too bad 1. Splitting paths by forward slashes this seems really simple, but I messed it up somewhat bad. Since I don’t have a C library or strtok, I implemented my own string splitting thing using dynamic arrays (that I implemented) and a buffer. The unfortunate thing is that my dynamic arrays return a pointer to the value you save to it. Since I’m saving a pointer to a string, which in turn is a pointer of characters, I have to cast everything to a char** , while the default return types are all void* , so when I freed the strings, I forgot to dereference them (and the compiler didn’t complain), resulting in a kernel panic screen. 2. macro hell (in expansion of hashmap) next, I need to implement a VFS global cache. when you access a path, it’s better to save the data in ram so that the next time you visit that path we aren’t traversing the directory again. unfortunately, i’m dumb and don’t know how to implement a hashmap, so I found this interesting tutorial from a decade ago and used that. I also thought, at this point in time, that it would make sense to add thread safety to the vfs code so that it doesn’t completely crash due to race conditions, and I introduced macros for these. However, I realised that non-atomic writes are still not thread safe, and had to dig in with compiler builtins (since I’m using freestanding code, I can’t use <stdatomic.h>). While putting together these macros with atomic, I had some weird behaviour where I kept hanging and hanging and hanging, and turns out it was because my macros were made improperly, and the formatting of the code meant that the while statements I was using to loop over code didn’t actually cover the entire loop body, resulting in a permanent hang. 3. malloc vs calloc this is my fault, I forgot to use calloc to get zeroed memory, since my code seems to have failed to initialise all the required sections, it resulted in a page fault. 4. well this is embarassing about at least 25 times, i kept a debug statement that dereferenced a null pointer, causing a crash. this was so sad because it taught me to remember: i’m stupid. so does it work? yea. thank my 2012 macbook air’s horribly patched version of qemu for the slowdown in the next clip. (i also included the crash so you can see the cool ntos-like crash screen)"}, {"post_id": 23907, "ts": "2026-07-07T03:34:11Z", "hours": 1.2019, "text": "after some deliberation i have some specifics as to the implementation of the virtual file system. ive decided that i’m not smarter than engineers in the 50s, and am adopting a very similar idea to what the Unix kernel has: the i-node system (although i’m not calling them inodes that’s such an ugly name). the kernel keeps track of 3 structures: fs_entry (the central identifier of the file, source of truth), fs_entid (what keeps track of the file name, parent directory, and what filesystem it belongs to), and fs_file (which is what processes interact with to read, write, mmap, etc. to disk). we’ll then have a huge list of filesystem operations that use these 3 structures (as well as f_props to get properties of a file, dir_props to get directory information, sec_props, etc. etc.) to completely interact with the disk. This will allow us to make our own filesystem drivers and have interaction with physical media beyond fat32, something my operating system DESPERATELY needs. ps. Maybe I’ll create my own read/write file system later."}, {"post_id": 23677, "ts": "2026-07-06T19:48:59Z", "hours": 0.9425, "text": "well this was embarassing. turns out I forgot to clean the project, and stale files with the wrong idea of data had corrupt structures that made the kernel randomly crash. This was confusing for a couple reasons. from the below screenshot, you can see that the kernel panic occurred inconsistently. the PCI device would register and memory would be allocated, but in other cases size was set to zero and stuff wasn’t very well allocated. It turns out that my kmalloc function is bugged, and panics if you call it with zero (since it doesn’t do a precondition check and the loop always compares length with a min valid of 1) Page faults were happening as well, which made me think a deeper memory corruption issue was happening. On top of changing the device structure to use an attributes pointer struct rather than an extension of the device itself, i allocated memory to copy that structure over, so I thought that early allocations were frying existing code. all in all there’s a lot to learn from forgetting to clean stale files. now we can get back to the disk structure on hand!!!"}, {"post_id": 23253, "ts": "2026-07-06T03:06:23Z", "hours": 7.5797, "text": "I am utterly lost in space right now. So I wrote the syscall structure and now realised that I don’t really have a robust way of getting files. I’m using a stub and some random fat32 embedded driver online, which is certainly no “operating system”-like way to load files. I started working on my disk abstraction. So now, I’m horribly lost. Well first, I made a couple of changes, all of which broke something random. I disabled optimisation for debugging purposes, and that changed the location of the entrypoint for some reason. I changed the way the bootloader is loaded up, and that broke the main partition for some reason. Something or the other keeps breaking. After adding the abstraction code, I cycle between 3 errors. Either the code pagefaults while registering device, the malloc runs out of memory, or (a more random one) the disk driver fails to run. i’m taking a break."}, {"post_id": 19744, "ts": "2026-07-01T04:09:49Z", "hours": 5.8486, "text": "it may not seem like much, but i’ve gotten to completely rewriting my syscall structure. how you may ask? when it comes to system design, I want to separate Astatine from Unix’s own malpractices. Rather than going with the “everything is a file” paradigm, a concept that just squishes everything rather than make a decent api, I separated device and file nodes. You open with file_open and device_open . On top of this, I added some better handling of flags, switches, and made some decisions that I thought would be better. Of course, I’m not going to throw out the 75-year-old works of Unix engineers, but I do want some creativity involved and Astatine-Is-Not-Unix (ainu?). System design is probably the worst part out of any OS design: it feels so much better to start implementing, but sometimes, you need both DIRECTION and MAGNITUDE vector reference to work on code you’ll actually use. The almost 20 hours of research isn’t lost on me though. I hope I don’t have to take a Unix class in college."}, {"post_id": 17319, "ts": "2026-06-28T01:26:24Z", "hours": 4.9325, "text": "oh my god the last 2 days have been like living in another hell. i wouldn’t wish this debugging session on my worst enemy. so i wanted to implement an option on boot to choose how you want to display graphics on the screen (upcoming feature to give applications direct access to the framebuffer?). i made the smallest mistake of putting my strings in between the code, rather than all at the end. Because of this, nasm started doing random shenanigans that I still don’t know what happened and asked for help on the OSDev forums . After like 5 hours on GDB and Hex Fiend and nasm and trying to get Gemini to do anything but hallucinate (hilariously so may I add), I figured out the issue was not putting all the program strings at the bottom of the code. Now, I also have a configuration struct that allows stuff like boot-args, graphics config, and etc. to be configured as below. It looks decent as well"}, {"post_id": 16514, "ts": "2026-06-26T21:22:33Z", "hours": 2.6797, "text": "so i finally achieved the entire point of adding this second teletype driver. an important consideration to make in ANY computer is that you’re going to be working with different screens, different sizes, and different types of interfaces. My old teletype code was only really optimised for VGA bios (even now, it can only render 16-color bios colors). But now, to change displays, all I need is to: change the loaded driver from textmode.adv to bitmaptext.adv change the loaded display device to VGA_BITMAP… rather than VGA_TEXT change the boot program to initialise the display as 320x200 I plan on making only the 3rd option required through the boot program, the 1st and 2nd steps (should) hopefully happen automatically. And since we’re only dealing with ISA(80s)-compatible VGA cards, keeping the display device as an ISA device shouldn’t be that big of a problem (at least until we implement PCI discovery)"}, {"post_id": 15442, "ts": "2026-06-25T03:05:06Z", "hours": 1.2914, "text": "so i did try to hook up the bitmap into the new code but 1. i did hardcode 80x25 into the code so I have to fix that and 2. i did not implement a couple of functions and a couple of areas where it relies on quirks only available on text mode. you can see the result of relying on those quirks below in the poorly rendered and hardcoded error dialogue… more work will happen tomorrow."}, {"post_id": 15380, "ts": "2026-06-25T00:32:53Z", "hours": 2.0828, "text": "i got all of the characters + a little bit of color handling code to complete the drawing. this will be part of the second teletype driver I write, although I still am not the biggest fan of this. my next step will be to write a bitmap driver arrangement that the teletype will then be bolted onto, since the current teletype ordeal with this will be just ad-hoc writes to memory without mounting to a specific display, it could possibly corrupt memory if loaded incorrectly (like the vga text mode driver). anyway ill git commit here so you can see"}, {"post_id": 14836, "ts": "2026-06-24T03:02:13Z", "hours": 1.6375, "text": "previously i was using a 7x7 font that worked, but it looks really ugly, looks bolded, and doesn’t really have a good lower-case variant. of course I could try to make one but I’m a god awful designer. instead i stole this 5x7 character set from online specifically meant for bitmapped fonts on low resolution displays. 5x7 means that it won’t quite align perfectly, we do have a 53.6x25 display now (since its 6x8 with padding) but i just ignored the excess pixels and went along anyway. this looks much better, and I really do plan to use 640x480 since 320x200 is only usable for dos games and such. i spent most of this 1h38m just putting in the character set into the character array, which I must say is quite relaxing."}, {"post_id": 14630, "ts": "2026-06-23T20:12:55Z", "hours": 1.3428, "text": "continuing to work on the bitmapped character list, so far I have an A and a B imported from some random thing online. Unfortunately I can’t find an image online for lowercase 7x7 test, so I might have to design that myself, along with the rest of the special characters. At the very least, this foray is just to experiment with how my OS would interact with a bitmapped screen, I plan to use 640x480 basically as soon as possible (only reason I didn’t now is because its planar when set up via VGA, so I have to learn VESA)"}, {"post_id": 14108, "ts": "2026-06-23T02:46:47Z", "hours": 0.7917, "text": "Right now, I’m working on a bitmap display. I decided to go with a really basic starting point, just a 320x200 256-colors, and I’m programming the 256 colors as a 3-3-2 colormap. It took like an hour just to understand how this stuff works, I don’t like VGA a ton now."}, {"post_id": 14008, "ts": "2026-06-22T23:54:15Z", "hours": 5.7836, "text": "holy crap there was so much debugging that had to happen. so the memory allocator pretty much fell apart. I realised that (with the help of gemini) that having a buddy allocator for physical frames was irrelevant, considering that physical memory could be remapped however necessary. as far as I know, there is no need for continuous physical memory except for legacy hardware, which i guess can be its own function later then. so I just made a bitmap allocator. physical memory is extremely irrelevant, we don’t care about anything other than the virtual memory it’s paired to. now I can finally start work on a bitmap display somehow."}, {"post_id": 2136, "ts": "2026-06-04T13:50:08Z", "hours": 0.8058, "text": "I managed to fix the bug, the issue was that I uninitialised a variable that needed to be initialised (which was the address of the code that told the OS where memory was valid). I fixed that and now I’m working on adding a buddy allocator to the frames."}, {"post_id": 1826, "ts": "2026-06-04T01:27:30Z", "hours": 3.7422, "text": "I’m being ragebait by the compiler. There is 100% enough memory to allocate more memory but it says there isn’t. It’s been way too long for this issue to still be happening, all I did was write one unused subroutine in the memory allocation function. I’ll be back when I finish writing it."}]...
|
Title: AstatineOS (x86 custom OS + kernel) by @ato Title: AstatineOS (x86 custom OS + kernel) by @atomtables | Stardance
Devlogs:
I’m being ragebait by the compiler. There is 100% enough memory to allocate more memory but it says there isn’t. It’s been way too long for this issue to still be happening, all I did was write one unused subroutine in the memory allocation function. I’ll be back when I finish writing it.
I managed to fix the bug, the issue was that I uninitialised a variable that needed to be initialised (which was the address of the code that told the OS where memory was valid). I fixed that and now I’m working on adding a buddy allocator to the frames.
holy crap there was so much debugging that had to happen. so the memory allocator pretty much fell apart. I realised that (with the help of gemini) that having a buddy allocator for physical frames was irrelevant, considering that physical memory could be remapped however necessary. as far as I know, there is no need for continuous physical memory except for legacy hardware, which i guess can be its own function later then. so I just made a bitmap allocator. physical memory is extremely irrelevant, we don’t care about anything other than the virtual memory it’s paired to. now I can finally start work on a bitmap display somehow.
Right now, I’m working on a bitmap display. I decided to go with a really basic starting point, just a 320x200 256-colors, and I’m programming the 256 colors as a 3-3-2 colormap. It took like an hour just to understand how this stuff works, I don’t like VGA a ton now.
continuing to work on the bitmapped character list, so far I have an A and a B imported from some random thing online. Unfortunately I can’t find an image online for lowercase 7x7 test, so I might have to design that myself, along with the rest of the special characters. At the very least, this foray is just to experiment with how my OS would interact with a bitmapped screen, I plan to use 640x480 basically as soon as possible (only reason I didn’t now is because its planar when set up via VGA, so I have to learn VESA)
previously i was using a 7x7 font that worked, but it looks really ugly, looks bolded, and doesn’t really have a good lower-case variant. of course I could try to make one but I’m a god awful designer. instead i stole this 5x7 character set from online specifically meant for bitmapped fonts on low resolution displays. 5x7 means that it won’t quite align perfectly, we do have a 53.6x25 display now (since its 6x8 with padding) but i just ignored the excess pixels and went along anyway. this looks much better, and I really do plan to use 640x480 since 320x200 is only usable for dos games and such. i spent most of this 1h38m just putting in the character set into the character array, which I must say is quite relaxing.
i got all of the characters + a little bit of color handling code to complete the drawing. this will be part of the second teletype driver I write, although I still am not the biggest fan of this. my next step will be to write a bitmap driver arrangement that the teletype will then be bolted onto, since the current teletype ordeal with this will be just ad-hoc writes to memory without mounting to a specific display, it could possibly corrupt memory if loaded incorrectly (like the vga text mode driver). anyway ill git commit here so you can see
so i did try to hook up the bitmap into the new code but 1. i did hardcode 80x25 into the code so I have to fix that and 2. i did not implement a couple of functions and a couple of areas where it relies on quirks only available on text mode. you can see the result of relying on those quirks below in the poorly rendered and hardcoded error dialogue… more work will happen tomorrow.
so i finally achieved the entire point of adding this second teletype driver. an important consideration to make in ANY computer is that you’re going to be working with different screens, different sizes, and different types of interfaces. My old teletype code was only really optimised for VGA bios (even now, it can only render 16-color bios colors). But now, to change displays, all I need is to: change the loaded driver from textmode.adv to bitmaptext.adv change the loaded display device to VGA_BITMAP… rather than VGA_TEXT change the boot program to initialise the display as 320x200 I plan on making only the 3rd option required through the boot program, the 1st and 2nd steps (should) hopefully happen automatically. And since we’re only dealing with ISA(80s)-compatible VGA cards, keeping the display device as an ISA device shouldn’t be that big of a problem (at least until we implement PCI discovery)
oh my god the last 2 days have been like living in another hell. i wouldn’t wish this debugging session on my worst enemy. so i wanted to implement an option on boot to choose how you want to display graphics on the screen (upcoming feature to give applications direct access to the framebuffer?). i made the smallest mistake of putting my strings in between the code, rather than all at the end. Because of this, nasm started doing random shenanigans that I still don’t know what happened and asked for help on the OSDev forums . After like 5 hours on GDB and Hex Fiend and nasm and trying to get Gemini to do anything but hallucinate (hilariously so may I add), I figured out the issue was not putting all the program strings at the bottom of the code. Now, I also have a configuration struct that allows stuff like boot-args, graphics config, and etc. to be configured as below. It looks decent as well
it may not seem like much, but i’ve gotten to completely rewriting my syscall structure. how you may ask? when it comes to system design, I want to separate Astatine from Unix’s own malpractices. Rather than going with the “everything is a file” paradigm, a concept that just squishes everything rather than make a decent api, I separated device and file nodes. You open with file_open and device_open . On top of this, I added some better handling of flags, switches, and made some decisions that I thought would be better. Of course, I’m not going to throw out the 75-year-old works of Unix engineers, but I do want some creativity involved and Astatine-Is-Not-Unix (ainu?). System design is probably the worst part out of any OS design: it feels so much better to start implementing, but sometimes, you need both DIRECTION and MAGNITUDE vector reference to work on code you’ll actually use. The almost 20 hours of research isn’t lost on me though. I hope I don’t have to take a Unix class in college.
I am utterly lost in space right now. So I wrote the syscall structure and now realised that I don’t really have a robust way of getting files. I’m using a stub and some random fat32 embedded driver online, which is certainly no “operating system”-like way to load files. I started working on my disk abstraction. So now, I’m horribly lost. Well first, I made a couple of changes, all of which broke something random. I disabled optimisation for debugging purposes, and that changed the location of the entrypoint for some reason. I changed the way the bootloader is loaded up, and that broke the main partition for some reason. Something or the other keeps breaking. After adding the abstraction code, I cycle between 3 errors. Either the code pagefaults while registering device, the malloc runs out of memory, or (a more random one) the disk driver fails to run. i’m taking a break.
well this was embarassing. turns out I forgot to clean the project, and stale files with the wrong idea of data had corrupt structures that made the kernel randomly crash. This was confusing for a couple reasons. from the below screenshot, you can see that the kernel panic occurred inconsistently. the PCI device would register and memory would be allocated, but in other cases size was set to zero and stuff wasn’t very well allocated. It turns out that my kmalloc function is bugged, and panics if you call it with zero (since it doesn’t do a precondition check and the loop always compares length with a min valid of 1) Page faults were happening as well, which made me think a deeper memory corruption issue was happening. On top of changing the device structure to use an attributes pointer struct rather than an extension of the device itself, i allocated memory to copy that structure over, so I thought that early allocations were frying existing code. all in all there’s a lot to learn from forgetting to clean stale files. now we can get back to the disk structure on hand!!!
after some deliberation i have some specifics as to the implementation of the virtual file system. ive decided that i’m not smarter than engineers in the 50s, and am adopting a very similar idea to what the Unix kernel has: the i-node system (although i’m not calling them inodes that’s such an ugly name). the kernel keeps track of 3 structures: fs_entry (the central identifier of the file, source of truth), fs_entid (what keeps track of the file name, parent directory, and what filesystem it belongs to), and fs_file (which is what processes interact with to read, write, mmap, etc. to disk). we’ll then have a huge list of filesystem operations that use these 3 structures (as well as f_props to get properties of a file, dir_props to get directory information, sec_props, etc. etc.) to completely interact with the disk. This will allow us to make our own filesystem drivers and have interaction with physical media beyond fat32, something my operating system DESPERATELY needs. ps. Maybe I’ll create my own read/write file system later.
how much fun we shall have so you may be wondering… where the hell was I for the past 6 hours. I was putting together the foundation for my VFS, with a ton of struggles. what so in my last devlog, I came up with all the storage structures and measurements for how the filesystem works on Astatine. But I was yet to implement a single function. So i started basic, and that still somehow screwed up too bad 1. Splitting paths by forward slashes this seems really simple, but I messed it up somewhat bad. Since I don’t have a C library or strtok, I implemented my own string splitting thing using dynamic arrays (that I implemented) and a buffer. The unfortunate thing is that my dynamic arrays return a pointer to the value you save to it. Since I’m saving a pointer to a string, which in turn is a pointer of characters, I have to cast everything to a char** , while the default return types are all void* , so when I freed the strings, I forgot to dereference them (and the compiler didn’t complain), resulting in a kernel panic screen. 2. macro hell (in expansion of hashmap) next, I need to implement a VFS global cache. when you access a path, it’s better to save the data in ram so that the next time you visit that path we aren’t traversing the directory again. unfortunately, i’m dumb and don’t know how to implement a hashmap, so I found this interesting tutorial from a decade ago and used that. I also thought, at this point in time, that it would make sense to add thread safety to the vfs code so that it doesn’t completely crash due to race conditions, and I introduced macros for these. However, I realised that non-atomic writes are still not thread safe, and had to dig in with compiler builtins (since I’m using freestanding code, I can’t use <stdatomic.h>). While putting together these macros with atomic, I had some weird behaviour where I kept hanging and hanging and hanging, and turns out it was because my macros were made improperly, and the formatting of the code meant that the while statements I was using to loop over code didn’t actually cover the entire loop body, resulting in a permanent hang. 3. malloc vs calloc this is my fault, I forgot to use calloc to get zeroed memory, since my code seems to have failed to initialise all the required sections, it resulted in a page fault. 4. well this is embarassing about at least 25 times, i kept a debug statement that dereferenced a null pointer, causing a crash. this was so sad because it taught me to remember: i’m stupid. so does it work? yea. thank my 2012 macbook air’s horribly patched version of qemu for the slowdown in the next clip. (i also included the crash so you can see the cool ntos-like crash screen)
so it’s been a while, just barely 6h7m (676767676767676767). again… coding just gets me in the feels you know? you feel the breeze in the wind, the sun in the sky, the butterflies that release and change eddy currents to cause bit flips in a disc platter… just me? alright. i added children traversal to the vfs. this was because I wanted my vfs to print out the output of all the items that got pushed through it. this also adds another feature that i took from Linux, which is that a given directory is connected to its children via a doubly linked list. I actually took a feature from the Linux kernel: struct list_item . It’s a structure that has prev and next , which point to the addresses of struct list_item inside existing structures. So, for example struct my_item { struct list_item children; struct list_item siblings; } would hold a prev and next pointer for each item. children would point to the first sibling, while the beginning of siblings would point to the original parent directory. obviously though, my_item->children.next would hold a pointer to struct list_item, not struct my_item. this is where Linux’s container_of macro comes in (which i shamelessly copied word for word). it calculates the offset to subtract from different structures, given the structure and the name of the struct list_item. this provides efficiency, since siblings and children are connected in a linked list that allows O(1) insertion and removal in a list where there’s likely to be a lot of removals. my hashmap is also working pretty well!!! HASHMAP I WOULD USE A HASHMAP (if you get the reference LMFAO)....
|
1792522397.102775
|
1793127197.102775
|
|
10164
|
AI TRASHCAN by @dhruvalya | Stardance
|
dhruvalya
|
0
|
53.48
|
0
|
[]
|
[{"post_id": 42855, "ts": "202 [{"post_id": 42855, "ts": "2026-08-07T20:02:19Z", "hours": 9.7056, "text": "Hey guys! I have been working on coding a lot of stuff for this project, including integrating the vision subsystem with hardware and have finished the code for the most part. I also made a pid for the platform, and was able to tune it. I hope to have a more comprehensive develog in a bit!! stay tuned"}, {"post_id": 39549, "ts": "2026-08-02T16:05:01Z", "hours": 11.6172, "text": "I’m working on assembly and stuff. For trash can capacity monitoring, I designed two pcbs and am working on putting it together."}, {"post_id": 27721, "ts": "2026-07-13T15:04:45Z", "hours": 9.585, "text": "Build in progress"}, {"post_id": 23968, "ts": "2026-07-07T06:28:28Z", "hours": 13.2331, "text": "Hey!! Haven’t declogged in a while. I’ve been working on software and making some small mods to CAD along with getting everything 3d printed out for mee!!(I’ll assembl and test around 12th-13 so please stay tuned)!! Acrylic pieces are on the way(I messed up my first set :sob). I will devlog soon with some actual pictures 😭"}, {"post_id": 12179, "ts": "2026-06-19T21:56:30Z", "hours": 0.2872, "text": "Finally finished up!"}, {"post_id": 11977, "ts": "2026-06-19T15:35:51Z", "hours": 3.7208, "text": "Reworked the entire design so that the bins look way better and way easier to remove. The idea is the bins surround the central platform, similar to an industrial trashcan, so that it’s easy to package and remove by just easily lifting. I’m almost done with the CAD, just have to finish some stuff up and I will post. PLEASE ASK ME QUESTIONS OR LEAVE A COMMENT :cry"}, {"post_id": 6606, "ts": "2026-06-11T02:33:28Z", "hours": 4.8758, "text": "After way too much time on CAD I figured out a new way to sort trash. The new system is bigger, and has space for four individual pieces of trash. There are seperate slots, each operated by an MG90. With a piece, it fits directly onto the Stewart platform. If y’all have any ideas to make it better, please please comment :sob"}, {"post_id": 4226, "ts": "2026-06-07T13:49:47Z", "hours": 0.4514, "text": "I developed a Stewart platform on a rotating turret to sort trash for the first stage of the project. After testing this v1, I found a major issue. Trash with smaller sizes don’t slide off, and larger platforms slide off too fast. If anybody has any ideas, please feel free to share."}]...
|
Title: AI TRASHCAN by @dhruvalya | Stardance
Devl Title: AI TRASHCAN by @dhruvalya | Stardance
Devlogs:
I developed a Stewart platform on a rotating turret to sort trash for the first stage of the project. After testing this v1, I found a major issue. Trash with smaller sizes don’t slide off, and larger platforms slide off too fast. If anybody has any ideas, please feel free to share.
After way too much time on CAD I figured out a new way to sort trash. The new system is bigger, and has space for four individual pieces of trash. There are seperate slots, each operated by an MG90. With a piece, it fits directly onto the Stewart platform. If y’all have any ideas to make it better, please please comment :sob
Reworked the entire design so that the bins look way better and way easier to remove. The idea is the bins surround the central platform, similar to an industrial trashcan, so that it’s easy to package and remove by just easily lifting. I’m almost done with the CAD, just have to finish some stuff up and I will post. PLEASE ASK ME QUESTIONS OR LEAVE A COMMENT :cry
Finally finished up!
Hey!! Haven’t declogged in a while. I’ve been working on software and making some small mods to CAD along with getting everything 3d printed out for mee!!(I’ll assembl and test around 12th-13 so please stay tuned)!! Acrylic pieces are on the way(I messed up my first set :sob). I will devlog soon with some actual pictures 😭
Build in progress
I’m working on assembly and stuff. For trash can capacity monitoring, I designed two pcbs and am working on putting it together.
Hey guys! I have been working on coding a lot of stuff for this project, including integrating the vision subsystem with hardware and have finished the code for the most part. I also made a pid for the platform, and was able to tune it. I hope to have a more comprehensive develog in a bit!! stay tuned...
|
1792597900.8991926
|
1793202700.8991926
|
|
9595
|
Flasks by @Philo | Stardance
|
Philo
|
0
|
53.47
|
0
|
[]
|
[{"post_id": 69116, "ts": "202 [{"post_id": 69116, "ts": "2026-09-16T12:25:47Z", "hours": 2.7825, "text": "Devlog 19 We are nearing the end now so you might notice there are actual releases on github now The Sidebar idk why i thought it’s a good idea to add sort of a crappy sidebar you can do things like change flask settings and whatnot from but it happened so no time to complain now all the buttons on it work using the alr bundled tools with wine (taskmgr, winecfg, wineserver, etc) except winetricks which i am still figuring out GPTK support!! Made GPTK downloadable finally, also included some checks cuz wine is called wine64 sometimes hopefully that doesn’t infringe on apple’s license?? (they did say they forbid bundling i am pretty sure not downloading)"}, {"post_id": 63914, "ts": "2026-09-07T23:06:45Z", "hours": 2.5258, "text": "Devlog 18 lot of rapid fire small changes/features, gonna possibly continue like that till the end of stardance cuz the next step is to make a good enough wine runner, which is gonna need a stupid amount of time that is mostly not tracked by hackatime I made an App Icon :> So it sucks a bit cuz i am terrible at art but it’s fine, it’s modeled after my irl water “flask” funnily enough, don’t ask why, idk either ESync/MSync support ye it just sets the environment variable for each, not working in upstream wine since you need a custom patched version of wine to use it which i don’t have rn Flask Settings Made A Flask and want to change its settings? now you can do that (it’s literally just the OptionView wrapped in another sheet) Small Changes Selected Flask state is now preserved between app restarts Added the ability to delete a flask (still need to make a confirmation dialog for it tho)"}, {"post_id": 61108, "ts": "2026-09-03T20:39:54Z", "hours": 0.9214, "text": "Devlog 17 ICON EXTRACTION!!! so instead of making a whole PE Parser, i learned of this tool called “wrestool” it’s a part of something called Icoutils so what if……we just bundle wrestool and then use it to extract raw ICO data from an exe file? and since NSImage supports ico this worked perfectly!! I struggled a bit with byte encoding but eventually realized we want raw bytes (not a string lol) and found the correct option and that was it"}, {"post_id": 60506, "ts": "2026-09-02T21:50:38Z", "hours": 2.0094, "text": "Devlog 16 UI was getting too messy so had to intervene Creating Flasks != adding apps to said flask So in all most other Wine Frontends, you typically have 1 app per wine prefix In Flasks, I want to give the user the ability to add however apps they like to a flask This was a bit annoying with the “InstallAppWizard” handling both flask creation and adding apps to a flask So…. Separated Flask Creation from Adding apps It was fairly trivial there is nothing to talk about as the views were alr made i just needed to restructure things a bit also that create flask button being at the bottom of the sidebar may haunt me later……."}, {"post_id": 58766, "ts": "2026-08-31T10:22:56Z", "hours": 4.4014, "text": "Devlog 15 finally…. this is taking so long Bundling so i found out i was an idiot for not realizing that i could actually bundle everything i need in the app bundle instead of pulling the entire universe on first launch so i bundled DXVK, DXMT (likely a wrong version of dxmt but whatever, will fix) I still need to figure out a way of doing this instead of hosting random dlls on the repo (xcode build scripts maybe?) DXVK actually works now!! I made Flasks put symlinks to the bundled DXVK in System32 and SysWoW64 and used wine dll overrides and that was it tho i did spend like half a day trying to figure why was wine not detecting my dxvk dlls and it turned out i was using a “builtin” version of dxvk that needs to be put in the lib folder of wine itself but oh well also made a quick ui for it (which is getting completely overhauled next devlog cuz this is a mess) But what about DXMT? still a WIP, DXMT is considerably more complex cuz apparently i need another wine version that exposes some APIs in winemac.drv or something? Concerns… i really wish once stardance ends i would just fork some WineCX version and maintain it myself cuz this is dumb also Apple dropping support for Rosetta in MacOS 28 is worrying cuz now someone needs to port fex to mac (codeweavers doing this but i don’t think they are ever open sourcing it)"}, {"post_id": 53201, "ts": "2026-08-23T17:16:17Z", "hours": 4.5683, "text": "Devlog 14 How DXVK enablement? I wanted to finally tackle something i have been avoiding for a while now, Enabling tweaks like DXVK/DXMT/D3DMetal in the case of D3DMetal and DXMT, i learned it’s a bit more involved unfortunately so i decided to focus on the easiest one DXVK for now It turns out I have no idea where to get DXVK from, where to put it, when to download, how to use it seamlessly, etc so i decided to tackle some other things first b4 doing this WineDownloader is now just Downloader I made the class WineDownloader more general purpose because we need to make it work for DXVK too New Download Window I made a new window design using Table and it looks kinda cool tbh What’s next why, onboarding ofc I am now thinking of two main options for downloading things (DXVK, Winetricks, etc) Either fetch all dependencies separately or create some base package on github that i can just extract furthermore the code for untaring is so annoying and verbose so i need to make it make more general purpose :<"}, {"post_id": 50295, "ts": "2026-08-19T13:29:22Z", "hours": 0.8708, "text": "Devlog 13 Some enhancements here and there Add apps to existing Flasks yes, you can do that now (see image #2), while the code structure is a bit ugly it does work beautifully, maybe there are still bugs but ig that’s true for the whole app Copy console output to clipboard I added a small button in the console to copy all console logs to clipboard, nothing much to be said here i just used NSPasteboard"}, {"post_id": 49684, "ts": "2026-08-18T16:03:14Z", "hours": 3.3708, "text": "Devlog 12 Added a Console View So I made a simple console that displays output from wine that you can show and hide, it honestly looks better than i ever expected it would turn out I still have to make sure that when multiple programs are open, that the logs wouldn’t conflict with each other"}, {"post_id": 49048, "ts": "2026-08-17T17:14:34Z", "hours": 3.1536, "text": "Devlog 11 mostly code maintenance if iam gonna be honest, anyways….. Added a context menu to the app grid So yeah we now have a context menu that shows 2 options “Show in finder” -> does what it says on the tin lol, it just needed me to fix my poor URL instantiation “Remove app from the Flask” -> again pretty straightforward, removes the reference to the app from the Flask LICENSE now we GPL 3.0, so that’s cool :>"}, {"post_id": 47510, "ts": "2026-08-15T13:58:15Z", "hours": 2.2022, "text": "Devlog 10 NSCollectionView?! While i was trying to refine the Grid View we made in the last devlog (handling selection, keyboard events, animations, etc), i learned about this AppKit view called NSCollectionView that does precisely what i wanted, it is even used in Finder’s grid view For those of you who don’t know AppKit , it is an imperative UI framework made originally for NeXTSTEP (NS for NeXTSTEP btw) in 1988 but later became MacOS’s main UI framework Now to use an AppKit View in SwiftUI you need something called NSViewRepresentable Using this thing on its own is somewhat complex but to use it with NSCollectionView (which is alr a very involved AppKit view) proved to be a monumental task especially for me who had never touched AppKit before So after wasting a lot of time trying to figure this out i just went back to the LazyVGrid approach and hopefully we can come back to this later Adding Selection and Animation to LazyVGrid I started by adding a selection effect to the grid, meaning that if you click on a program once a background appears behind it (look at the screenshot lol i can’t explain :<) at first it was terribly slow to activate cuz we effectively had 2 .onTapGesture but then i found this solution on stackoverflow . gesture ( TapGesture ( count : 2 ) . onEnded { isRunning = true Task . detached { try await flask . runApp ( programPath ) DispatchQueue . main . async { isRunning = false } } } ) . simultaneousGesture ( TapGesture () . onEnded { selectedProgram = programPath } ) as for animation it was relatively easy, I just used PhaseAnimator to replicate the MacOS app jump effect"}, {"post_id": 45403, "ts": "2026-08-11T20:35:24Z", "hours": 2.7711, "text": "Devlog #9 Made a small program grid view for each flask aaand it actually launches programs now!!! I made this small grid view thing using LazyVGrid to represent each program registered in a flask’s flask.json file, tried to make it a blend between crossover’s and whisky’s approach and actually made it launch programs Naturally as an avid undertale fan, i knew i had to try undertale yellow first (which is windows-only), at first with upstream wine it just showed a black screen (with sound) but when i did some patches to be able to use Gcenx’s gptk builds (specifically GPTK 3.0) it worked!! the only sad part is that it appears that to get the icon from a windows executable you need to make some sort of PE header parser (which whisky has made) for now i just use the generic icon that MacOS gives us (which is a whisky icon rn bec i had whisky installed)"}, {"post_id": 44889, "ts": "2026-08-10T22:47:34Z", "hours": 1.2997, "text": "Devlog #8 The InstallAppWizard now looks a bit nicer I can’t seem to ignore just how ugly this Install App thing looks, so i searched a bit for swiftui views that could help and even referenced Whisky’s (the now deprecated MacOS FOSS wine frontend) BottleCreationView.swift to make something a little less heinous (still heinous but a bit less) using the Form view and in the end i settled on this (look at the attached screenshots -_-) I really should find something more important to work on lol because this InstallAppWizard view is not that important for now"}, {"post_id": 44241, "ts": "2026-08-09T21:20:32Z", "hours": 1.1436, "text": "Devlog #?? (idk, who’s keeping track atp) Small optimizations The picker which lets you pick the wine/runner version for the flask bothered me bec it always kept refreshing whenever you changed views in the Install App wizard thing so i made it that the install app wizard owned the runner library and just passed it down using @ Binding to the CreateFlaskView then it would be updated only when the sheet appeared The Sidebar no longer displays dummy data So finally got around to making the sidebar display the actual list of created flasks (aka wine prefixes), it took a while cuz there was a nasty bug in the json decoding function i used to create flask entries, quickly patched it and everything worked as expected :>"}, {"post_id": 44149, "ts": "2026-08-09T18:30:58Z", "hours": 7.7839, "text": "Hi, been a while since the last one mostly struggling to do idiomatic swift/swiftUI error handling :< anyways…… Singletons are (allegedly) bad idk why (ig for testing or something) but i found out Singletons are an anti-pattern so i removed them in favor of just using @ Observable and @ Environment the way it’s done rn is kinda dumb but “will fix later”™ Throwing Errors I’ve added proper error handling for once, everyone online seemed to recommend you create your own custom error type and i did that with the new FlaskError enum and made all functions which should throw (and not just print a stupid message to the console :-< ) throw a FlaskError still i need to hook it up to the UI which is more easier said then done, i have no clue what is the cleanest way to do that in SwiftUI and am kinda just freestyling it rn and I know it still looks ugly rn cuz still prototyping (Sub)process yeah so i wanted to they async/await on the processes i was spawning (e.g: to get wine version, to make wine prefix, to run a program in wine prefix, etc) but learned you have to make an extension to the Process class so i just used the cross platform newer first-party Subprocess library instead, probably for the best anyways"}, {"post_id": 36071, "ts": "2026-07-27T22:28:57Z", "hours": 3.2411, "text": "Lots of new functions for wine Big News! you can now create flasks (aka wine prefixes) they don’t actually show up anywhere or anything and you can’t do anything with them yet…..but it’s a start I made it keep a small flask.json file inside each prefix to keep track of which wine version created the prefix, which programs should get launched with that prefix, etc, ofc this is just a json encoded instance of the flask struct using swift’s JSONEncode I wrote functions to launch a .exe from Wine and to scan for created flasks, i just haven’t hooked them up to any UI yet What’s next I really really NEED to figure out error handling in SwiftUI apps as i am currently just throwing errors to standard output or straight up ignoring them and returning (which is bad), so i think i won’t work on more backend functions until i learn how to handle errors correctly And ofc hook the UI up to the wine functions and error handlers and whatnot Also polish the UI a bit, currently a bit rough"}, {"post_id": 34341, "ts": "2026-07-24T23:14:24Z", "hours": 2.1814, "text": "More UI Changes So I realized i have no idea how to design good UX so i went and took inspiration from other wine frontends and settled on a “setup wizard-like thing” to create a new flask (and yea we are going with one program per flask for now) and now the setup wizard is divided into 3 sections/steps Flask, App, Options (with Flask being the screen we designed in the previous devlog) continuing on that i made the App section/step view which just lets you select whether your program is standalone/portable (meaning doesn’t need an installer) or an installer and lets you select its path Now Hopefully we can stop working on UI for a bit bec UI is boring imo"}, {"post_id": 34203, "ts": "2026-07-24T18:36:41Z", "hours": 1.7358, "text": "Changes Made this ugly dialog box for creating bottles which i am calling here flasks (since the app name is flasks), i really struggled making it not look atrocious but alas it still looks ugly in my opinion (add it to the “will fix later” list) Earlier i was trying to use a module called SWCompression to untar the wine download but turns out calling /usr/bin/tar is much easier but i forgot to remove an import of SWCompression and somehow it never warned me about it? in any case, i just removed it Added some more .gitignore entries for xcode, swift and MacOS stuff from gitignore.io (may be useful later ig)"}, {"post_id": 33407, "ts": "2026-07-23T10:11:07Z", "hours": 2.2111, "text": "Changes I made a small modal window sheet to download wine runners/versions/engines (whtv you wanna call them) ofc only Gcenx’s builds are available and are hardcoded in for now (and also need to add the option to cancel a download but later lol) Earlier i made a WineLibrary class to scan for installed wine versions in Application Support/Flasks/Runners, hadn’t had the chance to check if it actually works tho (hopefully it does?) yeah that’s about it."}, {"post_id": 33033, "ts": "2026-07-22T16:20:16Z", "hours": 4.2964, "text": "What this is I was kinda feeling frustrated that the only good option to run Windows apps and games on MacOS was crossover (which is paid) so i decided i would try making an alternative for it (that doesn’t suck + is user friendly) Disclaimer: I will try my best but wine is a really complicated piece of software and making a FOSS competitor to a paid product like crossover ain’t ez so NO PROMISES that i will actually be able to complete this Changes (not really much) made sidebar for displaying wine prefixes (currently just uses dummy data :<) implemented some download functions for downloading & extracting wine from Gcenx’s MacOS wine builds and placing it in a “runners” folder in App. Support (hopefully i can find something better than that but for now it’s fine)"}]...
|
Title: Flasks by @Philo | Stardance
Devlogs:
What Title: Flasks by @Philo | Stardance
Devlogs:
What this is I was kinda feeling frustrated that the only good option to run Windows apps and games on MacOS was crossover (which is paid) so i decided i would try making an alternative for it (that doesn’t suck + is user friendly) Disclaimer: I will try my best but wine is a really complicated piece of software and making a FOSS competitor to a paid product like crossover ain’t ez so NO PROMISES that i will actually be able to complete this Changes (not really much) made sidebar for displaying wine prefixes (currently just uses dummy data :<) implemented some download functions for downloading & extracting wine from Gcenx’s MacOS wine builds and placing it in a “runners” folder in App. Support (hopefully i can find something better than that but for now it’s fine)
Changes I made a small modal window sheet to download wine runners/versions/engines (whtv you wanna call them) ofc only Gcenx’s builds are available and are hardcoded in for now (and also need to add the option to cancel a download but later lol) Earlier i made a WineLibrary class to scan for installed wine versions in Application Support/Flasks/Runners, hadn’t had the chance to check if it actually works tho (hopefully it does?) yeah that’s about it.
Changes Made this ugly dialog box for creating bottles which i am calling here flasks (since the app name is flasks), i really struggled making it not look atrocious but alas it still looks ugly in my opinion (add it to the “will fix later” list) Earlier i was trying to use a module called SWCompression to untar the wine download but turns out calling /usr/bin/tar is much easier but i forgot to remove an import of SWCompression and somehow it never warned me about it? in any case, i just removed it Added some more .gitignore entries for xcode, swift and MacOS stuff from gitignore.io (may be useful later ig)
More UI Changes So I realized i have no idea how to design good UX so i went and took inspiration from other wine frontends and settled on a “setup wizard-like thing” to create a new flask (and yea we are going with one program per flask for now) and now the setup wizard is divided into 3 sections/steps Flask, App, Options (with Flask being the screen we designed in the previous devlog) continuing on that i made the App section/step view which just lets you select whether your program is standalone/portable (meaning doesn’t need an installer) or an installer and lets you select its path Now Hopefully we can stop working on UI for a bit bec UI is boring imo
Lots of new functions for wine Big News! you can now create flasks (aka wine prefixes) they don’t actually show up anywhere or anything and you can’t do anything with them yet…..but it’s a start I made it keep a small flask.json file inside each prefix to keep track of which wine version created the prefix, which programs should get launched with that prefix, etc, ofc this is just a json encoded instance of the flask struct using swift’s JSONEncode I wrote functions to launch a .exe from Wine and to scan for created flasks, i just haven’t hooked them up to any UI yet What’s next I really really NEED to figure out error handling in SwiftUI apps as i am currently just throwing errors to standard output or straight up ignoring them and returning (which is bad), so i think i won’t work on more backend functions until i learn how to handle errors correctly And ofc hook the UI up to the wine functions and error handlers and whatnot Also polish the UI a bit, currently a bit rough
Hi, been a while since the last one mostly struggling to do idiomatic swift/swiftUI error handling :< anyways…… Singletons are (allegedly) bad idk why (ig for testing or something) but i found out Singletons are an anti-pattern so i removed them in favor of just using @ Observable and @ Environment the way it’s done rn is kinda dumb but “will fix later”™ Throwing Errors I’ve added proper error handling for once, everyone online seemed to recommend you create your own custom error type and i did that with the new FlaskError enum and made all functions which should throw (and not just print a stupid message to the console :-< ) throw a FlaskError still i need to hook it up to the UI which is more easier said then done, i have no clue what is the cleanest way to do that in SwiftUI and am kinda just freestyling it rn and I know it still looks ugly rn cuz still prototyping (Sub)process yeah so i wanted to they async/await on the processes i was spawning (e.g: to get wine version, to make wine prefix, to run a program in wine prefix, etc) but learned you have to make an extension to the Process class so i just used the cross platform newer first-party Subprocess library instead, probably for the best anyways
Devlog #?? (idk, who’s keeping track atp) Small optimizations The picker which lets you pick the wine/runner version for the flask bothered me bec it always kept refreshing whenever you changed views in the Install App wizard thing so i made it that the install app wizard owned the runner library and just passed it down using @ Binding to the CreateFlaskView then it would be updated only when the sheet appeared The Sidebar no longer displays dummy data So finally got around to making the sidebar display the actual list of created flasks (aka wine prefixes), it took a while cuz there was a nasty bug in the json decoding function i used to create flask entries, quickly patched it and everything worked as expected :>
Devlog #8 The InstallAppWizard now looks a bit nicer I can’t seem to ignore just how ugly this Install App thing looks, so i searched a bit for swiftui views that could help and even referenced Whisky’s (the now deprecated MacOS FOSS wine frontend) BottleCreationView.swift to make something a little less heinous (still heinous but a bit less) using the Form view and in the end i settled on this (look at the attached screenshots -_-) I really should find something more important to work on lol because this InstallAppWizard view is not that important for now
Devlog #9 Made a small program grid view for each flask aaand it actually launches programs now!!! I made this small grid view thing using LazyVGrid to represent each program registered in a flask’s flask.json file, tried to make it a blend between crossover’s and whisky’s approach and actually made it launch programs Naturally as an avid undertale fan, i knew i had to try undertale yellow first (which is windows-only), at first with upstream wine it just showed a black screen (with sound) but when i did some patches to be able to use Gcenx’s gptk builds (specifically GPTK 3.0) it worked!! the only sad part is that it appears that to get the icon from a windows executable you need to make some sort of PE header parser (which whisky has made) for now i just use the generic icon that MacOS gives us (which is a whisky icon rn bec i had whisky installed)
Devlog 10 NSCollectionView?! While i was trying to refine the Grid View we made in the last devlog (handling selection, keyboard events, animations, etc), i learned about this AppKit view called NSCollectionView that does precisely what i wanted, it is even used in Finder’s grid view For those of you who don’t know AppKit , it is an imperative UI framework made originally for NeXTSTEP (NS for NeXTSTEP btw) in 1988 but later became MacOS’s main UI framework Now to use an AppKit View in SwiftUI you need something called NSViewRepresentable Using this thing on its own is somewhat complex but to use it with NSCollectionView (which is alr a very involved AppKit view) proved to be a monumental task especially for me who had never touched AppKit before So after wasting a lot of time trying to figure this out i just went back to the LazyVGrid approach and hopefully we can come back to this later Adding Selection and Animation to LazyVGrid I started by adding a selection effect to the grid, meaning that if you click on a program once a background appears behind it (look at the screenshot lol i can’t explain :<) at first it was terribly slow to activate cuz we effectively had 2 .onTapGesture but then i found this solution on stackoverflow . gesture ( TapGesture ( count : 2 ) . onEnded { isRunning = true Task . detached { try await flask . runApp ( programPath ) DispatchQueue . main . async { isRunning = false } } } ) . simultaneousGesture ( TapGesture () . onEnded { selectedProgram = programPath } ) as for animation it was relatively easy, I just used PhaseAnimator to replicate the MacOS app jump effect
Devlog 11 mostly code maintenance if iam gonna be honest, anyways….. Added a context menu to the app grid So yeah we now have a context menu that shows 2 options “Show in finder” -> does what it says on the tin lol, it just needed me to fix my poor URL instantiation “Remove app from the Flask” -> again pretty straightforward, removes the reference to the app from the Flask LICENSE now we GPL 3.0, so that’s cool :>
Devlog 12 Added a Console View So I made a simple console that displays output from wine that you can show and hide, it honestly looks better than i ever expected it would turn out I still have to make sure that when multiple programs are open, that the logs wouldn’t conflict with each other
Devlog 13 Some enhancements here and there Add apps to existing Flasks yes, you can do that now (see image #2), while the code structure is a bit ugly it does work beautifully, maybe there are still bugs but ig that’s true for the whole app Copy console output to clipboard I added a small button in the console to copy all console logs to clipboard, nothing much to be said here i just used NSPasteboard
Devlog 14 How DXVK enablement? I wanted to finally tackle something i have been avoiding for a while now, Enabling tweaks like DXVK/DXMT/D3DMetal in the case of D3DMetal and DXMT, i learned it’s a bit more involved unfortunately so i decided to focus on the easiest one DXVK for now It turns out I have no idea where to get DXVK from, where to put it, when to download, how to use it seamlessly, etc so i decided to tackle some other things first b4 doing this WineDownloader is now just Downloader I made the class WineDownloader more general purpose because we need to make it work for DXVK too New Download Window I made a new window design using Table and it looks kinda cool tbh What’s next why, onboarding ofc I am now thinking of two main options for downloading things (DXVK, Winetricks, etc) Either fetch all dependencies separately or create some base package on github that i can just extract furthermore the code for untaring is so annoying and verbose so i need to make it make more general purpose :<
Devlog 15 finally…. this is taking so long Bundling so i found out i was an idiot for not realizing that i could actually bundle everything i need in the app bundle instead of pulling the entire universe on first launch so i bundled DXVK, DXMT (likely a wrong version of dxmt but whatever, will fix) I still need to figure out a way of doing this instead of hosting random dlls on the repo (xcode build scripts maybe?) DXVK actually works now!! I made Flasks put symlinks to the bundled DXVK in System32 and SysWoW64 and used wine dll overrides and that was it tho i did spend like half a day trying to figure why was wine not detecting my dxvk dlls and it turned out i was using a “builtin” version of dxvk that needs to be put in the lib folder of wine itself but oh well also made a quick ui for it (which is getting completely overhauled next devlog cuz this is a mess) But what about DXMT? still a WIP, DXMT is considerably more complex cuz apparently i need another wine version that exposes some APIs in winemac.drv or something? Concerns… i really wish once stardance ends i would just fork some WineCX version and maintain it myself cuz this is dumb also Apple dropping support for Rosetta in MacOS 28 is worrying cuz now someone needs to port fex to mac (codeweavers doing this but i don’t think they are ever open sourcing it)
Devlog 16 UI was getting too messy so had to intervene Creating Flasks != adding apps to said flask So in all most other Wine Frontends, you typically have 1 app per wine prefix In Flasks, I want to give the user the ability to add however apps they like to a flask This was a bit annoying with the “InstallAppWizard” handling both flask creation and adding apps to a flask So…. Separated Flask Creation from Adding apps It was fairly trivial there is nothing to talk about as the views were alr made i just needed to restructure things a bit also that create flask button being at the bottom of the sidebar may haunt me later…….
Devlog 17 ICON EXTRACTION!!! so instead of making a whole PE Parser, i learned of this tool called “wrestool” it’s a part of something called Icoutils so what if……we just bundle wrestool and then use it to extract raw ICO data from an exe file? and since NSImage supports ico this worked perfectly!! I struggled a bit with byte encoding but eventually realized we want raw bytes (not a string lol) and found the correct option and that was it
Devlog 18 lot of rapid fire small changes/features, gonna possibly continue like that till the end of stardance cuz the next step is to make a good enough wine runner, which is gonna need a stupid amount of time that is mostly not tracked by hackatime I made an App Icon :> So it sucks a bit cuz i am terrible at art but it’s fine, it’s modeled after my irl water “flask” funnily enough, don’t ask why, idk either ESync/MSync support ye it just sets the environment variable for each, not working in upstream wine since you need a custom patched version of wine to use it which i don’t have rn Flask Settings Made A Flask and want to change its settings? now you can do that (it’s literally just the OptionView wrapped in another sheet) Small Changes Selected Flask state is now preserved between app restarts Added the ability to delete a flask (still need to make a confirmation dialog for it tho)
Devlog 19 We are nearing the end now so you might notice there are actual releases on github now The Sidebar idk why i thought it’s a good idea to add sort of a crappy sidebar you can do things like change flask settings and whatnot from but it happened so no time to complain now all the buttons on it work using the alr bundled tools with wine (taskmgr, winecfg, wineserver, etc) except winetricks which i am still figuring out GPTK support!! Made GPTK downloadable finally, also included some checks cuz wine is called wine64 sometimes hopefully that doesn’t infringe on apple’s license?? (they did say they forbid bundling i am pretty sure not downloading)...
|
1792637473.3283527
|
1793242273.3283527
|
|
6578
|
Ytuwu by @heiligetomate | Stardance
|
heiligetomate
|
0
|
53.44
|
0
|
[]
|
[{"post_id": 57353, "ts": "202 [{"post_id": 57353, "ts": "2026-08-29T13:59:29Z", "hours": 14.6839, "text": "Finally school again 😭 Somehow i forgot to devlog my work before vacation which means i have to do it now </3 My github commits tell me that i fixed many TODOs, improved my error enum and created a basic config which makes it easier to well configure what you want to download and how you want to download something."}, {"post_id": 13750, "ts": "2026-06-22T15:18:20Z", "hours": 9.8178, "text": "A lot of documentation documentation is really important for libraries and that’s why i spent the last ~8h with writing documentation I have 8118 lines of code in total and 931 of them are documentation i wrote the last hours which was a pain and not really fun to do. Also, while documenting I found many things I have to change and i basically farmed TODOs which is awesome because now i can fix many bugs :3"}, {"post_id": 12672, "ts": "2026-06-20T18:15:07Z", "hours": 10.2689, "text": "Changes Everything now uses the task pool and shared downloaded storage Modules are cleaner Improved AnyItags and AnyStreams Remove old, unused code Bundle support for Lists with the simple api New save function for channels Todos now Documentation Logs (More tests)"}, {"post_id": 5114, "ts": "2026-06-08T20:01:16Z", "hours": 5.285, "text": "I started restructuring the entire main Downloader struct. It now has a shared download-task-pool and a shared downloaded-pool. This allows downloading a fixed number of songs at the same time, which is useful when handling rate limits. Right now this is only implemented for single media streams, but the rest should not be too hard to implement - the basics are already there."}, {"post_id": 4232, "ts": "2026-06-07T13:59:50Z", "hours": 2.5894, "text": "fixed a bug for Itag::Highest changed the api (you can still use the old one) The video shows the usage of the new api:"}, {"post_id": 3684, "ts": "2026-06-06T18:50:37Z", "hours": 2.5417, "text": "new stuff all bundle download functions now take &[AnyItag] as a parameter instead of Vec. channels can now be downloaded as bundle add a usage warning in the readme found 2 new bugs 3: renamed some stuff streams have a fn to_any and i added better usage for streams in general some other stuff i forgot probably"}, {"post_id": 2408, "ts": "2026-06-04T21:26:43Z", "hours": 3.9672, "text": "I added a lot of tests to my library and changed some small things i cant remember."}, {"post_id": 2173, "ts": "2026-06-04T14:55:14Z", "hours": 4.2875, "text": "This is the first post on my project “ytuwu”. It’s a YouTube downloader written in rust. The current features can be viewed in my readme. I had this idea because ytdlp, the alternative written in python, does not allow the download of an entire channel, meaning you would have to extract all the singles, EPS and albums by yourself. I wanted something that could do that for me, so here is ytuwu (an ongoing project for ~2 months now). The last 4h were used to make the API more usable, so the user doesn’t have to specify the full path for the channel id/browse ID. I also implemented the default process so it can display media that is just queued and not being downlaoded right now. The attachment shows a full download of a playlist containing 13 songs at full audio quality. :3"}]...
|
Title: Ytuwu by @heiligetomate | Stardance
Devlog Title: Ytuwu by @heiligetomate | Stardance
Devlogs:
This is the first post on my project “ytuwu”. It’s a YouTube downloader written in rust. The current features can be viewed in my readme. I had this idea because ytdlp, the alternative written in python, does not allow the download of an entire channel, meaning you would have to extract all the singles, EPS and albums by yourself. I wanted something that could do that for me, so here is ytuwu (an ongoing project for ~2 months now). The last 4h were used to make the API more usable, so the user doesn’t have to specify the full path for the channel id/browse ID. I also implemented the default process so it can display media that is just queued and not being downlaoded right now. The attachment shows a full download of a playlist containing 13 songs at full audio quality. :3
I added a lot of tests to my library and changed some small things i cant remember.
new stuff all bundle download functions now take &[AnyItag] as a parameter instead of Vec. channels can now be downloaded as bundle add a usage warning in the readme found 2 new bugs 3: renamed some stuff streams have a fn to_any and i added better usage for streams in general some other stuff i forgot probably
fixed a bug for Itag::Highest changed the api (you can still use the old one) The video shows the usage of the new api:
I started restructuring the entire main Downloader struct. It now has a shared download-task-pool and a shared downloaded-pool. This allows downloading a fixed number of songs at the same time, which is useful when handling rate limits. Right now this is only implemented for single media streams, but the rest should not be too hard to implement - the basics are already there.
Changes Everything now uses the task pool and shared downloaded storage Modules are cleaner Improved AnyItags and AnyStreams Remove old, unused code Bundle support for Lists with the simple api New save function for channels Todos now Documentation Logs (More tests)
A lot of documentation documentation is really important for libraries and that’s why i spent the last ~8h with writing documentation I have 8118 lines of code in total and 931 of them are documentation i wrote the last hours which was a pain and not really fun to do. Also, while documenting I found many things I have to change and i basically farmed TODOs which is awesome because now i can fix many bugs :3
Finally school again 😭 Somehow i forgot to devlog my work before vacation which means i have to do it now </3 My github commits tell me that i fixed many TODOs, improved my error enum and created a basic config which makes it easier to well configure what you want to download and how you want to download something....
|
1792784863.5933042
|
1793389663.5933042
|
|
4212
|
Pc sim dashboard by @keledanko23 | Stardance
|
keledanko23
|
1
|
53.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-21T15:11:11Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It was hard to guess the numbers, but how i said there will be continuing about the real hardware", "repo": "https://github.com/keledanko23/Octavia-1-dashboard", "demo": ""}]...
|
[{"post_id": 57228, "ts": "202 [{"post_id": 57228, "ts": "2026-08-29T10:19:04Z", "hours": 5.6872, "text": "Finally finished the pcb, it´s ready for order, i will drop the files in the repo"}, {"post_id": 50866, "ts": "2026-08-20T10:06:18Z", "hours": 9.3222, "text": "Fixed the layout, changed some expensive IC-s to cheaper ones, almost finished"}, {"post_id": 47664, "ts": "2026-08-15T18:26:35Z", "hours": 9.3339, "text": "Added the components and conected most of the traces but I can´t make it cleaner, and i ran the DRC it said it has 250 errors and 110 alerts so i have a lot of work to do"}, {"post_id": 45674, "ts": "2026-08-12T09:58:53Z", "hours": 7.0847, "text": "Drawed the schematic, it was really hard because I did not find some IC-s and had to draw them myself, at first it had 56errors but i managed to fix it"}, {"post_id": 44558, "ts": "2026-08-10T12:13:50Z", "hours": 3.81, "text": "Finaly got a chance to use a scaner to scan the pcb, imported it into kicad ad fixed al the kholes location and the form of the pcb, the pcb form is now finished"}, {"post_id": 41488, "ts": "2026-08-05T18:46:23Z", "hours": 9.2803, "text": "Started building the pcb outlines and holes, unfortunatly lot of the holes arent on their places where they should be even if i mesure 10 times, at least the outline is finally the form i need and some of the holes ar on their places"}, {"post_id": 39986, "ts": "2026-08-03T10:31:36Z", "hours": 3.8394, "text": "Started mapping out the pcb so i can recreate it later, added 1more led to the prototype, tried to add 2more but they burned out"}, {"post_id": 13147, "ts": "2026-06-21T14:53:38Z", "hours": 4.7842, "text": "Finally completed the python code for the dashboard, you can find the file in my github repo"}, {"post_id": 2230, "ts": "2026-06-04T16:48:25Z", "hours": 0.3217, "text": "oda Octavia MK1 Dashboard Project 1. Hardware Progress Mapped out the Skoda Octavia MK1 cluster pinout (K.13+, K.15+, EPC, ABS, etc.) and designed the circuit for the VID29-05/JD62C854F stepper motor driver ICs. Soldered the prototype onto a perfboard, separating the 12V motor power from the 5V logic control. Secured the critical connections with hot glue for vibration resistance. 2. Software Development Built a PC simulator and control panel in Python using tkinter. The Challenge: After streamlining the code, the gauge needles lost their continuous movement and started snapping instantly to new values. The Fix: Solved this by implementing an asynchronous loop using window.after(16, animation_loop). It now updates at ~60 FPS, smoothly easing the current position toward the target value (moving 8% of the remaining distance per frame). Also fixed a quick syntax error in the UI dictionary styling."}]...
|
Title: Pc sim dashboard by @keledanko23 | Stardanc Title: Pc sim dashboard by @keledanko23 | Stardance
Devlogs:
oda Octavia MK1 Dashboard Project 1. Hardware Progress Mapped out the Skoda Octavia MK1 cluster pinout (K.13+, K.15+, EPC, ABS, etc.) and designed the circuit for the VID29-05/JD62C854F stepper motor driver ICs. Soldered the prototype onto a perfboard, separating the 12V motor power from the 5V logic control. Secured the critical connections with hot glue for vibration resistance. 2. Software Development Built a PC simulator and control panel in Python using tkinter. The Challenge: After streamlining the code, the gauge needles lost their continuous movement and started snapping instantly to new values. The Fix: Solved this by implementing an asynchronous loop using window.after(16, animation_loop). It now updates at ~60 FPS, smoothly easing the current position toward the target value (moving 8% of the remaining distance per frame). Also fixed a quick syntax error in the UI dictionary styling.
Finally completed the python code for the dashboard, you can find the file in my github repo
Started mapping out the pcb so i can recreate it later, added 1more led to the prototype, tried to add 2more but they burned out
Started building the pcb outlines and holes, unfortunatly lot of the holes arent on their places where they should be even if i mesure 10 times, at least the outline is finally the form i need and some of the holes ar on their places
Finaly got a chance to use a scaner to scan the pcb, imported it into kicad ad fixed al the kholes location and the form of the pcb, the pcb form is now finished
Drawed the schematic, it was really hard because I did not find some IC-s and had to draw them myself, at first it had 56errors but i managed to fix it
Added the components and conected most of the traces but I can´t make it cleaner, and i ran the DRC it said it has 250 errors and 110 alerts so i have a lot of work to do
Fixed the layout, changed some expensive IC-s to cheaper ones, almost finished
Finally finished the pcb, it´s ready for order, i will drop the files in the repo
Ships:
It was hard to guess the numbers, but how i said there will be continuing about the real hardware...
|
1793105322.550437
|
1793191722.550437
|
|
25768
|
Crack by @techieaaryan | Stardance
|
techieaaryan
|
0
|
53.21
|
0
|
[]
|
[{"post_id": 55060, "ts": "202 [{"post_id": 55060, "ts": "2026-08-26T14:21:08Z", "hours": 10.0936, "text": "#Crack Devlog #10 What new?? finally i deployed the mvp, you can check the project out i will provide demo link…… finally made a frontend, used figma to design it (timelapsed). connected it using flask. and deployed on Render What next?? well add some more roles and then fix some bugs. then ship it"}, {"post_id": 48211, "ts": "2026-08-16T14:45:13Z", "hours": 3.2094, "text": "Crack devlog #9 what new? well i completed designing frontend on figma wrote code for it and it is a bit different but yea still good as this is my first full stack software project i have ever built. frontend designed on figma is the first image. after the 2 images are errors i faced when tried to write the code . and the last when after when i took help of claude it is looking cool. what next? ahh… will implement flask i guess"}, {"post_id": 46728, "ts": "2026-08-14T05:49:45Z", "hours": 4.9247, "text": "Crack devlog #8 What new? Started working on frontend. Frontend So the color theme i choose was purple and golden. Dark mode by default. Minimalistic. Glassmorphism. What next? Will soon implement Flask in backend and connect the frontend. Also provide demo link so that you can try it out, well the project still at max will take up to ~5 days to finish."}, {"post_id": 41942, "ts": "2026-08-06T14:02:14Z", "hours": 5.2103, "text": "Crack devlog #7 What new? Implemented a dynamic interview engine for asking question. Using OOP . So if you saw my previous devlog i implemented an interview session engine using OOP, that engine handles the interview session starting and finishing, sending answers of the question to the AI and then receives the evaluation in JSON format which then also the engine parses to convert it into a report. Well right now i implemented another engine using OOP to make the interview more dynamic. The newly implemented engine. So basically i implemented an dynamic interview session engine to make it feel like real interview. What does that engine do? Well that engine is basically asking question, but if you have read my previous devlogs, what we implemented first was that user will be asked the role, difficulty and number questions. But…… that was just a prototype!! Well i made the engine more smarter. So basically now the user has to choose the role, then the difficulty and number of questions will be decided by this engine. So the questions will start from easy, after every question the engine makes an average of the scores of every questions asked, then it decides whether to level the difficulty or not, if not then it will ask you a few more questions, if the average score will increase to be eligible for next difficulty, the engine will automatically increases the difficulty , the same goes for difficulty medium, hard and scenario based questions too………"}, {"post_id": 40654, "ts": "2026-08-04T10:35:27Z", "hours": 4.7939, "text": "Crack Devlog #6 What new? Backend is almost finished. The prompt is being sent successfully. Prompt The data received from Claude Sonnet - 5 is parsed and converted into a report successfully (as you can see in the images). What next? Still this milestone is huge i guess that only ~37% of the Crack is completed. Will finish backend soon . Will start working on Frontend after the backend finishes. The color theme for the frontend of Crack will be Purple and White, also Gold on some parts (very minimal). Will make it aesthetic and minimalistic with glassmorphism . Also deciding to add more features and more roles so this project might reach ~100+ hours easily. Sad news!! 😭 Since in my previous devlogs i was mentioning that I will use Claude Sonnet - 5 , well now I will use ChatGPT , because i got $10 AI grant from Stardance from my another project HCAI (check it out ) so i decided to use Claude Sonnet - 5 but i don’t know why but the card i got from HCB was declining, i contacted HCB and they told me that it is the problem with Anthropic, reimbursement wasn’t viable because of $25 Fees (as i am not from USA), the fees itself is more than my $10 AI grant so i decided upon using it for ChatGPT will use Terra model I guess……………"}, {"post_id": 38366, "ts": "2026-07-31T18:27:09Z", "hours": 5.0772, "text": "Crack Devlog #5 What is done so far? Well my project was at pause since I started it in between my python course, but like now the course is completed so I am back. I have made and completed the Interview engine by using OOP . I have implemented time tracking system inside the engine. Also successfully implemented the answer tracking system, which corresponds to the question asked in the engine. Also it records time taken for each question and time taken for the whole interview. What next? So what I will build next is a system for sending the prompt to AI for evaluation . Then with the data received I will convert it to scores, graphs and charts; will create a full analysis. I will use Claude Sonnet 5 , since it’s one of the strength is detailed and nice explanations, so it fits well for my evaluation and suggestions report. For testing I will use Hack Club’s AI API keys , then will shift to Anthropic’s AI API keys , lets hope that my another project named “HCAI” get ratings fulfilled since its been almost a week, but haven’t got no rating at all . If it gets rated before “Crack” (which I think will be rated by the time ) then I will buy $10 credits of Anthropic and will use it in my project ."}, {"post_id": 28818, "ts": "2026-07-15T09:55:19Z", "hours": 4.3744, "text": "Crack Devlog #4 well i have completed Interview Engine v1 . it asks for a specific role, topic and no. of questions. and then according to the role, topic and no. of question it pulls questions randomly from topic inside the roles database stored in json files. will make it more dynamic by starting from easy question and then increasing difficulty to medium and then to hard, then comes scenario based questions, where the user will be asked real world problems to solve, only if they can answer hard questions very well. after making engine more dynamic i will add more roles to it, it has right now 9 full roles."}, {"post_id": 25909, "ts": "2026-07-10T12:19:58Z", "hours": 7.1458, "text": "Crack Devlog #3 –> hmm……yo! –> well nothing interesting but completed 4 roles. –> i also got an idea that i might also add practical or scenario based questions, since thats where real thinking is required. according to my plan questions will be asked from easy and then if the answer is correct then the difficulty will increase from easy to medium and then to hard also if answered very well. –> if the user can answer hard questions easily then the difficulty levels up to scenario based questions, where user will be asked practical or scenario based questions, like real world problems which he/she needs to answer. –> then the report of their interview will be created by AI, accordingly how they answered the question –> if the user was not able to answer easy/medium/hard difficulty questions correctly then the interview will stop at that difficulty level and the report will be handed to them accordingly by AI."}, {"post_id": 18324, "ts": "2026-06-29T13:04:52Z", "hours": 4.7064, "text": "Crack Devlog #2 –>hmm………. –> Well, I have been working on this project for like 3-4 days, have completed the software engineer database, and will soon end the backend developer database. What am i making?? –> i am making an ai interview coach, which asks the questions that can be asked in an actual CS job interview. –> it starts with easy questions , and then increases the difficulty according to the performance of the user. –> after the interview ends, it creates a full-fledged report of the user highlighting strong and weak points and also give overall rating out of 100, and also suggest what and how to improve the answer."}, {"post_id": 16267, "ts": "2026-06-26T13:32:55Z", "hours": 3.6783, "text": "Crack Devlog #1 well………… it’s been almost 2 days i have been working on a project called Crack🥀 so that you can crack your interviews easily . idea is pretty simple: –> the user can select an option from the list of CS roles for ex. Software Engineer, Data Scientist, DevOps etc. –> the user will be asked few questions on the roles or option they selected (just like in job interviews). –> number and difficulty of questions will depend on how user will answer the question. –> after the interview is over, the AI will create a full fledged report of the answers given by the users, and will be given score with report on how they performed. as of now: –> i have created i guess approx. 5% of the database. –> a working prototype which pulls question from the database according to the user input. –> UI is still on terminal 🥀 . –> not very user friendly or dynamic but a working prototype which i will further improve and polish. what’s next?: –> write the database, at least completing 7-8% of it. –> make the code more dynamic. how will it work?: –> well i will use APIs to get the report from an AI."}]...
|
Title: Crack by @techieaaryan | Stardance
Devlogs Title: Crack by @techieaaryan | Stardance
Devlogs:
Crack Devlog #1 well………… it’s been almost 2 days i have been working on a project called Crack🥀 so that you can crack your interviews easily . idea is pretty simple: –> the user can select an option from the list of CS roles for ex. Software Engineer, Data Scientist, DevOps etc. –> the user will be asked few questions on the roles or option they selected (just like in job interviews). –> number and difficulty of questions will depend on how user will answer the question. –> after the interview is over, the AI will create a full fledged report of the answers given by the users, and will be given score with report on how they performed. as of now: –> i have created i guess approx. 5% of the database. –> a working prototype which pulls question from the database according to the user input. –> UI is still on terminal 🥀 . –> not very user friendly or dynamic but a working prototype which i will further improve and polish. what’s next?: –> write the database, at least completing 7-8% of it. –> make the code more dynamic. how will it work?: –> well i will use APIs to get the report from an AI.
Crack Devlog #2 –>hmm………. –> Well, I have been working on this project for like 3-4 days, have completed the software engineer database, and will soon end the backend developer database. What am i making?? –> i am making an ai interview coach, which asks the questions that can be asked in an actual CS job interview. –> it starts with easy questions , and then increases the difficulty according to the performance of the user. –> after the interview ends, it creates a full-fledged report of the user highlighting strong and weak points and also give overall rating out of 100, and also suggest what and how to improve the answer.
Crack Devlog #3 –> hmm……yo! –> well nothing interesting but completed 4 roles. –> i also got an idea that i might also add practical or scenario based questions, since thats where real thinking is required. according to my plan questions will be asked from easy and then if the answer is correct then the difficulty will increase from easy to medium and then to hard also if answered very well. –> if the user can answer hard questions easily then the difficulty levels up to scenario based questions, where user will be asked practical or scenario based questions, like real world problems which he/she needs to answer. –> then the report of their interview will be created by AI, accordingly how they answered the question –> if the user was not able to answer easy/medium/hard difficulty questions correctly then the interview will stop at that difficulty level and the report will be handed to them accordingly by AI.
Crack Devlog #4 well i have completed Interview Engine v1 . it asks for a specific role, topic and no. of questions. and then according to the role, topic and no. of question it pulls questions randomly from topic inside the roles database stored in json files. will make it more dynamic by starting from easy question and then increasing difficulty to medium and then to hard, then comes scenario based questions, where the user will be asked real world problems to solve, only if they can answer hard questions very well. after making engine more dynamic i will add more roles to it, it has right now 9 full roles.
Crack Devlog #5 What is done so far? Well my project was at pause since I started it in between my python course, but like now the course is completed so I am back. I have made and completed the Interview engine by using OOP . I have implemented time tracking system inside the engine. Also successfully implemented the answer tracking system, which corresponds to the question asked in the engine. Also it records time taken for each question and time taken for the whole interview. What next? So what I will build next is a system for sending the prompt to AI for evaluation . Then with the data received I will convert it to scores, graphs and charts; will create a full analysis. I will use Claude Sonnet 5 , since it’s one of the strength is detailed and nice explanations, so it fits well for my evaluation and suggestions report. For testing I will use Hack Club’s AI API keys , then will shift to Anthropic’s AI API keys , lets hope that my another project named “HCAI” get ratings fulfilled since its been almost a week, but haven’t got no rating at all . If it gets rated before “Crack” (which I think will be rated by the time ) then I will buy $10 credits of Anthropic and will use it in my project .
Crack Devlog #6 What new? Backend is almost finished. The prompt is being sent successfully. Prompt The data received from Claude Sonnet - 5 is parsed and converted into a report successfully (as you can see in the images). What next? Still this milestone is huge i guess that only ~37% of the Crack is completed. Will finish backend soon . Will start working on Frontend after the backend finishes. The color theme for the frontend of Crack will be Purple and White, also Gold on some parts (very minimal). Will make it aesthetic and minimalistic with glassmorphism . Also deciding to add more features and more roles so this project might reach ~100+ hours easily. Sad news!! 😭 Since in my previous devlogs i was mentioning that I will use Claude Sonnet - 5 , well now I will use ChatGPT , because i got $10 AI grant from Stardance from my another project HCAI (check it out ) so i decided to use Claude Sonnet - 5 but i don’t know why but the card i got from HCB was declining, i contacted HCB and they told me that it is the problem with Anthropic, reimbursement wasn’t viable because of $25 Fees (as i am not from USA), the fees itself is more than my $10 AI grant so i decided upon using it for ChatGPT will use Terra model I guess……………
Crack devlog #7 What new? Implemented a dynamic interview engine for asking question. Using OOP . So if you saw my previous devlog i implemented an interview session engine using OOP, that engine handles the interview session starting and finishing, sending answers of the question to the AI and then receives the evaluation in JSON format which then also the engine parses to convert it into a report. Well right now i implemented another engine using OOP to make the interview more dynamic. The newly implemented engine. So basically i implemented an dynamic interview session engine to make it feel like real interview. What does that engine do? Well that engine is basically asking question, but if you have read my previous devlogs, what we implemented first was that user will be asked the role, difficulty and number questions. But…… that was just a prototype!! Well i made the engine more smarter. So basically now the user has to choose the role, then the difficulty and number of questions will be decided by this engine. So the questions will start from easy, after every question the engine makes an average of the scores of every questions asked, then it decides whether to level the difficulty or not, if not then it will ask you a few more questions, if the average score will increase to be eligible for next difficulty, the engine will automatically increases the difficulty , the same goes for difficulty medium, hard and scenario based questions too………
Crack devlog #8 What new? Started working on frontend. Frontend So the color theme i choose was purple and golden. Dark mode by default. Minimalistic. Glassmorphism. What next? Will soon implement Flask in backend and connect the frontend. Also provide demo link so that you can try it out, well the project still at max will take up to ~5 days to finish.
Crack devlog #9 what new? well i completed designing frontend on figma wrote code for it and it is a bit different but yea still good as this is my first full stack software project i have ever built. frontend designed on figma is the first image. after the 2 images are errors i faced when tried to write the code . and the last when after when i took help of claude it is looking cool. what next? ahh… will implement flask i guess
#Crack Devlog #10 What new?? finally i deployed the mvp, you can check the project out i will provide demo link…… finally made a frontend, used figma to design it (timelapsed). connected it using flask. and deployed on Render What next?? well add some more roles and then fix some bugs. then ship it...
|
1792795991.4901395
|
1793400791.4901395
|
|
38499
|
FieldSim by @sircheetodust | Stardance
|
sircheetodust
|
1
|
53.13
|
959
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T00:10:33Z", "hours": 48.0, "multiplier": 16.79, "payout": 959, "blessing": "neutral", "text": "This is FieldSimulator(or for short FieldSim) It is a recreation of the FRC 2026 Rebuilt game in unity, heavily inspired by MoSimulator and xRC Simulator. It is fully open source and is made modular so people can make custom robots. The most difficult part about making this was probably getting the robot to intake and shoot well. This is my first time ever attempting a unity project this large so this was difficult. The robot would pop and sometimes just explode, so I abandoned a physics based hopper system and made a simple static hopper system where the ball would just be moved to a set position with collision disabled. Then when shooting, the balls collision would be reenabled and the ball would be shot from the robot. Here is the trailer for the game: https://www.youtube.com/watch?v=iRqO79tCtu4 Here is the download page for the game, if you are not familiar with the FRC rebuilt season, I would take a look at the docs. https://thecheetoman.github.io/FieldSim/", "repo": "https://github.com/thecheetoman/FieldSim", "demo": "https://thecheetoman.github.io/FieldSim/"}]...
|
[{"post_id": 60548, "ts": "202 [{"post_id": 60548, "ts": "2026-09-02T23:20:06Z", "hours": 2.4025, "text": "2658 Σ-Motion 85% completed! I had robotics yesterday, so I decided to work on this again. Everything such as the intake, ball system, turret, and drivetrain are set up. Audio remains as the final thing to be tweaked as it does sound like a very high pitched lawn mower ."}, {"post_id": 58367, "ts": "2026-08-30T19:28:29Z", "hours": 2.7294, "text": "Swerve and my own teams robot? Yep you read that right. I wrote a very bad swerve script that works. I also acquired the least broken cad of my FRC teams robot. I optimized from about 60 mil vertices to about 4.8 million(ty decimate modifier). Ill try my best to finish this robot, and add swerve to other robots(9126 and 9450)"}, {"post_id": 42980, "ts": "2026-08-08T00:00:20Z", "hours": 0.6333, "text": "Worked on trailer for shipping Heres a random part of the trailer"}, {"post_id": 42916, "ts": "2026-08-07T21:38:23Z", "hours": 1.3656, "text": "Fieldsim 1.0.0 is ready! The first version of this project is nearly ready. The download page is up to date and the modding documentation has been completed. Project will not be shipped yet as I will make a trailer. I did not compile for all OSs"}, {"post_id": 42798, "ts": "2026-08-07T18:17:05Z", "hours": 2.2897, "text": "#Website update! I made some modifications to the design on the home page to make it easier to see the text in the center. I wrote nearly half of the documentatoin for adding robots!"}, {"post_id": 42321, "ts": "2026-08-07T00:06:03Z", "hours": 1.3683, "text": "FieldSim documentation and guide website underway! I made a simple static html website inside a subfolder of the repo. Setting up github actions took about 30 minutes . Turns out github servers are slower than they used to be. I also made a simple documentation page and put in some basic info about this project. I kinda stole a lot of styling from a previous project."}, {"post_id": 42205, "ts": "2026-08-06T20:22:24Z", "hours": 0.5511, "text": "Final update to the game, onto the website! I finally finished the base for FieldSimulator. I am now going to work on a website with documentation for modding and a well made download page!"}, {"post_id": 42155, "ts": "2026-08-06T19:19:03Z", "hours": 0.5422, "text": "Minor update to Silver Hawks robot I added sound effects to it and a basic indexer sound effect system. I also fixed a major bug where sometimes fuel scored in the hub just disappears(i genuinely dont know how this even happened in the first place) The new indexer SFX system plays as long as the robot is enabled, and it gets a bit louder when you shoot. Added this to make silver hawks robot feel more alive."}, {"post_id": 42130, "ts": "2026-08-06T18:37:15Z", "hours": 3.1192, "text": "Main menu with settings credits and game launching! I finally undertook the process of making the menu. Unity makes it really easy to make UI but getting graphics settings to work took a while. When I first implemented changing graphics settings, the outcome is the complete opposite. If you choose the Horrendous preset, you get maxed out settings and vice versa. I fixed this by reordering options. I also added fullscreen as a toggle and a resolutions dropdown. I also modified the gamemanager and the menu to allow for loading a robot from the main menu. It works by saving your robot index to a playerprefs, and gamemanager loads that corresponding robot. The scripts for camera management and robot enabling and disabling are all modular, so everything works smoothly!"}, {"post_id": 41590, "ts": "2026-08-05T21:42:59Z", "hours": 2.8306, "text": "New robot! I added the SilverHawks, 9126. Adding this robot was kind of difficult. For starters, the CAD was too high fidelity, with every single screw and bolt set up. I had to remove all of them and I had to make my own bumpers for this.(which had flipped normals ). I also had to adjust the way turret and hood aiming worked. These were previously locked to only modify the z axis of the gameobjects. I had to write methods to choose a new axis. I also had to write a system for sliding hoppers. I am going to work on a menu, then make a website for this game. The website will have a simple robot tutorial."}, {"post_id": 41370, "ts": "2026-08-05T15:21:35Z", "hours": 1.0736, "text": "Illegal scoring penalties implemented I added a system in the gamemanager to detect if the player isnt in their alliance side. If they score while they aren’t, a heavy penalty is added to reds score."}, {"post_id": 41028, "ts": "2026-08-04T23:05:25Z", "hours": 2.6914, "text": "Turret robot nearly done! 9450 is almost done with its implementation into Fieldsim. I added a working automatic aligning turret and hood. This didn’t work initially, some values had to be fine tuned to ensure turret accuracy. The robot can shoot at the hub, and pass both left and right. This turned out pretty good and I hope to keep going Please put FRC team suggestions in comments(better if cad is released)"}, {"post_id": 40782, "ts": "2026-08-04T15:14:36Z", "hours": 1.8464, "text": "Another robot? yea! I decided to work on adding 9450. Their robot would be pretty easy to frankenstein on to a tank drive, which I did in blender. Currently it does absolutely nothing, so stay tuned!"}, {"post_id": 40385, "ts": "2026-08-03T21:06:15Z", "hours": 3.7106, "text": "Major Rebuilt progress! Devlog vid since it was too large: https://youtu.be/8LqqLZqSy14 I am almost done getting Rebuilt fully implemented! This took a lot longer than expected. I wrote scripts to handle scoring, hub lights, and heavily modified the gamemanager. i am so bad at driving 😭"}, {"post_id": 39689, "ts": "2026-08-02T20:32:39Z", "hours": 2.6922, "text": "“welcome to rebuilt, presented by haas” I finally finished implementing the real comp field! It is complete with fuel in the depot, and neutral zone(I haven’t decided what to do about the outpost yet). I set up the robot and all collision. All I need to do is program the actual robot game and UI, and this would be a good, somewhat functional game!"}, {"post_id": 39191, "ts": "2026-08-01T23:58:17Z", "hours": 1.0622, "text": "FMS implementation under way! I worked on modifying most of my scripts to work with the gamemanager. This allows robot enabling and disabling, which makes the game more realistic! I also made a script which actually makes the RSL(robot status light) strobe when the robot is deactivated, and stay on when the robot is activated! I am going to import normal rebuilt playing field soon so I can make the robot game work!"}, {"post_id": 39115, "ts": "2026-08-01T20:29:18Z", "hours": 1.3039, "text": "More audio and shooting improvements Quick update, I am gonna take it easy this weekend with working on this. I added sound effects for the drivetrain and when fuel hits the hub. I also added a QoL improvement. When you start shooting, the robot stops moving, making it easier to shoot and stay in place for accuracy."}, {"post_id": 38543, "ts": "2026-08-01T00:28:40Z", "hours": 2.6458, "text": "Audio, Camera follow, and new bumper! I added a dynamic audio system to the spinning shaft system. It plays audio from an audio source and adjusts its pitch based on the shaft’s rpm. In addition to this, I added events that can trigger functions in other scripts when the shaft reaches max speed and spools down. I also wrote a 3rd person camera follower, it uses tags on the player to make it easy to implement in other robots! I also remodeled the front bumper of the robot in blender. The original one looked kinda bad since the bevels were not matching with the rest of the bumpers.(screenshots included!)"}, {"post_id": 38359, "ts": "2026-07-31T18:16:16Z", "hours": 3.1653, "text": "Somewhat working kitbot! In the past 3 hrs of development, I wrote a not physics based intaking and hopper system. I also wrote a very simple shooting method. Intake The previous intake system I made(not devlogged), relied on a bunch of physics. The end result was pretty realistic, but buggy. When fuel was intaked, it would try to occupy the outtake zone of the robot, if there was already fuel there, the robot would “pop” and explode. This new system completly disables fuel physics and teleports fuel to preset positions. It isn’t as realistic, but its less buggy, and leads to less framerate drops! Shooting I added a basic shooter. It takes fuel from the 0th slot in the hopper, shoots it, and then cycles the fuel in the hopper. The shooting is pretty unrealistic compared to the real kitbot. It shoots too high and too far. With a bit of tuning though, this should be fixed. i still need to add collision to the field elements, i keep forgetting 😭"}, {"post_id": 37932, "ts": "2026-07-30T23:14:41Z", "hours": 0.6072, "text": "Quick materials update All of the materials from onshape look kinda dull(look at the field for reference). I updated the materials, might need to adjust bumper material since it is too strong."}, {"post_id": 37867, "ts": "2026-07-30T20:50:12Z", "hours": 2.7006, "text": "Drivable kitbot, Animated intake shafts, and Fuel! This devlog is gonna be a long one. I finished the tank drivetrain along with animated wheels. I also began to add spinning-ness to the intake. I also made the fuel. The drivetrain I finished writing the movement script and set up all of the wheels. I also spent some time tuning physics values to attempt to recreate a somewhat realistic tank drive. Animated spinny thingys I created an easy to implement script, which allows you to bind a key to shaft, and make it spin however fast you want it to! Fuel Added fuel some things still need collision, so dont mind me driving through the hub"}, {"post_id": 37688, "ts": "2026-07-30T16:11:25Z", "hours": 0.7639, "text": "ever seen a tank drive do wheelies? neither have i! Tank drive is working out way better, I didn’t even ask AI for help with this!"}, {"post_id": 37635, "ts": "2026-07-30T14:50:52Z", "hours": 2.1769, "text": "Quick announcement Swerve is beginning to be a problem. I am not that experience with unity so swerve ends up flying around most of the time. For this project, I think I might drop swerve entirely, and just make tank drive and throw the kitbot in. Sorry to have to announce this =("}, {"post_id": 37350, "ts": "2026-07-30T00:21:10Z", "hours": 1.3839, "text": "Dev log 2 of Fieldsim redo What did i do? I wrote a basic swerve controller, it allows you to drive the robot around and it even has field oriented driving! I also imported the test field that you might have seen at competitions for robot testing. Side notes: The old mesh for the robot was kinda(extremely) unoptimized. So i replaced it with cubes. Check the screenshot for wireframe view."}, {"post_id": 37252, "ts": "2026-07-29T20:23:28Z", "hours": 0.3333, "text": "i forgor to set up hackatime…. I forgot to set up hackatime, its been like an hr of getting this drivetrain parented properly. Now I can move on to writing a basic movement script. Then i can go through other FRC team’s swerve code and steal logic for wheel rotation. I also need to get a “gyro” working. welp, see ya next time!"}, {"post_id": 37192, "ts": "2026-07-29T18:39:35Z", "hours": 1.4667, "text": "Restarting field sim =( I feel kinda conflicted, with using mosimbuilder for this project. Im kinda stealing their work, so im going to write this from scratch now!"}, {"post_id": 35476, "ts": "2026-07-26T22:47:40Z", "hours": 1.5761, "text": "i made this lil guy, his name is greg"}, {"post_id": 34170, "ts": "2026-07-24T18:11:27Z", "hours": 1.2439, "text": "3128 added! Only took like 3 redos =D Has working intake, shooter, auto align. Not sure how climb worked, so I did not implement .t(didnt really see narwhals using it that much either)"}, {"post_id": 34104, "ts": "2026-07-24T16:11:59Z", "hours": 1.0, "text": "Dev Log #2 Today I tried doing a web build, which did not turn out great. You could not see anything, so I fixed that by adjusting MSAA settings. I am starting my first CAD robot. 3128(im doing the sd districts alliance) intake lookin a bit goofy. Still needs a lot of work before it the robot is finished. After this I plan to add 2102 Comment FRC team suggestions to see your robot added(cad would be rlly tuff)"}, {"post_id": 33642, "ts": "2026-07-23T18:33:43Z", "hours": 1.4303, "text": "Dev Log #1 Today i spent my time optimizing MoSimBuilder. Went from 9 fps -> 30 fps(my laptop kinda bad) I also added my team’s robot. Comment your team number if you want your robot added…"}]...
|
Title: FieldSim by @sircheetodust | Stardance
Dev Title: FieldSim by @sircheetodust | Stardance
Devlogs:
Dev Log #1 Today i spent my time optimizing MoSimBuilder. Went from 9 fps -> 30 fps(my laptop kinda bad) I also added my team’s robot. Comment your team number if you want your robot added…
Dev Log #2 Today I tried doing a web build, which did not turn out great. You could not see anything, so I fixed that by adjusting MSAA settings. I am starting my first CAD robot. 3128(im doing the sd districts alliance) intake lookin a bit goofy. Still needs a lot of work before it the robot is finished. After this I plan to add 2102 Comment FRC team suggestions to see your robot added(cad would be rlly tuff)
3128 added! Only took like 3 redos =D Has working intake, shooter, auto align. Not sure how climb worked, so I did not implement .t(didnt really see narwhals using it that much either)
i made this lil guy, his name is greg
Restarting field sim =( I feel kinda conflicted, with using mosimbuilder for this project. Im kinda stealing their work, so im going to write this from scratch now!
i forgor to set up hackatime…. I forgot to set up hackatime, its been like an hr of getting this drivetrain parented properly. Now I can move on to writing a basic movement script. Then i can go through other FRC team’s swerve code and steal logic for wheel rotation. I also need to get a “gyro” working. welp, see ya next time!
Dev log 2 of Fieldsim redo What did i do? I wrote a basic swerve controller, it allows you to drive the robot around and it even has field oriented driving! I also imported the test field that you might have seen at competitions for robot testing. Side notes: The old mesh for the robot was kinda(extremely) unoptimized. So i replaced it with cubes. Check the screenshot for wireframe view.
Quick announcement Swerve is beginning to be a problem. I am not that experience with unity so swerve ends up flying around most of the time. For this project, I think I might drop swerve entirely, and just make tank drive and throw the kitbot in. Sorry to have to announce this =(
ever seen a tank drive do wheelies? neither have i! Tank drive is working out way better, I didn’t even ask AI for help with this!
Drivable kitbot, Animated intake shafts, and Fuel! This devlog is gonna be a long one. I finished the tank drivetrain along with animated wheels. I also began to add spinning-ness to the intake. I also made the fuel. The drivetrain I finished writing the movement script and set up all of the wheels. I also spent some time tuning physics values to attempt to recreate a somewhat realistic tank drive. Animated spinny thingys I created an easy to implement script, which allows you to bind a key to shaft, and make it spin however fast you want it to! Fuel Added fuel some things still need collision, so dont mind me driving through the hub
Quick materials update All of the materials from onshape look kinda dull(look at the field for reference). I updated the materials, might need to adjust bumper material since it is too strong.
Somewhat working kitbot! In the past 3 hrs of development, I wrote a not physics based intaking and hopper system. I also wrote a very simple shooting method. Intake The previous intake system I made(not devlogged), relied on a bunch of physics. The end result was pretty realistic, but buggy. When fuel was intaked, it would try to occupy the outtake zone of the robot, if there was already fuel there, the robot would “pop” and explode. This new system completly disables fuel physics and teleports fuel to preset positions. It isn’t as realistic, but its less buggy, and leads to less framerate drops! Shooting I added a basic shooter. It takes fuel from the 0th slot in the hopper, shoots it, and then cycles the fuel in the hopper. The shooting is pretty unrealistic compared to the real kitbot. It shoots too high and too far. With a bit of tuning though, this should be fixed. i still need to add collision to the field elements, i keep forgetting 😭
Audio, Camera follow, and new bumper! I added a dynamic audio system to the spinning shaft system. It plays audio from an audio source and adjusts its pitch based on the shaft’s rpm. In addition to this, I added events that can trigger functions in other scripts when the shaft reaches max speed and spools down. I also wrote a 3rd person camera follower, it uses tags on the player to make it easy to implement in other robots! I also remodeled the front bumper of the robot in blender. The original one looked kinda bad since the bevels were not matching with the rest of the bumpers.(screenshots included!)
More audio and shooting improvements Quick update, I am gonna take it easy this weekend with working on this. I added sound effects for the drivetrain and when fuel hits the hub. I also added a QoL improvement. When you start shooting, the robot stops moving, making it easier to shoot and stay in place for accuracy.
FMS implementation under way! I worked on modifying most of my scripts to work with the gamemanager. This allows robot enabling and disabling, which makes the game more realistic! I also made a script which actually makes the RSL(robot status light) strobe when the robot is deactivated, and stay on when the robot is activated! I am going to import normal rebuilt playing field soon so I can make the robot game work!
“welcome to rebuilt, presented by haas” I finally finished implementing the real comp field! It is complete with fuel in the depot, and neutral zone(I haven’t decided what to do about the outpost yet). I set up the robot and all collision. All I need to do is program the actual robot game and UI, and this would be a good, somewhat functional game!
Major Rebuilt progress! Devlog vid since it was too large: https://youtu.be/8LqqLZqSy14 I am almost done getting Rebuilt fully implemented! This took a lot longer than expected. I wrote scripts to handle scoring, hub lights, and heavily modified the gamemanager. i am so bad at driving 😭
Another robot? yea! I decided to work on adding 9450. Their robot would be pretty easy to frankenstein on to a tank drive, which I did in blender. Currently it does absolutely nothing, so stay tuned!
Turret robot nearly done! 9450 is almost done with its implementation into Fieldsim. I added a working automatic aligning turret and hood. This didn’t work initially, some values had to be fine tuned to ensure turret accuracy. The robot can shoot at the hub, and pass both left and right. This turned out pretty good and I hope to keep going Please put FRC team suggestions in comments(better if cad is released)
Illegal scoring penalties implemented I added a system in the gamemanager to detect if the player isnt in their alliance side. If they score while they aren’t, a heavy penalty is added to reds score.
New robot! I added the SilverHawks, 9126. Adding this robot was kind of difficult. For starters, the CAD was too high fidelity, with every single screw and bolt set up. I had to remove all of them and I had to make my own bumpers for this.(which had flipped normals ). I also had to adjust the way turret and hood aiming worked. These were previously locked to only modify the z axis of the gameobjects. I had to write methods to choose a new axis. I also had to write a system for sliding hoppers. I am going to work on a menu, then make a website for this game. The website will have a simple robot tutorial.
Main menu with settings credits and game launching! I finally undertook the process of making the menu. Unity makes it really easy to make UI but getting graphics settings to work took a while. When I first implemented changing graphics settings, the outcome is the complete opposite. If you choose the Horrendous preset, you get maxed out settings and vice versa. I fixed this by reordering options. I also added fullscreen as a toggle and a resolutions dropdown. I also modified the gamemanager and the menu to allow for loading a robot from the main menu. It works by saving your robot index to a playerprefs, and gamemanager loads that corresponding robot. The scripts for camera management and robot enabling and disabling are all modular, so everything works smoothly!
Minor update to Silver Hawks robot I added sound effects to it and a basic indexer sound effect system. I also fixed a major bug where sometimes fuel scored in the hub just disappears(i genuinely dont know how this even happened in the first place) The new indexer SFX system plays as long as the robot is enabled, and it gets a bit louder when you shoot. Added this to make silver hawks robot feel more alive.
Final update to the game, onto the website! I finally finished the base for FieldSimulator. I am now going to work on a website with documentation for modding and a well made download page!
FieldSim documentation and guide website underway! I made a simple static html website inside a subfolder of the repo. Setting up github actions took about 30 minutes . Turns out github servers are slower than they used to be. I also made a simple documentation page and put in some basic info about this project. I kinda stole a lot of styling from a previous project.
#Website update! I made some modifications to the design on the home page to make it easier to see the text in the center. I wrote nearly half of the documentatoin for adding robots!
Fieldsim 1.0.0 is ready! The first version of this project is nearly ready. The download page is up to date and the modding documentation has been completed. Project will not be shipped yet as I will make a trailer. I did not compile for all OSs
Worked on trailer for shipping Heres a random part of the trailer
Swerve and my own teams robot? Yep you read that right. I wrote a very bad swerve script that works. I also acquired the least broken cad of my FRC teams robot. I optimized from about 60 mil vertices to about 4.8 million(ty decimate modifier). Ill try my best to finish this robot, and add swerve to other robots(9126 and 9450)
2658 Σ-Motion 85% completed! I had robotics yesterday, so I decided to work on this again. Everything such as the intake, ball system, turret, and drivetrain are set up. Audio remains as the final thing to be tweaked as it does sound like a very high pitched lawn mower .
Ships:
This is FieldSimulator(or for short FieldSim) It is a recreation of the FRC 2026 Rebuilt game in unity, heavily inspired by MoSimulator and xRC Simulator. It is fully open source and is made modular so people can make custom robots. The most difficult part about making this was probably getting the robot to intake and shoot well. This is my first time ever attempting a unity project this large so this was difficult. The robot would pop and sometimes just explode, so I abandoned a physics based hopper system and made a simple static hopper system where the ball would just be moved to a set position with collision disabled. Then when shooting, the balls collision would be reenabled and the ball would be shot from the robot. Here is the trailer for the game: https://www.youtube.com/watch?v=iRqO79tCtu4 Here is the download page for the game, if you are not familiar with the FRC rebuilt season, I would take a look at the docs. https://thecheetoman.github.io/FieldSim/...
|
1793087869.9029272
|
1793174269.9029272
|
|
53926
|
Manim derivative plotter by @TyrannoJ | Stardance
|
TyrannoJ
|
2
|
53.04
|
744
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T15:32:17Z", "hours": 27.0, "multiplier": 15.47, "payout": 420, "blessing": "neutral", "text": "I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-30T17:43:18Z", "hours": 24.0, "multiplier": 13.4, "payout": 324, "blessing": "neutral", "text": "Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}]...
|
[{"post_id": 80605, "ts": "202 [{"post_id": 80605, "ts": "2026-10-18T09:10:09Z", "hours": 2.0386, "text": "Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day"}, {"post_id": 79542, "ts": "2026-10-14T15:01:58Z", "hours": 2.6258, "text": "Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one"}, {"post_id": 78880, "ts": "2026-10-11T21:08:30Z", "hours": 7.6142, "text": "Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading"}, {"post_id": 78188, "ts": "2026-10-09T22:18:53Z", "hours": 6.4897, "text": "Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app"}, {"post_id": 75238, "ts": "2026-09-29T15:37:06Z", "hours": 6.1378, "text": "Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one"}, {"post_id": 69216, "ts": "2026-09-16T16:35:27Z", "hours": 2.6294, "text": "Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one"}, {"post_id": 59840, "ts": "2026-09-01T20:18:53Z", "hours": 1.1686, "text": "Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one"}, {"post_id": 59447, "ts": "2026-09-01T09:30:00Z", "hours": 0.5153, "text": "Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one"}, {"post_id": 58280, "ts": "2026-08-30T17:27:55Z", "hours": 4.1336, "text": "Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading"}, {"post_id": 55139, "ts": "2026-08-26T16:36:38Z", "hours": 2.5172, "text": "Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one."}, {"post_id": 54806, "ts": "2026-08-25T22:55:48Z", "hours": 4.4847, "text": "Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night"}, {"post_id": 54425, "ts": "2026-08-25T13:05:28Z", "hours": 2.2722, "text": "Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!"}, {"post_id": 54115, "ts": "2026-08-24T22:33:01Z", "hours": 1.5247, "text": "Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now"}, {"post_id": 54070, "ts": "2026-08-24T20:51:04Z", "hours": 9.3264, "text": "Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day"}]...
|
Title: Manim derivative plotter by @TyrannoJ | Sta Title: Manim derivative plotter by @TyrannoJ | Stardance
Devlogs:
Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day
Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now
Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!
Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night
Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one.
Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading
Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one
Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one
Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one
Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one
Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app
Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading
Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one
Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day
Ships:
Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)
I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one...
|
1792994043.3709407
|
1793080443.3709407
|
|
16752
|
MeowOS! by @CharlieCatMeow | Stardance
|
CharlieCatMeow
|
3
|
53.0
|
633
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-29T11:29:34Z", "hours": 8.0, "multiplier": 14.98, "payout": 121, "blessing": "neutral", "text": "MeowOS! A web based operating system! Built with HTML, CSS, JavaScript and my sanity. I added a few new features! new themes the browser URL bar now works! yay Added window resizing for most windows. Updated the notes app so the delete button doesn’t remove all pages Added a typing and clicking sound effect (toggle in settings) You can now hide the icon bar when a window is maximized by going into settings. Changed the terminal commands to be more intuitive Fixed a bunch of bugs Also did a bunch of stuff you can’t see to clean up the code, it was pretty messy. (Please read the README as well) Enjoy!", "repo": "https://github.com/CharlieTheCatMeow/WebOS", "demo": "https://charliethecatmeow.github.io/WebOS/"}, {"ship_num": 2, "ts": "2026-07-13T15:29:09Z", "hours": 33.0, "multiplier": 15.49, "payout": 512, "blessing": "neutral", "text": "✨ MeowOS! ✨ MeowOS! is a web based operating system built to enhance productivity with a wide range of apps to be used. It is built on HTML, CSS and Javascript. ✨Apps✨: Introduction (a guide to the website) Stopwatch (Keep track of how much time has past) Notes (Write down your thoughts To-do list (write down tasks and procrastinate) Calculator (do math - scary) Music Player (play some music) Gallery (view images) Browser (browser through three webpages) File explorer (create .txt files and folders) Settings (configure stuff like Widgets and more) Terminal (run commands) ✨Other Features✨: Search menu (to search for apps) Control center (controls brightness, volume and connectivity) Cat widget (click to meow) Calendar (view today’s date) Minimalist Clock (read the time) Dark / Light mode (toggle in settings) Loading screen This is my first time creating a website. Doing WebOS 1 really helped me get a grasp of the basics. I was a total beginner at this and yet more than 10 Devlogs later here I am. As you can probably tell by the amount of hours on this project, it wasn’t all sunshine and rainbows. Maximizing and moving windows was the things I struggled most with. It took me way too long to fix the millions of bugs associated with window dragging, maximizing and positioning. The website turned out better than I could have ever imagined and I hope you enjoy using it. I am particularly proud of the dark mode (find in settings), I think it looks amazing. Enough yap, enjoy the website :3 (if the blur effect doesn’t work please skip this project, thank you!)", "repo": "https://github.com/CharlieTheCatMeow/WebOS", "demo": "https://charliethecatmeow.github.io/WebOS/"}, {"ship_num": 3, "ts": "2026-07-04T09:53:06Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My very own web-based operating system! It features: Notes App (you can add pages) Stopwatch To-Do List Clock Took me a while to figure out. Javascript was the hardest for me since I’ve only ever coded in Python, but I managed. Hope this gets approved so I can continue working on it (with more stardust :D)", "repo": "https://github.com/CharlieTheCatMeow/WebOS", "demo": "https://charliethecatmeow.github.io/WebOS/"}]...
|
[{"post_id": 57257, "ts": "202 [{"post_id": 57257, "ts": "2026-08-29T11:20:43Z", "hours": 0.5786, "text": "MeowOS Devlog #15 Some small changes before shipping! Made the clicking and typing sound be turned on by default Changed some window width settings Changed terminal commands a bit Fixed the search menu icon size I should be able to ship this now."}, {"post_id": 54595, "ts": "2026-08-25T16:54:45Z", "hours": 1.1153, "text": "MeowOS Devlog #14 Added a pink theme This was upon request by someone from slack, they wanted a pink theme so here it is. Changes to the terminal I reworked some commands. I bundled all the app commands into one, so it’s no longer “todo”, but “app todo”. It’s a bit cleaner. Also did this with the themes, but I forgot if I did it this devlog or the last one. Setting for maximizing window There is now an option in the settings to hide the taskbar (the thing on the bottom) when the window is maximized. I really over complicated things while trying to make it work, found out it was just a one single line of code that was needed. This should be all I think"}, {"post_id": 53227, "ts": "2026-08-23T17:47:34Z", "hours": 3.9083, "text": "MeowOS Devlog #13 Themes! I decided do a complete overhaul of the themes. Instead of dark and light mode, there are no five different themes to choose from. I had to refactor almost everything since the code from before was pretty poorly made. Browser URL bar The browser URL bar works now! You can now enter website addresses and they should show up. (Do note that some websites block iframes and may not work). Some sound effects I added a typing and clicking sound effect. You need to enable it in settings. Small tweaks I finally changed the notes delete button. Instead of deleting every page, it now only deletes the current one. Also, the placeholders are actual placeholders now, so they hide themselves when selecting the text and reappear if the text is left empty. The title and date of the notes also get saved now. I found out why the music player playlist wasn’t getting resized along with the window, I was able to fix it with just one line of CSS code. Fixed the stopwatch reset button not changing the play button’s icon if the time was still running."}, {"post_id": 52885, "ts": "2026-08-23T08:22:56Z", "hours": 2.4619, "text": "MeowOS Devlog #12 Some small stuff Resizable windows! I made most windows resizable. I had to fix a lot of CSS for that, but I’m glad it works now. Also tweaked some minor stuff. (Notice how windows are smaller in the picture)"}, {"post_id": 27712, "ts": "2026-07-13T14:38:25Z", "hours": 3.7478, "text": "MeosOS Devlog #11 More bug fixes and also widgets!!! I did some more bug fixing with the dark and light mode as well as window scaling. I think all bugs should be gone now, though I’m not entirely sure I didn’t miss any. Widgets I added three widgets: cat you can click to meow calendar a minimalist round clock That’s all. I hope I can ship this now. (Though I am a bit paranoid of issues I didn’t notice)"}, {"post_id": 27330, "ts": "2026-07-12T20:18:07Z", "hours": 4.935, "text": "MeowOS Devlog #10 Bug fixes and control center Not much to say about this one. I spent a long time fixing a bunch of bugs and polishing the website. I also added a control center to the top right. I gotta find some creative ideas to add to this hmm…"}, {"post_id": 27128, "ts": "2026-07-12T12:30:37Z", "hours": 5.335, "text": "MeowOS Devlog #9 File explorer! This was by far the hardest window to implement. Took me quite a while to figure out the recursive functions to browse through the files. Features: Create folders Create text files Write things in text files Delete files and folders Everything is saved to localStorage This was very fun. Javascript got kind of difficult but it turned out great. I will probably create some widgets now. :D"}, {"post_id": 26605, "ts": "2026-07-11T15:09:33Z", "hours": 7.01, "text": "MeowOS Devlog #8 Another kinda long one…I got a bit carried away. Maximize windows I finally added a function to maximize certain windows. There were way too many bugs associated with that feature, that took way too long. Especially hiding the top bar while a window is maximized. Loading screen I also made the loading screen stay a bit longer on screen so people with high internet speeds will still be able to see it. Gallery Probably the easiest task of this devlog. Not much to say about it, it’s a gallery with pictures. Search menu This one worked surprisingly well. I somehow got the search function right in the first two attempts. Very fun to make. Light / Dark mode I changed my mind. This was the easiest task. I was avoiding this since I thought it would be super complicated, but it turns out it’s not. :D That’s all I did. I still have a few apps in mind, so I’ll start working on those soon."}, {"post_id": 25876, "ts": "2026-07-10T11:19:21Z", "hours": 2.6578, "text": "MeowOS Devlog #7 Music App I finally finished the music application. I still have to find some songs I am allowed to put in there. Loading Screen I also added a loading screen with a cat-shaped loading bar. Took me a while to figure out how an svg works. The text also has an animation to make it more interesting. Easter egg I added an easter egg. It’s not much and not that difficult to find, but I won’t reveal what it is. That’s all :D"}, {"post_id": 25349, "ts": "2026-07-09T16:10:03Z", "hours": 9.3508, "text": "MeowOS Devlog #6 It’s a long one… Since I finally got my ship approved, I can now post my 9 hour devlog D: I added a bunch of things and improved the design by a lot: New Design, looks much prettier Animations for interactive elements A command terminal, you can open windows with it A calculator, to calculate stuff ;-; a WIP music player (I need to find songs) A start menu before loading the OS. Took me quite a while to figure out. Javascript isn’t really a problem anymore. I really enjoyed updating the design in CSS using :hover and keyframes. I’m very happy of how it all turned out."}, {"post_id": 22068, "ts": "2026-07-04T09:50:36Z", "hours": 1.0447, "text": "MeowOS Devlog #5 I fixed some bugs. I didn’t do too much. It is now time to ship this project. I hope that it works!"}, {"post_id": 21429, "ts": "2026-07-03T11:40:25Z", "hours": 3.8028, "text": "MeowOS Devlog #4 Getting the hang of Javascript I made my own Stopwatch app without following the guide. Took me a while but I completed it and I am very happy with the result. I am now trying to do some more complex apps before shipping this project. I still have some work to do, as the To-Do List App is not finished and a terminal App is missing. That’s all .D"}, {"post_id": 18362, "ts": "2026-06-29T14:23:32Z", "hours": 3.1842, "text": "MeowOS Devlog #3 Still learning Javascript Javascript is still kind of confusing for me, I’m starting to figure it out though. Notes App I finished my first app with functionality. You can write stuff in it. Unlimited new note pages can also be created and there is a button to wipe everything. Looking forward to adding additional content :D"}, {"post_id": 13723, "ts": "2026-06-22T14:30:16Z", "hours": 2.6383, "text": "MeowOS Devlog #2 Learning Javascript Javascript took me a while to figure out. I found getting the Javascript file to work with the website a bit confusing, but the guide helped me through it. I have added: App icons (though not all of them assigned) two apps (still empty) draggable close / open them the selected app sits on top. I look forward to coding my first proper app with functions. That’s all :D"}, {"post_id": 12458, "ts": "2026-06-20T10:47:00Z", "hours": 1.6758, "text": "MeowOS (placeholder name) My first html project! I had some prior basic html knowledge, but that was a long time ago. I chose this mission because: I want to improve my website development skills This mission gives practically infinite possibilities for apps, so I have a lot of creative freedom With the first 100 minutes now logged, this is what I completed: a desktop background a top bar a clock a temporary non-draggable window I’m trying to not use pixels as measurement since I want the website to work on all resolutions. I’ll see if that will work out. All in all, I’m very happy with the design. I got back into html and didn’t feel like anything was that challenging yet. I have never done Javascript though, that will probably be a bit harder."}]...
|
Title: MeowOS! by @CharlieCatMeow | Stardance
Dev Title: MeowOS! by @CharlieCatMeow | Stardance
Devlogs:
MeowOS (placeholder name) My first html project! I had some prior basic html knowledge, but that was a long time ago. I chose this mission because: I want to improve my website development skills This mission gives practically infinite possibilities for apps, so I have a lot of creative freedom With the first 100 minutes now logged, this is what I completed: a desktop background a top bar a clock a temporary non-draggable window I’m trying to not use pixels as measurement since I want the website to work on all resolutions. I’ll see if that will work out. All in all, I’m very happy with the design. I got back into html and didn’t feel like anything was that challenging yet. I have never done Javascript though, that will probably be a bit harder.
MeowOS Devlog #2 Learning Javascript Javascript took me a while to figure out. I found getting the Javascript file to work with the website a bit confusing, but the guide helped me through it. I have added: App icons (though not all of them assigned) two apps (still empty) draggable close / open them the selected app sits on top. I look forward to coding my first proper app with functions. That’s all :D
MeowOS Devlog #3 Still learning Javascript Javascript is still kind of confusing for me, I’m starting to figure it out though. Notes App I finished my first app with functionality. You can write stuff in it. Unlimited new note pages can also be created and there is a button to wipe everything. Looking forward to adding additional content :D
MeowOS Devlog #4 Getting the hang of Javascript I made my own Stopwatch app without following the guide. Took me a while but I completed it and I am very happy with the result. I am now trying to do some more complex apps before shipping this project. I still have some work to do, as the To-Do List App is not finished and a terminal App is missing. That’s all .D
MeowOS Devlog #5 I fixed some bugs. I didn’t do too much. It is now time to ship this project. I hope that it works!
MeowOS Devlog #6 It’s a long one… Since I finally got my ship approved, I can now post my 9 hour devlog D: I added a bunch of things and improved the design by a lot: New Design, looks much prettier Animations for interactive elements A command terminal, you can open windows with it A calculator, to calculate stuff ;-; a WIP music player (I need to find songs) A start menu before loading the OS. Took me quite a while to figure out. Javascript isn’t really a problem anymore. I really enjoyed updating the design in CSS using :hover and keyframes. I’m very happy of how it all turned out.
MeowOS Devlog #7 Music App I finally finished the music application. I still have to find some songs I am allowed to put in there. Loading Screen I also added a loading screen with a cat-shaped loading bar. Took me a while to figure out how an svg works. The text also has an animation to make it more interesting. Easter egg I added an easter egg. It’s not much and not that difficult to find, but I won’t reveal what it is. That’s all :D
MeowOS Devlog #8 Another kinda long one…I got a bit carried away. Maximize windows I finally added a function to maximize certain windows. There were way too many bugs associated with that feature, that took way too long. Especially hiding the top bar while a window is maximized. Loading screen I also made the loading screen stay a bit longer on screen so people with high internet speeds will still be able to see it. Gallery Probably the easiest task of this devlog. Not much to say about it, it’s a gallery with pictures. Search menu This one worked surprisingly well. I somehow got the search function right in the first two attempts. Very fun to make. Light / Dark mode I changed my mind. This was the easiest task. I was avoiding this since I thought it would be super complicated, but it turns out it’s not. :D That’s all I did. I still have a few apps in mind, so I’ll start working on those soon.
MeowOS Devlog #9 File explorer! This was by far the hardest window to implement. Took me quite a while to figure out the recursive functions to browse through the files. Features: Create folders Create text files Write things in text files Delete files and folders Everything is saved to localStorage This was very fun. Javascript got kind of difficult but it turned out great. I will probably create some widgets now. :D
MeowOS Devlog #10 Bug fixes and control center Not much to say about this one. I spent a long time fixing a bunch of bugs and polishing the website. I also added a control center to the top right. I gotta find some creative ideas to add to this hmm…
MeosOS Devlog #11 More bug fixes and also widgets!!! I did some more bug fixing with the dark and light mode as well as window scaling. I think all bugs should be gone now, though I’m not entirely sure I didn’t miss any. Widgets I added three widgets: cat you can click to meow calendar a minimalist round clock That’s all. I hope I can ship this now. (Though I am a bit paranoid of issues I didn’t notice)
MeowOS Devlog #12 Some small stuff Resizable windows! I made most windows resizable. I had to fix a lot of CSS for that, but I’m glad it works now. Also tweaked some minor stuff. (Notice how windows are smaller in the picture)
MeowOS Devlog #13 Themes! I decided do a complete overhaul of the themes. Instead of dark and light mode, there are no five different themes to choose from. I had to refactor almost everything since the code from before was pretty poorly made. Browser URL bar The browser URL bar works now! You can now enter website addresses and they should show up. (Do note that some websites block iframes and may not work). Some sound effects I added a typing and clicking sound effect. You need to enable it in settings. Small tweaks I finally changed the notes delete button. Instead of deleting every page, it now only deletes the current one. Also, the placeholders are actual placeholders now, so they hide themselves when selecting the text and reappear if the text is left empty. The title and date of the notes also get saved now. I found out why the music player playlist wasn’t getting resized along with the window, I was able to fix it with just one line of CSS code. Fixed the stopwatch reset button not changing the play button’s icon if the time was still running.
MeowOS Devlog #14 Added a pink theme This was upon request by someone from slack, they wanted a pink theme so here it is. Changes to the terminal I reworked some commands. I bundled all the app commands into one, so it’s no longer “todo”, but “app todo”. It’s a bit cleaner. Also did this with the themes, but I forgot if I did it this devlog or the last one. Setting for maximizing window There is now an option in the settings to hide the taskbar (the thing on the bottom) when the window is maximized. I really over complicated things while trying to make it work, found out it was just a one single line of code that was needed. This should be all I think
MeowOS Devlog #15 Some small changes before shipping! Made the clicking and typing sound be turned on by default Changed some window width settings Changed terminal commands a bit Fixed the search menu icon size I should be able to ship this now.
Ships:
My very own web-based operating system! It features: Notes App (you can add pages) Stopwatch To-Do List Clock Took me a while to figure out. Javascript was the hardest for me since I’ve only ever coded in Python, but I managed. Hope this gets approved so I can continue working on it (with more stardust :D)
✨ MeowOS! ✨ MeowOS! is a web based operating system built to enhance productivity with a wide range of apps to be used. It is built on HTML, CSS and Javascript. ✨Apps✨: Introduction (a guide to the website) Stopwatch (Keep track of how much time has past) Notes (Write down your thoughts To-do list (write down tasks and procrastinate) Calculator (do math - scary) Music Player (play some music) Gallery (view images) Browser (browser through three webpages) File explorer (create .txt files and folders) Settings (configure stuff like Widgets and more) Terminal (run commands) ✨Other Features✨: Search menu (to search for apps) Control center (controls brightness, volume and connectivity) Cat widget (click to meow) Calendar (view today’s date) Minimalist Clock (read the time) Dark / Light mode (toggle in settings) Loading screen This is my first time creating a website. Doing WebOS 1 really helped me get a grasp of the basics. I was a total beginner at this and yet more than 10 Devlogs later here I am. As you can probably tell by the amount of hours on this project, it wasn’t all sunshine and rainbows. Maximizing and moving windows was the things I struggled most with. It took me way too long to fix the millions of bugs associated with window dragging, maximizing and positioning. The website turned out better than I could have ever imagined and I hope you enjoy using it. I am particularly proud of the dark mode (find in settings), I think it looks amazing. Enough yap, enjoy the website :3 (if the blur effect doesn’t work please skip this project, thank you!)
MeowOS! A web based operating system! Built with HTML, CSS, JavaScript and my sanity. I added a few new features! new themes the browser URL bar now works! yay Added window resizing for most windows. Updated the notes app so the delete button doesn’t remove all pages Added a typing and clicking sound effect (toggle in settings) You can now hide the icon bar when a window is maximized by going into settings. Changed the terminal commands to be more intuitive Fixed a bunch of bugs Also did a bunch of stuff you can’t see to clean up the code, it was pretty messy. (Please read the README as well) Enjoy!...
|
1793054860.8790712
|
1793141260.8790712
|
|
19293
|
GLAP by @GameLord2011 | Stardance
|
GameLord2011
|
2
|
53.0
|
608
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-29T19:56:06Z", "hours": 19.0, "multiplier": 18.61, "payout": 360, "blessing": "neutral", "text": "I added configuration. I learned how serialization and deserialization work. I also learned how to document things. Thanks for everyone that helped with my project. Here’s an example theme to get you started with theming ([PHOTOSENSITIVE EPILEPISY WARNING]; also it doesn’t work on terminal.app because Apple is mean): [ theme ] background = \"#b8d60e\" foreground = \"#ff00ff\" controls = \"#5f4808\" playbar = \"#00fff2\"", "repo": "https://github.com/GameLord2011/GLAP", "demo": "https://github.com/GameLord2011/GLAP/releases/tag/2.0.0"}, {"ship_num": 2, "ts": "2026-08-02T17:09:50Z", "hours": 34.0, "multiplier": 7.33, "payout": 248, "blessing": "neutral", "text": "I basically made a TUI music player app in Rust, in the process learning how structs, ownership, threads, callbacks, and a bunch of other Rust things work. The hardest part was setting up the state handling. I am really proud of how this ended up.", "repo": "https://github.com/GameLord2011/GLAP", "demo": "https://github.com/GameLord2011/GLAP/releases/tag/2.0.0"}]...
|
[{"post_id": 57593, "ts": "202 [{"post_id": 57593, "ts": "2026-08-29T19:51:55Z", "hours": 0.4047, "text": "22 mins of trying and failing to convert it to sdl3. sdl2 forever"}, {"post_id": 57562, "ts": "2026-08-29T18:56:46Z", "hours": 0.8017, "text": "Added some doc comments because I plan to at some point have the audio-handling junk in a seperate crate so you can staple a frontend onto it. Okie now I can do v2.0"}, {"post_id": 56306, "ts": "2026-08-28T01:19:39Z", "hours": 2.8594, "text": "Bump version, and do a boatload of under-the-hood microoptimizations and horribly unreadable code paired with next-to-no docs."}, {"post_id": 54051, "ts": "2026-08-24T20:16:03Z", "hours": 1.1808, "text": "I did some general stability improvments and added error handling for the config (thanks @tkrl for bringing that to light)."}, {"post_id": 53252, "ts": "2026-08-23T18:09:48Z", "hours": 1.3772, "text": "I added a duration counter. It’s in seconds. No I’m not formatting it."}, {"post_id": 51227, "ts": "2026-08-20T19:17:11Z", "hours": 1.0561, "text": "Ran cargo fmt and spent an hour making sure that the playback is gapless and that my unsafe code wasn’t corrupting the memory. Also added a debug launch.json for vscode / vscodium users trying to debug it."}, {"post_id": 50713, "ts": "2026-08-20T01:29:33Z", "hours": 2.0586, "text": "Added settings page and very wisely used unsafe code to squish the sample playing loop, next up we have to address sample parsing since that can take a bit in prod. I will figure it out soon."}, {"post_id": 49982, "ts": "2026-08-19T00:27:51Z", "hours": 1.6133, "text": "Removed the about page that the ratings made apparent that no one read and started to add a settings page. I mean it has nothing at all."}, {"post_id": 48385, "ts": "2026-08-16T18:23:28Z", "hours": 1.2406, "text": "Added a lot to the README.md because it needs better documentation of features, also added file filtering."}, {"post_id": 47834, "ts": "2026-08-16T01:38:16Z", "hours": 0.7469, "text": "Made the controls better and remove a dependency. I also did some other stuff I am too tired to get into."}, {"post_id": 46089, "ts": "2026-08-13T01:40:56Z", "hours": 1.8419, "text": "The configuration update, make your own blindingly bright and eye-watering theme for GLAP today! (I did not put any restrictions on the theme, kinda almost but still might not work in terminal.app)"}, {"post_id": 45507, "ts": "2026-08-12T01:29:22Z", "hours": 2.1228, "text": "commiting now because its time for bed now. I am working on configuration. you know, custom themes, hiding the control bar, and the like. [EDIT]: IT DOESNT ACTUALLY PARSE THEM YET AND ITS BROKEN ANYWAY THIS COMMIT DOES NOT WORK"}, {"post_id": 44128, "ts": "2026-08-09T18:09:35Z", "hours": 2.0411, "text": "Fixes. I ran cargo clippy, added some v2 ideas, and generally cleaned up and optimized the code. Bumped version to v1.1.0 because the cargo overlords demand it, and also changed the controls thingy."}, {"post_id": 39016, "ts": "2026-08-01T17:53:06Z", "hours": 1.4003, "text": "I basically added rewinding and fast-forwarding. I also made the button unfocus with the window. I will ship soon™️"}, {"post_id": 38312, "ts": "2026-07-31T17:07:26Z", "hours": 0.5789, "text": "Probably the last devlog before Ship 1; I removed volume from the player because it just ate up memory and cpu cycles, and ran cargo fmt and cargo clippy for good measure. It’s pretty much done now."}, {"post_id": 37747, "ts": "2026-07-30T17:37:15Z", "hours": 1.4067, "text": "I’m almost done. I programmed in controls and repeating a folder of music (so basically playlists). It just repeats it in the displayed order so keep that in mind."}, {"post_id": 37205, "ts": "2026-07-29T19:03:10Z", "hours": 2.23, "text": "I am working on controls for the UI and them functioning. Making the elements focus right will be a pain. Well at least I’m in the home stretch. Unless of course I choose to split the backend of a crate… Meh I probably won’t do it."}, {"post_id": 36563, "ts": "2026-07-28T19:20:57Z", "hours": 2.0053, "text": "UI!!!!! I can use this kind of it still needs to be able to pause but it can resonably be considered an audio player now! This is so tiring but at least I can say that I’ve made something now."}, {"post_id": 35967, "ts": "2026-07-27T19:11:42Z", "hours": 1.9819, "text": "File explorer, playing thing from music folder, another archetecture redo, and a whole lot more."}, {"post_id": 35401, "ts": "2026-07-26T19:39:47Z", "hours": 0.6528, "text": "Async is actually async now."}, {"post_id": 35325, "ts": "2026-07-26T17:21:21Z", "hours": 1.0361, "text": "It kind of works… you need a file named sans.ogg in you music folder but nontheless it works. I still need a proper ui tho lol."}, {"post_id": 34766, "ts": "2026-07-25T19:07:01Z", "hours": 0.7131, "text": "The UI kind of works now, working on writing the about page. I still need to write the player code and page and what not, I will delegate this to a helper thread."}, {"post_id": 34732, "ts": "2026-07-25T18:04:40Z", "hours": 2.2267, "text": "Devlogging now because an electrical storm is nearby and I need to turn off my pc; basically just started to work on the ui. This one is not going to work so don’t build ."}, {"post_id": 34367, "ts": "2026-07-25T00:43:15Z", "hours": 0.8956, "text": "It plays now. I figure out gow to use the lock helper so I don’t have to screw around with mutexes and ownership and the like and still pause. Yay."}, {"post_id": 34199, "ts": "2026-07-24T18:34:35Z", "hours": 1.8939, "text": "I seperated some stuff into other files and started on the ui stuff with some basic boilerplate. It now doesn’t work again because I need to figure out how to use mutexes."}, {"post_id": 33079, "ts": "2026-07-22T17:40:50Z", "hours": 0.5153, "text": "Some smol optimizations"}, {"post_id": 33037, "ts": "2026-07-22T16:25:05Z", "hours": 0.5217, "text": "Mess around with feature flags and add some stuff to the README."}, {"post_id": 32442, "ts": "2026-07-21T17:12:04Z", "hours": 0.7594, "text": "It functions now. Yaey. Symphonia is complicated. I can now play songs with this. Next up: I struggle with some sort of UI thing to make a UI for it."}, {"post_id": 31883, "ts": "2026-07-20T17:09:26Z", "hours": 1.7542, "text": "Switched to Symphonia because FLAC audio is broken in Creak. At the moment the new implementation doesn’t function…"}, {"post_id": 31440, "ts": "2026-07-19T20:12:31Z", "hours": 0.5278, "text": "Made it play for the length of the song, added some logging, and a page enum."}, {"post_id": 30979, "ts": "2026-07-19T00:13:56Z", "hours": 0.4964, "text": "Rewrite the callback and run cargo fmt."}, {"post_id": 30872, "ts": "2026-07-18T20:31:03Z", "hours": 0.7356, "text": "It almost works, then I will work on a ui-ish thing."}, {"post_id": 30254, "ts": "2026-07-17T17:58:58Z", "hours": 1.135, "text": "Basically started to rewrite the entire project. TL;DR the Midi spec is a horribly built spec by modern standards, so I had the bright idea of make smth new. (I HAD SPECIFIC PERMISSION FROM RUPNIL TO DO THIS PLEASE DONT SLIME ME HERES A LINK TO THE THREAD FOR PROOF: https://hackclub.slack.com/archives/C0APH2MMHH7/p1784221925675859 )"}, {"post_id": 27754, "ts": "2026-07-13T16:16:20Z", "hours": 0.4494, "text": "We playin spot the difference with indices now."}, {"post_id": 26674, "ts": "2026-07-11T16:41:42Z", "hours": 0.7131, "text": "I re-implemented VLQ’s as a struct because midi is meen"}, {"post_id": 24225, "ts": "2026-07-07T17:25:21Z", "hours": 0.7889, "text": "I added some more data types, still cant parse yet tho"}, {"post_id": 21599, "ts": "2026-07-03T17:12:03Z", "hours": 0.4419, "text": "Apparently this is about to get more compicated…"}, {"post_id": 20957, "ts": "2026-07-02T18:08:22Z", "hours": 1.4392, "text": "Added some debug logging to assist with debugging!"}, {"post_id": 18492, "ts": "2026-06-29T17:34:54Z", "hours": 0.9272, "text": "Made some stuff make more sense to the programmer."}, {"post_id": 17757, "ts": "2026-06-28T17:54:57Z", "hours": 0.8472, "text": "I corrected indexing."}, {"post_id": 17056, "ts": "2026-06-27T18:10:41Z", "hours": 1.2067, "text": "More parsing. None of it actually works for now."}, {"post_id": 16388, "ts": "2026-06-26T17:47:00Z", "hours": 1.0394, "text": "I am parsing VLQ’s now!"}, {"post_id": 14500, "ts": "2026-06-23T17:20:18Z", "hours": 0.9022, "text": "I added some parsing for validity testing. The dumb part is that I still can’t parse messages fully because the MIDI standard can’t just use u32’s noooo they have to be soooooo fancy and use variable length quantities that are a headache to parse because they decided to do junk with raw bits for no reason other than to give midi player dev’s headaches and save a whopping 200 bytes in the file I’m working with (the song is straight fire tho). Oh yea I also added an ImHex project file bcs I’m not working with the MIDI docs because those get way to technical."}, {"post_id": 12669, "ts": "2026-06-20T18:12:02Z", "hours": 0.5386, "text": "I rewrote parsing to use structs because structs are cool."}, {"post_id": 10810, "ts": "2026-06-17T18:48:14Z", "hours": 0.5128, "text": "Added some rudimentary parsing. None of it does anything rn but it will at some point."}, {"post_id": 9390, "ts": "2026-06-15T18:51:51Z", "hours": 0.6078, "text": "Initalized project. TODO: Everything."}]...
|
Title: GLAP by @GameLord2011 | Stardance
Devlogs: Title: GLAP by @GameLord2011 | Stardance
Devlogs:
Initalized project. TODO: Everything.
Added some rudimentary parsing. None of it does anything rn but it will at some point.
I rewrote parsing to use structs because structs are cool.
I added some parsing for validity testing. The dumb part is that I still can’t parse messages fully because the MIDI standard can’t just use u32’s noooo they have to be soooooo fancy and use variable length quantities that are a headache to parse because they decided to do junk with raw bits for no reason other than to give midi player dev’s headaches and save a whopping 200 bytes in the file I’m working with (the song is straight fire tho). Oh yea I also added an ImHex project file bcs I’m not working with the MIDI docs because those get way to technical.
I am parsing VLQ’s now!
More parsing. None of it actually works for now.
I corrected indexing.
Made some stuff make more sense to the programmer.
Added some debug logging to assist with debugging!
Apparently this is about to get more compicated…
I added some more data types, still cant parse yet tho
I re-implemented VLQ’s as a struct because midi is meen
We playin spot the difference with indices now.
Basically started to rewrite the entire project. TL;DR the Midi spec is a horribly built spec by modern standards, so I had the bright idea of make smth new. (I HAD SPECIFIC PERMISSION FROM RUPNIL TO DO THIS PLEASE DONT SLIME ME HERES A LINK TO THE THREAD FOR PROOF: https://hackclub.slack.com/archives/C0APH2MMHH7/p1784221925675859 )
It almost works, then I will work on a ui-ish thing.
Rewrite the callback and run cargo fmt.
Made it play for the length of the song, added some logging, and a page enum.
Switched to Symphonia because FLAC audio is broken in Creak. At the moment the new implementation doesn’t function…
It functions now. Yaey. Symphonia is complicated. I can now play songs with this. Next up: I struggle with some sort of UI thing to make a UI for it.
Mess around with feature flags and add some stuff to the README.
Some smol optimizations
I seperated some stuff into other files and started on the ui stuff with some basic boilerplate. It now doesn’t work again because I need to figure out how to use mutexes.
It plays now. I figure out gow to use the lock helper so I don’t have to screw around with mutexes and ownership and the like and still pause. Yay.
Devlogging now because an electrical storm is nearby and I need to turn off my pc; basically just started to work on the ui. This one is not going to work so don’t build .
The UI kind of works now, working on writing the about page. I still need to write the player code and page and what not, I will delegate this to a helper thread.
It kind of works… you need a file named sans.ogg in you music folder but nontheless it works. I still need a proper ui tho lol.
Async is actually async now.
File explorer, playing thing from music folder, another archetecture redo, and a whole lot more.
UI!!!!! I can use this kind of it still needs to be able to pause but it can resonably be considered an audio player now! This is so tiring but at least I can say that I’ve made something now.
I am working on controls for the UI and them functioning. Making the elements focus right will be a pain. Well at least I’m in the home stretch. Unless of course I choose to split the backend of a crate… Meh I probably won’t do it.
I’m almost done. I programmed in controls and repeating a folder of music (so basically playlists). It just repeats it in the displayed order so keep that in mind.
Probably the last devlog before Ship 1; I removed volume from the player because it just ate up memory and cpu cycles, and ran cargo fmt and cargo clippy for good measure. It’s pretty much done now.
I basically added rewinding and fast-forwarding. I also made the button unfocus with the window. I will ship soon™️
Fixes. I ran cargo clippy, added some v2 ideas, and generally cleaned up and optimized the code. Bumped version to v1.1.0 because the cargo overlords demand it, and also changed the controls thingy.
commiting now because its time for bed now. I am working on configuration. you know, custom themes, hiding the control bar, and the like. [EDIT]: IT DOESNT ACTUALLY PARSE THEM YET AND ITS BROKEN ANYWAY THIS COMMIT DOES NOT WORK
The configuration update, make your own blindingly bright and eye-watering theme for GLAP today! (I did not put any restrictions on the theme, kinda almost but still might not work in terminal.app)
Made the controls better and remove a dependency. I also did some other stuff I am too tired to get into.
Added a lot to the README.md because it needs better documentation of features, also added file filtering.
Removed the about page that the ratings made apparent that no one read and started to add a settings page. I mean it has nothing at all.
Added settings page and very wisely used unsafe code to squish the sample playing loop, next up we have to address sample parsing since that can take a bit in prod. I will figure it out soon.
Ran cargo fmt and spent an hour making sure that the playback is gapless and that my unsafe code wasn’t corrupting the memory. Also added a debug launch.json for vscode / vscodium users trying to debug it.
I added a duration counter. It’s in seconds. No I’m not formatting it.
I did some general stability improvments and added error handling for the config (thanks @tkrl for bringing that to light).
Bump version, and do a boatload of under-the-hood microoptimizations and horribly unreadable code paired with next-to-no docs.
Added some doc comments because I plan to at some point have the audio-handling junk in a seperate crate so you can staple a frontend onto it. Okie now I can do v2.0
22 mins of trying and failing to convert it to sdl3. sdl2 forever
Ships:
I basically made a TUI music player app in Rust, in the process learning how structs, ownership, threads, callbacks, and a bunch of other Rust things work. The hardest part was setting up the state handling. I am really proud of how this ended up.
I added configuration. I learned how serialization and deserialization work. I also learned how to document things. Thanks for everyone that helped with my project. Here’s an example theme to get you started with theming ([PHOTOSENSITIVE EPILEPISY WARNING]; also it doesn’t work on terminal.app because Apple is mean): [ theme ] background = "#b8d60e" foreground = "#ff00ff" controls = "#5f4808" playbar = "#00fff2"...
|
1792986819.7954512
|
1793073219.7954512
|
|
25597
|
System_way by @Just | Stardance
|
Just
|
1
|
53.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T04:04:06Z", "hours": 53.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "#System way V1 ##I made a pygame program made to make designing systems such as those in programs easier to make and see. ##The problems it solves: illustrating systems understanding connections Helping explain programs to others ##What were some challenges : Time contrates There were major bugs that seemed impossible to resolve exporting a pygame project to a website for the first time ###But I proud that I persisted and made a prototype of a project that may develop even more. Things to know: The controls are on the github readme", "repo": "https://github.com/justboxedhats/system_way", "demo": "https://justboxedhats.github.io/system_way/"}]...
|
[{"post_id": 72078, "ts": "202 [{"post_id": 72078, "ts": "2026-09-22T03:47:55Z", "hours": 2.535, "text": "Devlog #8 I finally got the web version to work correctly!!! I’m going to go to sleep now. Thank you for you time. And have a nice day!"}, {"post_id": 71413, "ts": "2026-09-20T19:41:15Z", "hours": 10.4003, "text": "#Develog 7 I have started to develop the web version of the program. At another point in time, there should be another executable version that has more features. But i ran out of time so i will be submitting the web version soon ( hopefully ). Developments: fixed a bud with node coalitions a text editing bug that reset a node’s text and more bugs What next? : get the web version running properly set up github sites ship the project Thank you for your time, have a nice day."}, {"post_id": 58459, "ts": "2026-08-30T21:32:55Z", "hours": 7.6028, "text": "Develog #6 Progress: I have gotten the text editing tool to work for the most part but with plenty of bugs and I added to ability to import images and scroll through them (shown in the video bellow). What is next? What I need to work on now is a lot of bug fixing, adding image nodes, adding images to saves, fixing collision pan bug and developing a web version or a exe file to ship the project."}, {"post_id": 52704, "ts": "2026-08-23T00:12:26Z", "hours": 4.7392, "text": "Develop #5 I added the ability to change the fonts and size of the text. Furthermore, the camera can now be panned using a mouse rather than arrow keys! As well I think I may ship the project after adding the ability to modify the text of nodes and importing images into a project. Thank you for your time, Have a Nice day!"}, {"post_id": 44818, "ts": "2026-08-10T20:51:33Z", "hours": 3.705, "text": "Devlog #4 I FINALLY HAVE THE SAVE SYSTEM WORKING !! oh and here is a silly doodle I drew."}, {"post_id": 44212, "ts": "2026-08-09T20:29:18Z", "hours": 8.1317, "text": "Devlog # 3 UPDATED UI/VISUALS AND ADDED CONNECTION TOOLS. To start, a version of the project code can now be found at the projects github page and I wasn’t able to finish the project in the timeline that I set out for myself(8/3 - 8/8) because of how long programing takes. Now what I need to work on : - adding a system for typing text - fixing the file system - adding the system for images - having the nodes(The squares with text and connections) resize . That’s all, thank you for your time and have a nice day."}, {"post_id": 43141, "ts": "2026-08-08T07:38:33Z", "hours": 6.9506, "text": "dev log #2 ( technically the third) HUGE BACKEND DEVELOPMENTS! I had developed a solution to gain greater control over squares(that are objects) and removed a huge inefficiency problem where several objects were made every frame (fun fact: This issue creates THOUSANDS of objects VERY fast.). And all it took was 6 hours… just 6… Anyways, what I intend to work on now is to add tools for the user( such as adding a connection between text) and fixing importing and saving systems. Thank you for you time, have a nice day."}, {"post_id": 41803, "ts": "2026-08-06T07:19:35Z", "hours": 6.81, "text": "Develog 1 (YAY): Made early UI elements and started work on developing project save files #Developments : -added lines - added squares -added buttons - added multiple states -added lines #Challenges - not sure how to make squares draggable - taking far too long to place squares by adjusting values - generating way too many objects #Future Development -figuring out how to use python pickle in order to make, save and export files - improving squares class to be more efficient and controllable. Thank you for your time; Have a nice day."}, {"post_id": 39927, "ts": "2026-08-03T07:39:14Z", "hours": 2.1061, "text": "#YAY I made a document!# I wrote a short 2 page overview of a program that is intended to help design systems."}]...
|
Title: System_way by @Just | Stardance
Devlogs:
# Title: System_way by @Just | Stardance
Devlogs:
#YAY I made a document!# I wrote a short 2 page overview of a program that is intended to help design systems.
Develog 1 (YAY): Made early UI elements and started work on developing project save files #Developments : -added lines - added squares -added buttons - added multiple states -added lines #Challenges - not sure how to make squares draggable - taking far too long to place squares by adjusting values - generating way too many objects #Future Development -figuring out how to use python pickle in order to make, save and export files - improving squares class to be more efficient and controllable. Thank you for your time; Have a nice day.
dev log #2 ( technically the third) HUGE BACKEND DEVELOPMENTS! I had developed a solution to gain greater control over squares(that are objects) and removed a huge inefficiency problem where several objects were made every frame (fun fact: This issue creates THOUSANDS of objects VERY fast.). And all it took was 6 hours… just 6… Anyways, what I intend to work on now is to add tools for the user( such as adding a connection between text) and fixing importing and saving systems. Thank you for you time, have a nice day.
Devlog # 3 UPDATED UI/VISUALS AND ADDED CONNECTION TOOLS. To start, a version of the project code can now be found at the projects github page and I wasn’t able to finish the project in the timeline that I set out for myself(8/3 - 8/8) because of how long programing takes. Now what I need to work on : - adding a system for typing text - fixing the file system - adding the system for images - having the nodes(The squares with text and connections) resize . That’s all, thank you for your time and have a nice day.
Devlog #4 I FINALLY HAVE THE SAVE SYSTEM WORKING !! oh and here is a silly doodle I drew.
Develop #5 I added the ability to change the fonts and size of the text. Furthermore, the camera can now be panned using a mouse rather than arrow keys! As well I think I may ship the project after adding the ability to modify the text of nodes and importing images into a project. Thank you for your time, Have a Nice day!
Develog #6 Progress: I have gotten the text editing tool to work for the most part but with plenty of bugs and I added to ability to import images and scroll through them (shown in the video bellow). What is next? What I need to work on now is a lot of bug fixing, adding image nodes, adding images to saves, fixing collision pan bug and developing a web version or a exe file to ship the project.
#Develog 7 I have started to develop the web version of the program. At another point in time, there should be another executable version that has more features. But i ran out of time so i will be submitting the web version soon ( hopefully ). Developments: fixed a bud with node coalitions a text editing bug that reset a node’s text and more bugs What next? : get the web version running properly set up github sites ship the project Thank you for your time, have a nice day.
Devlog #8 I finally got the web version to work correctly!!! I’m going to go to sleep now. Thank you for you time. And have a nice day!
Ships:
#System way V1 ##I made a pygame program made to make designing systems such as those in programs easier to make and see. ##The problems it solves: illustrating systems understanding connections Helping explain programs to others ##What were some challenges : Time contrates There were major bugs that seemed impossible to resolve exporting a pygame project to a website for the first time ###But I proud that I persisted and made a prototype of a project that may develop even more. Things to know: The controls are on the github readme...
|
1793008223.5410736
|
1793094623.5410736
|
|
29361
|
ddos tool by @ascpixi | Stardance
|
ascpixi
|
1
|
53.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T20:13:32Z", "hours": 53.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I ermmm submitted this to test if the ship flow in stardance works :-)", "repo": "https://github.com/ascpixi/claudec", "demo": "https://vercel.com"}]...
|
[{"post_id": 65012, "ts": "202 [{"post_id": 65012, "ts": "2026-09-09T20:08:33Z", "hours": 52.7667, "text": "This is a test devlog. It is a really good devlog. I am a big fan of logging my dev"}]...
|
Title: ddos tool by @ascpixi | Stardance
Devlogs: Title: ddos tool by @ascpixi | Stardance
Devlogs:
This is a test devlog. It is a really good devlog. I am a big fan of logging my dev
Ships:
I ermmm submitted this to test if the ship flow in stardance works :-)...
|
1793004793.4917371
|
1793091193.4917371
|
|
30140
|
WacOS by @_jacy | Stardance
|
_jacy
|
0
|
53.0
|
0
|
[]
|
[{"post_id": 28735, "ts": "202 [{"post_id": 28735, "ts": "2026-07-15T05:31:40Z", "hours": 3.0, "text": "Continuation of WEBOS1. I added some productivity apps such as notes to-do list and I got some music(which is kind of weird) from SoundHelix just for fun because music is pretty cool. I wasn’t really sure how to incorporate music because then I would need files and it would be complicated and weird so I just got 3 different looped songs. Next post I want to make everything look a lot better, modern and stuff and maybe add some more apps"}, {"post_id": 28986, "ts": "2026-07-15T16:49:51Z", "hours": 9.0, "text": "Ive been working on making everything look more like macOS. I added a top bar and the time which basically copies it. Still the same apps, and im trying to make the background look really cool. Im just watching different tutorials and following to make this interesting color but I think I might just try to upload my own images to the background."}, {"post_id": 29118, "ts": "2026-07-15T19:40:48Z", "hours": 2.0, "text": "I’m working on adding macOS widgets to wacos for better productivity because the whole point of this is for efficiency and productivity. I’m trying to copy the image down below but right now it looks very bad and blocky"}, {"post_id": 29147, "ts": "2026-07-15T20:43:30Z", "hours": 0.0, "text": "This is what I got so far for the widgets on the side. It’s a copy of what I actually have. One on the right is the WEBOS and one on the left is my actual Mac"}, {"post_id": 29794, "ts": "2026-07-16T22:19:15Z", "hours": 2.0, "text": "I added an option to add a new wallpaper to the os. the default is just my pc then now you can actually customize and it should save…I think"}, {"post_id": 29830, "ts": "2026-07-16T23:32:16Z", "hours": 1.0, "text": "Instead of having just a timer I added a Pomodoro timer which should help a lot with productivity and working because thats the whole point of this OS"}, {"post_id": 29851, "ts": "2026-07-17T00:19:07Z", "hours": 0.0, "text": "I added a loading screen to my Wac OS so that I dont have to always click on the folder before actually entering the OS. It makes it feel a lot more premium and just better overall. Now im going to work on different apps in the webos"}, {"post_id": 29909, "ts": "2026-07-17T02:37:38Z", "hours": 2.0, "text": "Ok…I added this stupid song thing because I wanted to get some songs to listen to in this os but I didn’t really know how to get songs into my OS. Maybe I could download music and put it in but it would be a bit weird and need files and not be updated so I just used music from soundhelix. its just looped and its just a API so I don’t actually need to download anything and its faily easy to use."}, {"post_id": 29929, "ts": "2026-07-17T03:15:27Z", "hours": 0.0, "text": "Added lap time and ms because it makes it to much better. Before the no ms was so dead, the stopwatch felt weird and off. Lap time is just a lot better and also I added colors!"}, {"post_id": 29951, "ts": "2026-07-17T04:26:20Z", "hours": 1.0, "text": "I realized that this watchlist is completely wrong. I think I ran out of api tokens and now it’s just feeding bad information. Not completely sure what happened, but now im going to work on fixing it. I have a different project, a stock viewer and it used trading view so I think that I will use that to get interactive graphs and actually good stuff. Im going to directly integrate my other project into this and make it a lot better"}, {"post_id": 29970, "ts": "2026-07-17T05:52:23Z", "hours": 1.0, "text": "Right now only notes and tasks actually does something now. Im not really sure what to do with the others. Maybe add a file explorer/finder to my OS? im not sure why though what will the purpose be and how would I actually make it work. maybe…"}, {"post_id": 31625, "ts": "2026-07-20T05:38:06Z", "hours": 9.0, "text": "Few changes made to the code and UI. 1. I merged the js and CSS into one HTML file by using a and block. Then, I integrated my stock viewer project into this webOS as an app and a widget."}, {"post_id": 31852, "ts": "2026-07-20T15:53:19Z", "hours": 8.0, "text": "Devlog update. I have added 3 new features to the existing webOS. 1. I added a macOS style bottom bar its 1 click to open. 2. I added a widget controler. So when I click on for example clock, the clock widget disappears. Then finally, I added a dark and light mode toggle on the top right of the screen next to the time."}, {"post_id": 32094, "ts": "2026-07-21T00:49:58Z", "hours": 2.0, "text": "Modified the stocks widget to have live trading view information"}, {"post_id": 32174, "ts": "2026-07-21T05:00:38Z", "hours": 4.0, "text": "New update. I modified the stock viewer because before it was a bit glitchy and was overflowing off the screen. Now it fits perfectly fine. One thing though, when I put my new version of the stock viewer it gets the exact same problem so im going to have to look into that and solve it"}, {"post_id": 32185, "ts": "2026-07-21T05:43:57Z", "hours": 0.0, "text": "Added smooth opening and closing app animation"}, {"post_id": 32624, "ts": "2026-07-21T22:14:14Z", "hours": 5.0, "text": "I added a random engine cpu load and fixed some of the bugs because before the apps were not opening when I clicked them and the webos kept on reloading because of “high memory use” I think its solved now the problem isnt happening anymore"}, {"post_id": 33066, "ts": "2026-07-22T17:14:04Z", "hours": 4.0, "text": "Wacos widget controler haș a problem. I also added a notes app called quick notes."}]...
|
Title: WacOS by @_jacy | Stardance
Devlogs:
Conti Title: WacOS by @_jacy | Stardance
Devlogs:
Continuation of WEBOS1. I added some productivity apps such as notes to-do list and I got some music(which is kind of weird) from SoundHelix just for fun because music is pretty cool. I wasn’t really sure how to incorporate music because then I would need files and it would be complicated and weird so I just got 3 different looped songs. Next post I want to make everything look a lot better, modern and stuff and maybe add some more apps
Ive been working on making everything look more like macOS. I added a top bar and the time which basically copies it. Still the same apps, and im trying to make the background look really cool. Im just watching different tutorials and following to make this interesting color but I think I might just try to upload my own images to the background.
I’m working on adding macOS widgets to wacos for better productivity because the whole point of this is for efficiency and productivity. I’m trying to copy the image down below but right now it looks very bad and blocky
This is what I got so far for the widgets on the side. It’s a copy of what I actually have. One on the right is the WEBOS and one on the left is my actual Mac
I added an option to add a new wallpaper to the os. the default is just my pc then now you can actually customize and it should save…I think
Instead of having just a timer I added a Pomodoro timer which should help a lot with productivity and working because thats the whole point of this OS
I added a loading screen to my Wac OS so that I dont have to always click on the folder before actually entering the OS. It makes it feel a lot more premium and just better overall. Now im going to work on different apps in the webos
Ok…I added this stupid song thing because I wanted to get some songs to listen to in this os but I didn’t really know how to get songs into my OS. Maybe I could download music and put it in but it would be a bit weird and need files and not be updated so I just used music from soundhelix. its just looped and its just a API so I don’t actually need to download anything and its faily easy to use.
Added lap time and ms because it makes it to much better. Before the no ms was so dead, the stopwatch felt weird and off. Lap time is just a lot better and also I added colors!
I realized that this watchlist is completely wrong. I think I ran out of api tokens and now it’s just feeding bad information. Not completely sure what happened, but now im going to work on fixing it. I have a different project, a stock viewer and it used trading view so I think that I will use that to get interactive graphs and actually good stuff. Im going to directly integrate my other project into this and make it a lot better
Right now only notes and tasks actually does something now. Im not really sure what to do with the others. Maybe add a file explorer/finder to my OS? im not sure why though what will the purpose be and how would I actually make it work. maybe…
Few changes made to the code and UI. 1. I merged the js and CSS into one HTML file by using a and block. Then, I integrated my stock viewer project into this webOS as an app and a widget.
Devlog update. I have added 3 new features to the existing webOS. 1. I added a macOS style bottom bar its 1 click to open. 2. I added a widget controler. So when I click on for example clock, the clock widget disappears. Then finally, I added a dark and light mode toggle on the top right of the screen next to the time.
Modified the stocks widget to have live trading view information
New update. I modified the stock viewer because before it was a bit glitchy and was overflowing off the screen. Now it fits perfectly fine. One thing though, when I put my new version of the stock viewer it gets the exact same problem so im going to have to look into that and solve it
Added smooth opening and closing app animation
I added a random engine cpu load and fixed some of the bugs because before the apps were not opening when I clicked them and the webos kept on reloading because of “high memory use” I think its solved now the problem isnt happening anymore
Wacos widget controler haș a problem. I also added a notes app called quick notes....
|
1792950760.6067781
|
1793814760.6067781
|
|
33733
|
Soulsyche by @andwoo | Stardance
|
andwoo
|
1
|
53.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T16:24:47Z", "hours": 53.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Soulsyche About A dungeon crawler bullet hell, where you have to clear all rooms of the dungeon in order to beat the game. ( Also, when the second bar appears when level 3 is reached, that is your ability bar. Pressing RMB while temporarily grant you your ability [ invincibility ], then the cooldown begins again. Features Procedurally generated dungeon rooms Multiple enemy types ( sniper, pistol, shotgun, assault rifle ) Different weapons with unique stats Soul ability system Enemy spawning and room clearing Chests with random loot Random loot drops Door and door connection system Controls WASD - Movement Mouse - Aiming Left Mouse Button - Shoot Right Mouse Button - Ability R - Reload Dash - Space Interact ( Open Chest ) - E Overview This game is heavily reliant on composition over inheritance, where several components and modules work together to make certain behaviours. Examples of these systems are: Player movement and combat Weapon management UI Room Generation Enemy spawning Health and damage Soul system Loot and item spawning Credits Developed by andwoo ( Andrew ) for Stardance 2026. Used ChatGPT for helping to plan out and design systems Future improvements Art and SFX More souls A boss fight", "repo": "https://github.com/xPuv/Soulsyche", "demo": "https://xpuv.itch.io/soulsyche"}]...
|
[{"post_id": 74537, "ts": "202 [{"post_id": 74537, "ts": "2026-09-27T16:21:27Z", "hours": 5.8858, "text": "Final commit added more enemies cleaned stuff up, making it playable"}, {"post_id": 63170, "ts": "2026-09-06T20:26:06Z", "hours": 5.4714, "text": "devlog 4 custom room generation algorithm random rooms"}, {"post_id": 52213, "ts": "2026-08-22T09:45:21Z", "hours": 12.0461, "text": "devlog 3 added souls ( buffs, u can ffind in runs) added ui began working on randomly generated rooms added doors that lock and unlock after beating the room"}, {"post_id": 46341, "ts": "2026-08-13T14:25:57Z", "hours": 10.1642, "text": "devlog 2 added enemies that can shoot chests with rng hit shader keys to unlock chests"}, {"post_id": 35708, "ts": "2026-07-27T09:50:33Z", "hours": 10.1531, "text": "devlog 1 added a shotgun ( the dawg ) added weapon switching added UI began working on enemy AI with patrol, chase and investigate behaviour being implemented added damaging enemies"}, {"post_id": 33996, "ts": "2026-07-24T12:00:14Z", "hours": 9.6122, "text": "DEVLOG 0 hello! recently i’ve been working on the my own roguelike, Soulsyche, which is going to be a top down shooter. In the time on the devlog, I’ve spent time implementing a modular gun system and basic player movement. Below is a list stating all the changes alongside a video of what I’ve done. ( also, if anyone has any advivce/can help with the bugfix of the weird jittering, would really be grateful! feel free to comment below ) added shooting added reloading added movement sprite polishes ( gun faces direction of mouse cursor ) adding dashing added vfx to dash"}]...
|
Title: Soulsyche by @andwoo | Stardance
Devlogs:
Title: Soulsyche by @andwoo | Stardance
Devlogs:
DEVLOG 0 hello! recently i’ve been working on the my own roguelike, Soulsyche, which is going to be a top down shooter. In the time on the devlog, I’ve spent time implementing a modular gun system and basic player movement. Below is a list stating all the changes alongside a video of what I’ve done. ( also, if anyone has any advivce/can help with the bugfix of the weird jittering, would really be grateful! feel free to comment below ) added shooting added reloading added movement sprite polishes ( gun faces direction of mouse cursor ) adding dashing added vfx to dash
devlog 1 added a shotgun ( the dawg ) added weapon switching added UI began working on enemy AI with patrol, chase and investigate behaviour being implemented added damaging enemies
devlog 2 added enemies that can shoot chests with rng hit shader keys to unlock chests
devlog 3 added souls ( buffs, u can ffind in runs) added ui began working on randomly generated rooms added doors that lock and unlock after beating the room
devlog 4 custom room generation algorithm random rooms
Final commit added more enemies cleaned stuff up, making it playable
Ships:
Soulsyche About A dungeon crawler bullet hell, where you have to clear all rooms of the dungeon in order to beat the game. ( Also, when the second bar appears when level 3 is reached, that is your ability bar. Pressing RMB while temporarily grant you your ability [ invincibility ], then the cooldown begins again. Features Procedurally generated dungeon rooms Multiple enemy types ( sniper, pistol, shotgun, assault rifle ) Different weapons with unique stats Soul ability system Enemy spawning and room clearing Chests with random loot Random loot drops Door and door connection system Controls WASD - Movement Mouse - Aiming Left Mouse Button - Shoot Right Mouse Button - Ability R - Reload Dash - Space Interact ( Open Chest ) - E Overview This game is heavily reliant on composition over inheritance, where several components and modules work together to make certain behaviours. Examples of these systems are: Player movement and combat Weapon management UI Room Generation Enemy spawning Health and damage Soul system Loot and item spawning Credits Developed by andwoo ( Andrew ) for Stardance 2026. Used ChatGPT for helping to plan out and design systems Future improvements Art and SFX More souls A boss fight...
|
1793008089.4777958
|
1793094489.4777958
|
|
41331
|
Gaming Skill Trainer by @EthanCubes | Stardance
|
EthanCubes
|
1
|
53.0
|
774
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T14:52:13Z", "hours": 53.0, "multiplier": 14.68, "payout": 774, "blessing": "neutral", "text": "I made a web app with various trainers, tests, and resources to improve your gaming skills. The most challenging thing was probably making the focus and typing tests, since they involve a lot of dom manipulation. All the tests were pretty fun to make though, and I’m pretty proud of the typing trainer especially.", "repo": "https://github.com/EthanCubes/gaming-skill-trainer", "demo": "https://ethancubes.github.io/gaming-skill-trainer/"}]...
|
[{"post_id": 43008, "ts": "202 [{"post_id": 43008, "ts": "2026-08-08T01:16:11Z", "hours": 2.6844, "text": "Devlog #12: Yet more QoL changes. I think the project is close to or already ready for shipping, but I’m so paranoid about whether it is good enough or not that I’ve been delaying it for a LONG time. This time, I first centralized all the text on the resources and help pages, and also cleaned up the styles.css file a bit. And by a bit, I mean a lot, since that thing was a literal like dumpster fire. Still kinda is, but it’s better than it used to be. In an attempt to improve the user experience, I also added a link to the help page on every single page (except for the resources page). The question mark design probably could’ve been made in HTML and CSS with relatively low effort, but I decided to make the icon in krita anyway. This will either be the last devlog before I ship, or I will delay shipping for another like week or something idk."}, {"post_id": 42429, "ts": "2026-08-07T03:48:25Z", "hours": 4.0817, "text": "Devlog #11: I made a lot of QoL changes like removing some console logs, adding more words to the word bank, and cleaning up the UI (hopefully). I also added a help page (I had to type all of that myself), which is why it took me four hours. It’s not even that good of a page, I just had to type a lot of stuff manually. So much for fast typing speed."}, {"post_id": 42138, "ts": "2026-08-06T18:48:32Z", "hours": 6.5356, "text": "Devlog #10: I added a typing trainer, and it was actually pretty fun to implement. I mean, apart waking up and trying to figure out what the hell the code I wrote last night means. Initially I was going to make like a “tape” structure, when the words scroll across the cursor. Because I centered the entire thing, it automatically made the cursor scroll across the test instead. I decided that it was good enough. Essentially, I made the the program by making a paragraph element. I changed it with innerHTML to contain the letters that’s already been typed, a blue cursor, and the letters that are yet to be typed. The letters (words actually) are generated from a text document that the JavaScript reads. And like when you press the correct key, the letter moves from the untyped side to the typed side. (Speaking of typing, I’m so used to using Vim that I keep pressing hjkl, i and o on everything.) (IDK why I’m typing so slow in the video, I usually type at around 90-100wpm)"}, {"post_id": 41496, "ts": "2026-08-05T18:56:17Z", "hours": 4.2381, "text": "Devlog #9: I made a bunch of QoL changes to make the site closer to shipping. First, I added a resources page so that people without skills can learn skills. Then, I added the ability to use buttons to select the keys in focus mode, to help mobile and touchscreen users. I also removed the background turning grey in the timing trainer and timer. I also changed the timer location in the Alt Spam and CPS Trainers for parity."}, {"post_id": 41029, "ts": "2026-08-04T23:09:19Z", "hours": 2.7897, "text": "Devlog #8: I finally made the keys move. I feel like I didn’t give enough context on the last devlog. So the “focus mode” I added is a web page where you have to follow one of 8 keys as they shuffle around and stuff. This is based on the ending of Mindcap’s Geometry Dash extreme demon megacollaboration LIMBO . I’ve had the idea of recreating it for like a month now, and I finally did it. So I was writing an entire function with like linear algebra and stuff, and I was fully committed for like an hour and got it somewhat done. Except that it didn’t work. So I asked deepseek because I had no idea what to do and I discovered that I can use CSS to do the same thing for like 20 times easier. I didn’t even know that CSS could make stuff move but whatever. (enjoy the showcase.) I also added a system to use keys 1-8 to pick the keys at the end, and if you get it wrong, uh… try it and find out."}, {"post_id": 40521, "ts": "2026-08-04T03:21:21Z", "hours": 5.75, "text": "Devlog #7: I added a focus mode for the gaming skill trainer. Essentially, I had to write code for starting the program, moving the keys around, and selecting a key at the end (still a work in progress). Since this is based on the Geometry Dash level LIMBO, the “keys” aren’t actually supposed to be colored when they’re moving, but I had to have an indicator that they’re actually moving before I add the animations."}, {"post_id": 39822, "ts": "2026-08-03T02:11:45Z", "hours": 5.2922, "text": "Devlog #6: I use Linux, and the Linux distro I use (Arch btw) doesn’t come with a timer. So I guess I was just needing an excuse to make a timer. It does qualify as something a gamer might want, and also the timer tries to help your eyesight, and a somewhat functional eyesight is definitely beneficial to gaming. And like also about everything else. This was somehow actually harder than I thought. I expected to it to take me like maybe an hour, but it took like 4. (The other 1 came from making improvements to the timing trainer). The timer is 20 minutes (because of the 20-20-20 rule), and can be paused, restarted, and resumed."}, {"post_id": 39201, "ts": "2026-08-02T00:08:17Z", "hours": 4.3767, "text": "Devlog #5: So turns out that I was correct and I did not get the timing trainer done in two hours (as you can see, it took me 4). The program works now. I completely rewrote the program’s code, which probably isn’t the best way to deal with code that absolutely sucks but whatever. Essentially, when the program starts, a circle moves across the screen repeatedly. Every time the circle moves across the screen, you have to hit it just as it crosses the line in the middle of the screen. I was testing the proram with my trackpad, and since it’s like delayed by A LOT, I had to click like a full 100 milliseconds before the circle reaches the line in order to be accurate. That’s why I added ability to use keyboard also. I mean, that’s probably not the entire reason, but yeah. I also wrote 3 entire functions to get accuracy, remove any suffixes to numbers, and get the dimensions of the screen. They were actually pretty fun to make. I might consider creating like a library or something in the future to make people’s lives easier."}, {"post_id": 38544, "ts": "2026-08-01T00:35:56Z", "hours": 8.2039, "text": "Devlog #4 I tried to add 2 features. They’re not done, but the message telling me that I need to post a devlog soon is giving me anxiety. The two features I tried to add are a focus trainer and a timing trainer. The focus trainer involves 8 rotating “keys” inspired by the Geometry Dash level LIMBO’s ending. You have to follow a key that’s randomly selected in the beginning as it moves and shuffles around. At the end, you have to identify the correct key. Right now, the keys are there and can be rotated and positioned, just not like actually moved. The timing trainer involves clicking the mouse as soon as a circle touches a white line, and giving you points depending on how close you are to perfection. The circle is there, but it doesn’t move yet. The problem is that I lowkey will not get the two things done within 2 hours, so yeah."}, {"post_id": 37380, "ts": "2026-07-30T01:44:33Z", "hours": 2.2336, "text": "Devlog #3: I added a trainer for alt spam and spamming with keyboard. For those who don’t know, in Geometry Dash, alt spam is when you click with two separate fingers on two separate hands usually, so that you can get twice the FPS. And in osu! it’s like when you click with 2 fingers to click faster I think I don’t really know that much about osu!. I did spent some time trying to implement a typing speed test, but eventually just gave up and scrapped the idea altogether."}, {"post_id": 37168, "ts": "2026-07-29T17:52:09Z", "hours": 1.1253, "text": "Devlog #2: I added a reaction time test. Note that the home page already existed previously, I just added the button that links to the reaction time page. I don’t think the UI looks that good yet, I’m probably going to improve it if I can find a way to improve it."}, {"post_id": 36811, "ts": "2026-07-29T03:12:40Z", "hours": 5.4522, "text": "Devlog #1: I lowkey kinda suck at video games, so I made a skill trainer to get better. I can’t click fast enough, my aim sucks, and my reaction time is higher than… what I would like it to be (can’t thing of something good, sorry). CPS Test I can’t click that fast. There’s Hypixel bedwars sweats that can click at 30 CPS with one finger, and I can only click at 11CPS with two. I guess I could go on a testing website, but they have ads and I really needed to make something for Stardance. Aim Trainer My aim sucks. How did I come to this conclusion? Well, it took me 10 seconds to click a randomly teleporting circle 16 times. I mean I don’t think it’s that slow, but I can definitely be faster. I’ll add more features later, but so far it’s only these two. bro my mouse broke and i can’t even scroll lol"}]...
|
Title: Gaming Skill Trainer by @EthanCubes | Stard Title: Gaming Skill Trainer by @EthanCubes | Stardance
Devlogs:
Devlog #1: I lowkey kinda suck at video games, so I made a skill trainer to get better. I can’t click fast enough, my aim sucks, and my reaction time is higher than… what I would like it to be (can’t thing of something good, sorry). CPS Test I can’t click that fast. There’s Hypixel bedwars sweats that can click at 30 CPS with one finger, and I can only click at 11CPS with two. I guess I could go on a testing website, but they have ads and I really needed to make something for Stardance. Aim Trainer My aim sucks. How did I come to this conclusion? Well, it took me 10 seconds to click a randomly teleporting circle 16 times. I mean I don’t think it’s that slow, but I can definitely be faster. I’ll add more features later, but so far it’s only these two. bro my mouse broke and i can’t even scroll lol
Devlog #2: I added a reaction time test. Note that the home page already existed previously, I just added the button that links to the reaction time page. I don’t think the UI looks that good yet, I’m probably going to improve it if I can find a way to improve it.
Devlog #3: I added a trainer for alt spam and spamming with keyboard. For those who don’t know, in Geometry Dash, alt spam is when you click with two separate fingers on two separate hands usually, so that you can get twice the FPS. And in osu! it’s like when you click with 2 fingers to click faster I think I don’t really know that much about osu!. I did spent some time trying to implement a typing speed test, but eventually just gave up and scrapped the idea altogether.
Devlog #4 I tried to add 2 features. They’re not done, but the message telling me that I need to post a devlog soon is giving me anxiety. The two features I tried to add are a focus trainer and a timing trainer. The focus trainer involves 8 rotating “keys” inspired by the Geometry Dash level LIMBO’s ending. You have to follow a key that’s randomly selected in the beginning as it moves and shuffles around. At the end, you have to identify the correct key. Right now, the keys are there and can be rotated and positioned, just not like actually moved. The timing trainer involves clicking the mouse as soon as a circle touches a white line, and giving you points depending on how close you are to perfection. The circle is there, but it doesn’t move yet. The problem is that I lowkey will not get the two things done within 2 hours, so yeah.
Devlog #5: So turns out that I was correct and I did not get the timing trainer done in two hours (as you can see, it took me 4). The program works now. I completely rewrote the program’s code, which probably isn’t the best way to deal with code that absolutely sucks but whatever. Essentially, when the program starts, a circle moves across the screen repeatedly. Every time the circle moves across the screen, you have to hit it just as it crosses the line in the middle of the screen. I was testing the proram with my trackpad, and since it’s like delayed by A LOT, I had to click like a full 100 milliseconds before the circle reaches the line in order to be accurate. That’s why I added ability to use keyboard also. I mean, that’s probably not the entire reason, but yeah. I also wrote 3 entire functions to get accuracy, remove any suffixes to numbers, and get the dimensions of the screen. They were actually pretty fun to make. I might consider creating like a library or something in the future to make people’s lives easier.
Devlog #6: I use Linux, and the Linux distro I use (Arch btw) doesn’t come with a timer. So I guess I was just needing an excuse to make a timer. It does qualify as something a gamer might want, and also the timer tries to help your eyesight, and a somewhat functional eyesight is definitely beneficial to gaming. And like also about everything else. This was somehow actually harder than I thought. I expected to it to take me like maybe an hour, but it took like 4. (The other 1 came from making improvements to the timing trainer). The timer is 20 minutes (because of the 20-20-20 rule), and can be paused, restarted, and resumed.
Devlog #7: I added a focus mode for the gaming skill trainer. Essentially, I had to write code for starting the program, moving the keys around, and selecting a key at the end (still a work in progress). Since this is based on the Geometry Dash level LIMBO, the “keys” aren’t actually supposed to be colored when they’re moving, but I had to have an indicator that they’re actually moving before I add the animations.
Devlog #8: I finally made the keys move. I feel like I didn’t give enough context on the last devlog. So the “focus mode” I added is a web page where you have to follow one of 8 keys as they shuffle around and stuff. This is based on the ending of Mindcap’s Geometry Dash extreme demon megacollaboration LIMBO . I’ve had the idea of recreating it for like a month now, and I finally did it. So I was writing an entire function with like linear algebra and stuff, and I was fully committed for like an hour and got it somewhat done. Except that it didn’t work. So I asked deepseek because I had no idea what to do and I discovered that I can use CSS to do the same thing for like 20 times easier. I didn’t even know that CSS could make stuff move but whatever. (enjoy the showcase.) I also added a system to use keys 1-8 to pick the keys at the end, and if you get it wrong, uh… try it and find out.
Devlog #9: I made a bunch of QoL changes to make the site closer to shipping. First, I added a resources page so that people without skills can learn skills. Then, I added the ability to use buttons to select the keys in focus mode, to help mobile and touchscreen users. I also removed the background turning grey in the timing trainer and timer. I also changed the timer location in the Alt Spam and CPS Trainers for parity.
Devlog #10: I added a typing trainer, and it was actually pretty fun to implement. I mean, apart waking up and trying to figure out what the hell the code I wrote last night means. Initially I was going to make like a “tape” structure, when the words scroll across the cursor. Because I centered the entire thing, it automatically made the cursor scroll across the test instead. I decided that it was good enough. Essentially, I made the the program by making a paragraph element. I changed it with innerHTML to contain the letters that’s already been typed, a blue cursor, and the letters that are yet to be typed. The letters (words actually) are generated from a text document that the JavaScript reads. And like when you press the correct key, the letter moves from the untyped side to the typed side. (Speaking of typing, I’m so used to using Vim that I keep pressing hjkl, i and o on everything.) (IDK why I’m typing so slow in the video, I usually type at around 90-100wpm)
Devlog #11: I made a lot of QoL changes like removing some console logs, adding more words to the word bank, and cleaning up the UI (hopefully). I also added a help page (I had to type all of that myself), which is why it took me four hours. It’s not even that good of a page, I just had to type a lot of stuff manually. So much for fast typing speed.
Devlog #12: Yet more QoL changes. I think the project is close to or already ready for shipping, but I’m so paranoid about whether it is good enough or not that I’ve been delaying it for a LONG time. This time, I first centralized all the text on the resources and help pages, and also cleaned up the styles.css file a bit. And by a bit, I mean a lot, since that thing was a literal like dumpster fire. Still kinda is, but it’s better than it used to be. In an attempt to improve the user experience, I also added a link to the help page on every single page (except for the resources page). The question mark design probably could’ve been made in HTML and CSS with relatively low effort, but I decided to make the icon in krita anyway. This will either be the last devlog before I ship, or I will delay shipping for another like week or something idk.
Ships:
I made a web app with various trainers, tests, and resources to improve your gaming skills. The most challenging thing was probably making the focus and typing tests, since they involve a lot of dom manipulation. All the tests were pretty fun to make though, and I’m pretty proud of the typing trainer especially....
|
1792986960.912509
|
1793073360.912509
|
|
41770
|
MacIdeas by @tonymac129 | Stardance
|
tonymac129
|
1
|
53.0
|
825
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T05:11:51Z", "hours": 53.0, "multiplier": 15.61, "payout": 825, "blessing": "neutral", "text": "MacIdeas is a fullstack online platform for managing, organizing, and keeping track of your work, including tasks, notes, and projects! Now, before you think this is just another generic boring todo list app and give me a 1 star in originality…, well, it kind of is a todo app, but with a ton of many different features, customization, and settings, as well as notes with a complete, functional rich text editor, folders for convenient organization, and projects for organizing your different tasks, notes, folders, and everything else into manageable groups that you can easily browse through. You can edit and assign tasks priorities, due/start dates, tags, subtasks, projects, folders, links, completion, star them, and view all the info from the details panel. There are also features like search, sort, filter, tags, views, star, emojis, and other options that make browsing, navigating, and finding items a lot easier and more efficient. To make the website accessible to everyone, MacIdeas has smooth transitions and animations, fully supports both dark and light modes (and your own background images or colors), as well as responsive design for (nearly) all screen sizes, and complete SEO metadata for each page. All you need to do is to sign in with MacWeb, the central platform for my projects’ auth and account info (since MacIdeas is one of its many apps), and you’ll be redirected back and have access to try out all those features! It has everything you would expect from a real task manager and text editor, so hopefully you’ll like my project :)", "repo": "https://github.com/Mac-Web/macideas-next", "demo": "https://macideas.macweb.app"}]...
|
[{"post_id": 71609, "ts": "202 [{"post_id": 71609, "ts": "2026-09-21T04:58:39Z", "hours": 4.6342, "text": "Last devlog: note features and final touches! MacIdeas is finally finished and ready to ship! In this last massive devlog, I added a few new quality of life features, did a ton of general/styling/auth bug fixes, and polished the entire project ! Added note content persistence, meaning you can actually save each note’s content to your account data, including its text, formatting, and everything. Autosave automatically does this every 30 seconds, but you can also manually save with ctrl+s or by pressing the save button Added a few new editor features from Tiptap for typography and general formatting to make note taking more powerful and complete You can now select custom background colors (along with custom backdrop images) to customize the appearance of each task list and note page ! The nav search had been there doing nothing ever since the first devlog , so I finally added a powerful search bar to the nav bar that uses a new API endpoint to search through all the information in all your task lists, tasks, notes, projects, and folders and displays the results as a list of links for convenient browsing and navigation! Added section descriptions and icons for the major features on the homepage Updated styling, content, code, and layout Updated the README with a demo screenshot and updated info about features Fixed a lot of bugs related to general usage, empty user data, styling issues with modals, auth redirect, and many other things I don’t want to remember to improve the overall user experience I took a one week break in this last stretch, so there was probably other stuff I did that I forgot, so hopefully my storytelling isn’t that bad"}, {"post_id": 66657, "ts": "2026-09-12T14:50:05Z", "hours": 3.7656, "text": "Rich text editing for notes! Added a complete, feature-rich, and easy to use rich text editor for creating and editing your notes! This means you can now actually take notes with features like text formatting, links, headings, lists, inline components, and a lot of other features you would expect from tools like Google Docs There is a top tool bar with a ton of options, buttons, and dropdowns organized into different functional sections (I definitely did not just copy GDocs ) to format/edit/modify your current content selection easily Most of the features support keyboard shortcuts (because of Tiptap), which you can see by hovering over the option and reading its tooltip I tried making my own web based rich text editor from scratch before, and it turned out to be a nightmare of dom manipulation and other headaches, so this time I decided to just use the library Tiptap, which itself is based on the library ProseMirror, to handle this pain in the butt Since Tiptap is completely headless, I still spent a lot of time going through its docs, installing useful extensions, learning their commands, and building, testing, and tweaking all the features to make everything work smoothly I don’t know why I’ve been neglecting actually adding notes for so long (before each note was just a blank page saying “Untitled note” that you couldn’t even edit ), but this actually turned out to be super fun to implement and the result was very rewarding Note saving doesn’t actually work yet (despite the fake “Note saved” autosave message ) since there are still some things about the editor to fix, but hopefully that’ll be implemented soon and MacIdeas will be almost ready to ship! The text editor also works with light mode, and I also updated some styling to improve the UI"}, {"post_id": 65705, "ts": "2026-09-11T01:12:55Z", "hours": 2.3211, "text": "Light mode toggle The mode option in the nav user menu now toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, as well as accounting for all most of the display color edge cases, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing I am finally back to developing MacIdeas after taking a one month break, so I spent some time familiarizing myself with the codebase again. Hopefully this time I’ll be able to finish and ship it soon! Updated styling and layout Added and updated some dependencies"}, {"post_id": 45249, "ts": "2026-08-11T16:25:12Z", "hours": 5.2492, "text": "Project page and contents Added a dedicated page for each project that is its own file browser where you can open/interact with the contents, view their information and metadata, and search, filter, and sort through them so you can better manage and view your projects Added an option on the project page that opens a modal displaying all your folders, task lists, tasks, and notes grouped into 4 different tabs. Each item is a checkbox so you can select exactly which items to add to or remove from the project You can also search through each tab’s results and see their names and icons to make finding the right item quick and easy This seemed like a simple feature to implement but getting to cooperate was a nightmare since each item has its own data type, so organizing the data structure for both the frontend and backend required a lot of annoying unions and conditionals There is now a top bar in the project browser with the name, type, modified, and created labels which you can click on to sort the contents accordingly Each item also shows its type and modified & created times, as well as an icon where you can change the item’s emoji directly, making browsing and managing your stuff more convenient You can also edit the project’s name and description directly by clicking on the page title and text Updated styling and layout I procrastinated on this devlog for 2 days and got no work done, so I think this might be a sign for me to take a break from Stardance for a few days since I also need to work on hosting 8-Bit Jam (awesome game jam, if you live near nova plz go register ) and other stuff, so there won’t be new devlogs in a while"}, {"post_id": 43395, "ts": "2026-08-08T16:42:33Z", "hours": 1.8381, "text": "Project browser Added a project browser/file explorer to the project dashboard where you can search, view, and open projects and folders to browse their content ! I decided to build this file explorer instead of just a simple dashboard because I got bored and wanted to make something different, and it would make more sense to do this for projects since they are essentially just folders This file explorer is pretty similar to Google Drive and other cloud storage services, you can double click a project or folder to change directory and view its content (tasks, task lists, notes, other folders), and go back/navigate to other levels with navigation breadcrumbs I thought this would be difficult to implement and would need some kind of breadcrumb library and it turned out to be pretty simple Only projects are styled and can be opened right now, but folders and other stuff will be added in the next update! Added a menu option for adding task/note folders to projects. It opens a modal where you can view and select all the projects you’re adding the folder to, and it’ll show up in the project explorer Updated styling and content"}, {"post_id": 43017, "ts": "2026-08-08T01:36:42Z", "hours": 3.7031, "text": "Note and project management Added more note management features for editing, deleting, starring, and moving notes, as well as a dashboard for the notes page (similar to the one for tasks) You can now move notes in/out of different folders by selecting the move option and choosing the folder in the modal popup menu. You can also edit which notes are in a folder by clicking on its edit option, where you can check all the notes you want in a folder Added a top tool bar to each note page (similar to the tool bar for task lists) with the note’s emoji (clicking it opens the emoji menu where you can choose or clear the icon), name (clicking on it renamed the note), description (clicking on it also makes it editable), and current folder information displayed The tool bar also has options to upload a custom background image with an upload modal (similar to task lists), choose a custom theme (not implemented yet), star/unstar, or delete after confirming Added a sidebar for the projects page where you can create, manage, view, add icon, rename, star/unstar, and delete your projects (basically the same as the notes and tasks sidebar) Since many of the features are basically identical or very similar to tasks/task lists, I just used the existing components and copied and modified some stuff, so all these features were pretty easy and quick to implement Added recent, starred, and organized by tag sections to the notes dashboard so you can view and manage your notes more easily. You can also customize the dashboard by selecting the sections in the settings panel Updated schema and types Updated styling and layout Fixed background shadow overlay and a few other display/styling issues"}, {"post_id": 42076, "ts": "2026-08-06T17:10:52Z", "hours": 5.1608, "text": "Notes and custom backgrounds I coded for 5 hours yesterday and made a lot of progress but completely forgot to devlog , so this devlog will be a bit longer (as if my usual devlogs aren’t already long enough) to hopefully keep my storytelling good 🥺 Added the notes tab, which is the second major part of MacIdeas (the other being tasks and projects) that shares a basically identical layout with tasks, so I only had to copy a few components, modify some variables, imports, and database operations, and add new schema models and server actions to make note management work properly, though it still took quite a bit of time Currently only the sidebar is implemented for notes (instead of the actual note taking/editing part), but you can create new notes, rename them, choose their custom emojis, delete them, create and manage folders, and create notes inside folders from there You can also navigate to each note by clicking on it, but the page is blank for now. Notes share folders with tasks, so folders you make in notes also show up in tasks, and vice versa, although the specific tasks/notes in the folder aren’t displayed on the notes/tasks tab to keep organization simple (hopefully I didn’t phrase this too confusingly , maybe I’ll add an option to show both in settings) Also added projects (the third major part of MacIdeas), which are basically labels/folders that you can put tasks, task lists, folders, and notes in to conveniently keep everything related to a big project in one place Right now you can only create projects through the create project button on the sidebar and can’t do anything else with them, since I’ll only start working on projects after I finish notes Added buttons where you can upload a custom background image or select a color theme (not implemented yet) for each individual task list to make customization even better and personalized! When you click on the custom background option, an upload modal appears where you can upload a png/jpg/webp <4MB to be the background! I originally tried using uploadthing since it was the only object storage service I worked with, but I just couldn’t get the event hooks to load or work at all despite copying stuff from my old project and wasting an hour researching , so I decided to settle with Vercel Blobs (because it’s already hosted on Vercel) and it’s actually so much faster and easier to set up/integrate Some of the components are opaque, so they look kind of weird with a custom background, so I’ll be fixing that soon, but for the most part custom backgrounds actually look decent somehow Task lists without a custom background have a black overlay shadow that’s out of place, so that has to fixed too Also added a bunch of random small quality of life features and adjustments that I don’t remember without looking at my commits Updated schema and types Updated styling"}, {"post_id": 41429, "ts": "2026-08-05T17:05:00Z", "hours": 3.1761, "text": "Dashboard customization and My Day Added settings for customizing your personal tasks page dashboard, where you can select which tasks to show and which task filter sections to display on your main tasks page to make it completely customized You can access the settings modal by clicking on the gear icon on the top right of the tasks page, where you can select the checkboxes that you want to show on the page. You can reset the settings defaults as well by clicking on the reset option and confirming Dashboard tasks now also show their priority and tags All your homepage settings and customization are automatically saved to the account backend so the settings are synced across all your devices Added the “My Day” page that shows all your tasks that either start or due today (in your local timezone, refreshes daily automatically), or you can add custom tasks for the day here without putting it in any task list to help plan out your day better My Day is essentially a special task list and you can do all the stuff you can do with normal tasks and task lists (browsing, sorting, managing, etc.), and it shows up as its own tab on the left sidebar. I thought this would be hard to implement architecturally, but I just had to add a few fields and conditionals to make it work properly Added the tags dashboard section where you can view all the tasks with a certain tag Updated the data fetching logic for the dashboard to be more efficient, optimized, and customized according to the settings Updated schema and constants Updated styling Updated README Fixed a few visual bugs"}, {"post_id": 40963, "ts": "2026-08-04T20:46:14Z", "hours": 2.8342, "text": "Dashboard and Subtasks Added a few interactive widgets to the task dashboard showing tasks grouped in different categories so you can browse all your tasks quickly and easily The different task widgets, each with a different icon, are starred, priority, upcoming, starting soon, recent, and tag tasks. The widgets basically act like filters for all your tasks across all task lists so you don’t need to manually dig through them to find what you’re looking for You can now add subtasks to your tasks! Subtasks are basically just very simple tasks without any of the fancy features (since that would be annoying to implement and it’s just pretty impractical) that are just smaller steps broken down from the main task You can add, view, and manage (completing, renaming, or deleting) each task’s subtasks sorted by completion status in the task details panel, and you can see each task’s subtasks directly displayed below the main task You can also mark subtasks as completed by clicking on the circle on the task item, and the text will be striked through and grayed out Added a home/task dashboard link to the left sidebar Updated schema and types Updated styling and layout Updated README with more detailed info and specific features"}, {"post_id": 40514, "ts": "2026-08-04T03:06:03Z", "hours": 3.7111, "text": "Priority and folders! You can now assign an importance priority flag for each task to better keep track of your most important todos and manage/view them more easily with this feature ! You can change the priority of a task by clicking on one of the 4 options in the priority dropdown that appears when you hover over the task. Each priority has a different color (none-transparent, low-green, medium-yellow, high-red) to help distinct them visually. If a task has a priority, the status is permanently stickied on the task so it’s always visible You can sort and filter tasks by priority as well to automatically group and view your most important tasks You can customize the new task’s priority by changing the new task input field’s priority dropdown menu. You can also edit a task’s priority in the task details panel You can now create custom folders to group and organize your task lists by clicking on the create folder option on the task sidebar ! Clicking on the folder toggles the visibility of its task list content, and hovering over it shows an options icon that opens a menu where you can edit, rename, change the folder icon color, or delete the folder The edit option opens a modal where you can search and select the task lists to add or remove from the folder The rename option turns the folder name into an input that saves on blur, the color option shows a color picker for the icon color, and the delete option deletes the folder and its task lists after confirmation You can also directly create new task lists inside a folder by clicking on the add option on the folder. You can move task lists in/out of folders as well by clicking on the move option, which opens a similar modal where you can search and select which folder to move the task to Drag and drop for moving task lists in/out of folders isn’t implemented yet, because it’s actually quite a challenging thing to do (for me) , but hopefully I’ll have time to try to implement it Updated schema and types Updated UI components and styling Fixed display overflow height styling issues"}, {"post_id": 40161, "ts": "2026-08-03T15:52:29Z", "hours": 2.6514, "text": "Due dates and more random features You can now add due dates and start dates to tasks to better keep track of them and remind yourself when to stop procrastinating and actually get to work ! When you click on the calendar icon on a task, a modal shows up with 2 fields where you can pick the precise date and time for when the task starts/dues. I used the kind of outdated library Flatpickr for this since I was too lazy to build my own calendar time picker thing You can also clear/remove the selected time by clicking on the x icon next to the date field. Save the changes by clicking on the save button You can edit/select the times by clicking on the date fields in the task details panel as well. Start and due dates show up as a small text below the main task on the page so you can easily see when each task is due Added options to sort tasks by due and start dates so you can see which tasks are coming up soon! Also added a separate section in the filter dropdown for filtering by your own tags to better organize and view your different tasks The pen edit/rename option on the task list is now finally implemented! Clicking on it turns the task text into an input field that you can edit, and the new name is saved when you click away from it The tag, calendar, and star icons on the task input field now do something for the new task! Similar to task items, the tag and calendar options both open a modal for you to select the options for the new task, and the star icon marks it as starred. This makes it a lot easier to customize the task before actually adding it to the list Updated schema and types Updated styling and UI components Fixed a legacy dependency (Emoji Mart is unmaintained ) compatibility issue that caused a few previous commits to fail in production build Not gonna lie I’m pretty proud of the UI and layout all the different options and components actually sort of make MacIdeas look like a legit app There seems to be an issue with Firefox screenshots that fails to capture the modal’s background blur for the screenshot so it’s kinda weird"}, {"post_id": 39667, "ts": "2026-08-02T19:52:59Z", "hours": 3.9036, "text": "Tags and emojis Added task tags that you can customize and assign to different task items to better categorize and organize them! You’ll be able to group/sort by tags in the future as well, making browsing and managing tasks even more convenient When you click on the tag icon while hovering over a task item, the tag modal appears listing all the tags you created, a search bar for the tasks, as well as options to create new tags and save your selection Each tag on the modal is a checkbox, meaning you can simply check/uncheck the tags to assign them to the task Clicking on the create option displays an input where you can add a new tag that gets added to the revalidated menu Each tag also has an icon that opens a menu of options to rename, select an emoji, pick a color, and delete the tag. The rename option turns the tag into an input that you can edit, the emoji option opens the emoji picker (you can clear an existing emoji as well) so you can choose a custom icon for the tag, the color option opens a color picker where you can edit the tag’s background, and the delete option deletes the tag after confirmation There’s an option on the modal to clear all the currently assigned tags from the task item as well Up to 3 tags are displayed for each task on the task list page, and you can view all the tags a task has in the details panel (where you can open the tag modal and edit the tags too) You can now also choose an emoji for each task list by either clicking on the sidebar icon or the top bar icon! It opens an emoji picker with an option to clear the existing emoji as well Updated schema and types Updated styling and layout Fixed display height issue Fixed legacy dependency deployment issue"}, {"post_id": 38980, "ts": "2026-08-01T16:28:02Z", "hours": 1.9678, "text": "Browse & complete tasks You can now browse and filter through tasks to view and manage them more easily with the new sorting and filtering options! You can also finally mark tasks as completed once you finish them On the task list page tool bar, there’s a search bar that searched through tasks by their name and description, dropdown menus for sorting (by name, created, updated, due date, etc., some aren’t implemented yet), filtering (by starred, completion status, etc.), and ascending/descending display order to help you find and browse tasks more easily ! There’s also a checkbox that toggles the visibility of completed tasks, since they are hidden by default to avoid cluttering the page You can mark a task as completed by either clicking/checking the circle icon on each task item or selecting the completed checkbox on the task details page Incomplete and completed tasks are each grouped together regardless of sorting order to avoid confusion Completed tasks are striked through and grayed out to help with distinction. You can remark them as incomplete again any time by clicking on the icon again Fixed an annoying container height overflow display layout issue (implementing responsive design on this will be a pain in the butt ) Updated styling and layout I accidentally closed the window while recording the video so I had to rewrite this entire devlog again from memory , Stardance team please make a save devlog button like with Flavortown 🥺"}, {"post_id": 38563, "ts": "2026-08-01T01:19:19Z", "hours": 2.6092, "text": "Task creation & management You can now actually add, view, and manage your tasks in MacIdeas! You can add tasks, view details, edit, star, and delete them by clicking on the task item icons When you add a task, a task item gets added to the task list page, which when hovered shows icons/buttons to edit, manage tags, change due date, star, or delete the task. There’s also a circle on the left where you can mark the task as completed (none of these buttons work yet other than star and delete ) Clicking on the task item itself opens an animated panel on the side (similar to a lot of todo apps and the Slack profile panel) with input and textarea fields for editing the task and its description, as well as checkboxes to mark/unmark the task as completed or starred The task item details panel also shows the task’s precise created and updated timestamps, as well as its ID in the backend database (for debugging purposes) You can save the changes in the details panel by clicking on the save button, which updates and revalidates the task automatically. You can also delete the task item by clicking on the delete button and confirming the warning modal You can close the details panel by clicking on the same task item again or by clicking on the close button If a task item is starred, the star icon shows even when you’re not hovering over the task item. You’ll be able to filter and group task items by stars in the future as well Updated the task list page layout to give more space to the main section and make sure everything’s aligned and positioned nicely without any display/styling issues Added new UI components Updated styling Fixed a few styling and UX issues Updated database schema"}, {"post_id": 38314, "ts": "2026-07-31T17:10:40Z", "hours": 2.0458, "text": "Task list management Added more task list management features so you can organize and view your tasks more efficiently! Added a top tool bar on task list pages where you can rename the task list by clicking on the name, add a description, mark/unmark it as starred, and delete it When you click on delete, a confirmation warning modal shows up asking you to confirm You can also star/unstar a task list by clicking on the star icon on the left sidebar or in the options menu Starred task lists show up in a different section at the top of the sidebar to make accessing them easier and quicker Added a dropdown button that shows an additional menu for creating folders and projects (not implemented yet) next to the create task list button Added a pick emoji button for each task list on the sidebar that, of course, still doesn’t work yet Added the new task input field on the task page with a few placeholder buttons and a submit button. This where you’ll be able to add tasks, but nothing works so far Added a message screen that shows up when all the tasks are completed/there are no tasks Added dynamically generated SEO metadata for task list pages to make the site more accessible and responsive Updated schema and types Updated styling and layout"}, {"post_id": 37735, "ts": "2026-07-30T17:25:43Z", "hours": 3.29, "text": "MacIdeas: productivity & work management tool I’m starting a new project in the MacWeb collection of online apps and platforms called MacIdeas, which is basically Notion (task, note, and project management) but significantly more inferior Hopefully this project will turn out to be pretty complex so I can milk invest more hours on making and polishing this app In this pretty big initial update, I set up the Next.js project, installed its required dependencies, added a few basic pages and layouts, added a lot of UI components, and added task list management Spent quite some time configuring auth and the account system backend again since MacIdeas is hosted on a subdomain of the main macweb.app root domain which handles auth and accounts, so it was annoying setting up CORS, subdomain cookies, and user schemas (I’m not even sure if it works in production yet ) Added a nav bar and footer that were just copied from other MacWeb apps so they look consistent and updated a few links Added placeholder homepage layout and sections with images and text that don’t mean anything yet Added the main tasks page layout with a left sidebar listing all your task lists (folders and other organization stuff coming soon) and the main page displaying your actual tasks and information You can create new task lists by clicking on the create task list button on the sidebar, which creates and redirects you to the new task list that’s automatically titled “Untitled List” When you hover over a task list on the sidebar, an options icon appears that shows a menu of list management options, including rename, star (not implemented), and delete When you click on rename, the task list becomes an input where you can input the new name, and clicking out of it saves and revalidates the data When you click on delete, a confirmation warning modal appears, and the app will be redirected and revalidated after you confirm and delete the task list Once you’re signed in, your profile icon will be displayed on the nav bar and clicking on it lets you view your profile on the main domain, toggle light/dark modes (coming soon), and sign out (does this even work ?) Added static SEO for a few pages to improve accessibility and the site’s metadata Added the MacIdeas logo as the favicon and site icon Added Prisma schema and types Configured DNS and deployment stuff Fixed deployment issue"}]...
|
Title: MacIdeas by @tonymac129 | Stardance
Devlog Title: MacIdeas by @tonymac129 | Stardance
Devlogs:
MacIdeas: productivity & work management tool I’m starting a new project in the MacWeb collection of online apps and platforms called MacIdeas, which is basically Notion (task, note, and project management) but significantly more inferior Hopefully this project will turn out to be pretty complex so I can milk invest more hours on making and polishing this app In this pretty big initial update, I set up the Next.js project, installed its required dependencies, added a few basic pages and layouts, added a lot of UI components, and added task list management Spent quite some time configuring auth and the account system backend again since MacIdeas is hosted on a subdomain of the main macweb.app root domain which handles auth and accounts, so it was annoying setting up CORS, subdomain cookies, and user schemas (I’m not even sure if it works in production yet ) Added a nav bar and footer that were just copied from other MacWeb apps so they look consistent and updated a few links Added placeholder homepage layout and sections with images and text that don’t mean anything yet Added the main tasks page layout with a left sidebar listing all your task lists (folders and other organization stuff coming soon) and the main page displaying your actual tasks and information You can create new task lists by clicking on the create task list button on the sidebar, which creates and redirects you to the new task list that’s automatically titled “Untitled List” When you hover over a task list on the sidebar, an options icon appears that shows a menu of list management options, including rename, star (not implemented), and delete When you click on rename, the task list becomes an input where you can input the new name, and clicking out of it saves and revalidates the data When you click on delete, a confirmation warning modal appears, and the app will be redirected and revalidated after you confirm and delete the task list Once you’re signed in, your profile icon will be displayed on the nav bar and clicking on it lets you view your profile on the main domain, toggle light/dark modes (coming soon), and sign out (does this even work ?) Added static SEO for a few pages to improve accessibility and the site’s metadata Added the MacIdeas logo as the favicon and site icon Added Prisma schema and types Configured DNS and deployment stuff Fixed deployment issue
Task list management Added more task list management features so you can organize and view your tasks more efficiently! Added a top tool bar on task list pages where you can rename the task list by clicking on the name, add a description, mark/unmark it as starred, and delete it When you click on delete, a confirmation warning modal shows up asking you to confirm You can also star/unstar a task list by clicking on the star icon on the left sidebar or in the options menu Starred task lists show up in a different section at the top of the sidebar to make accessing them easier and quicker Added a dropdown button that shows an additional menu for creating folders and projects (not implemented yet) next to the create task list button Added a pick emoji button for each task list on the sidebar that, of course, still doesn’t work yet Added the new task input field on the task page with a few placeholder buttons and a submit button. This where you’ll be able to add tasks, but nothing works so far Added a message screen that shows up when all the tasks are completed/there are no tasks Added dynamically generated SEO metadata for task list pages to make the site more accessible and responsive Updated schema and types Updated styling and layout
Task creation & management You can now actually add, view, and manage your tasks in MacIdeas! You can add tasks, view details, edit, star, and delete them by clicking on the task item icons When you add a task, a task item gets added to the task list page, which when hovered shows icons/buttons to edit, manage tags, change due date, star, or delete the task. There’s also a circle on the left where you can mark the task as completed (none of these buttons work yet other than star and delete ) Clicking on the task item itself opens an animated panel on the side (similar to a lot of todo apps and the Slack profile panel) with input and textarea fields for editing the task and its description, as well as checkboxes to mark/unmark the task as completed or starred The task item details panel also shows the task’s precise created and updated timestamps, as well as its ID in the backend database (for debugging purposes) You can save the changes in the details panel by clicking on the save button, which updates and revalidates the task automatically. You can also delete the task item by clicking on the delete button and confirming the warning modal You can close the details panel by clicking on the same task item again or by clicking on the close button If a task item is starred, the star icon shows even when you’re not hovering over the task item. You’ll be able to filter and group task items by stars in the future as well Updated the task list page layout to give more space to the main section and make sure everything’s aligned and positioned nicely without any display/styling issues Added new UI components Updated styling Fixed a few styling and UX issues Updated database schema
Browse & complete tasks You can now browse and filter through tasks to view and manage them more easily with the new sorting and filtering options! You can also finally mark tasks as completed once you finish them On the task list page tool bar, there’s a search bar that searched through tasks by their name and description, dropdown menus for sorting (by name, created, updated, due date, etc., some aren’t implemented yet), filtering (by starred, completion status, etc.), and ascending/descending display order to help you find and browse tasks more easily ! There’s also a checkbox that toggles the visibility of completed tasks, since they are hidden by default to avoid cluttering the page You can mark a task as completed by either clicking/checking the circle icon on each task item or selecting the completed checkbox on the task details page Incomplete and completed tasks are each grouped together regardless of sorting order to avoid confusion Completed tasks are striked through and grayed out to help with distinction. You can remark them as incomplete again any time by clicking on the icon again Fixed an annoying container height overflow display layout issue (implementing responsive design on this will be a pain in the butt ) Updated styling and layout I accidentally closed the window while recording the video so I had to rewrite this entire devlog again from memory , Stardance team please make a save devlog button like with Flavortown 🥺
Tags and emojis Added task tags that you can customize and assign to different task items to better categorize and organize them! You’ll be able to group/sort by tags in the future as well, making browsing and managing tasks even more convenient When you click on the tag icon while hovering over a task item, the tag modal appears listing all the tags you created, a search bar for the tasks, as well as options to create new tags and save your selection Each tag on the modal is a checkbox, meaning you can simply check/uncheck the tags to assign them to the task Clicking on the create option displays an input where you can add a new tag that gets added to the revalidated menu Each tag also has an icon that opens a menu of options to rename, select an emoji, pick a color, and delete the tag. The rename option turns the tag into an input that you can edit, the emoji option opens the emoji picker (you can clear an existing emoji as well) so you can choose a custom icon for the tag, the color option opens a color picker where you can edit the tag’s background, and the delete option deletes the tag after confirmation There’s an option on the modal to clear all the currently assigned tags from the task item as well Up to 3 tags are displayed for each task on the task list page, and you can view all the tags a task has in the details panel (where you can open the tag modal and edit the tags too) You can now also choose an emoji for each task list by either clicking on the sidebar icon or the top bar icon! It opens an emoji picker with an option to clear the existing emoji as well Updated schema and types Updated styling and layout Fixed display height issue Fixed legacy dependency deployment issue
Due dates and more random features You can now add due dates and start dates to tasks to better keep track of them and remind yourself when to stop procrastinating and actually get to work ! When you click on the calendar icon on a task, a modal shows up with 2 fields where you can pick the precise date and time for when the task starts/dues. I used the kind of outdated library Flatpickr for this since I was too lazy to build my own calendar time picker thing You can also clear/remove the selected time by clicking on the x icon next to the date field. Save the changes by clicking on the save button You can edit/select the times by clicking on the date fields in the task details panel as well. Start and due dates show up as a small text below the main task on the page so you can easily see when each task is due Added options to sort tasks by due and start dates so you can see which tasks are coming up soon! Also added a separate section in the filter dropdown for filtering by your own tags to better organize and view your different tasks The pen edit/rename option on the task list is now finally implemented! Clicking on it turns the task text into an input field that you can edit, and the new name is saved when you click away from it The tag, calendar, and star icons on the task input field now do something for the new task! Similar to task items, the tag and calendar options both open a modal for you to select the options for the new task, and the star icon marks it as starred. This makes it a lot easier to customize the task before actually adding it to the list Updated schema and types Updated styling and UI components Fixed a legacy dependency (Emoji Mart is unmaintained ) compatibility issue that caused a few previous commits to fail in production build Not gonna lie I’m pretty proud of the UI and layout all the different options and components actually sort of make MacIdeas look like a legit app There seems to be an issue with Firefox screenshots that fails to capture the modal’s background blur for the screenshot so it’s kinda weird
Priority and folders! You can now assign an importance priority flag for each task to better keep track of your most important todos and manage/view them more easily with this feature ! You can change the priority of a task by clicking on one of the 4 options in the priority dropdown that appears when you hover over the task. Each priority has a different color (none-transparent, low-green, medium-yellow, high-red) to help distinct them visually. If a task has a priority, the status is permanently stickied on the task so it’s always visible You can sort and filter tasks by priority as well to automatically group and view your most important tasks You can customize the new task’s priority by changing the new task input field’s priority dropdown menu. You can also edit a task’s priority in the task details panel You can now create custom folders to group and organize your task lists by clicking on the create folder option on the task sidebar ! Clicking on the folder toggles the visibility of its task list content, and hovering over it shows an options icon that opens a menu where you can edit, rename, change the folder icon color, or delete the folder The edit option opens a modal where you can search and select the task lists to add or remove from the folder The rename option turns the folder name into an input that saves on blur, the color option shows a color picker for the icon color, and the delete option deletes the folder and its task lists after confirmation You can also directly create new task lists inside a folder by clicking on the add option on the folder. You can move task lists in/out of folders as well by clicking on the move option, which opens a similar modal where you can search and select which folder to move the task to Drag and drop for moving task lists in/out of folders isn’t implemented yet, because it’s actually quite a challenging thing to do (for me) , but hopefully I’ll have time to try to implement it Updated schema and types Updated UI components and styling Fixed display overflow height styling issues
Dashboard and Subtasks Added a few interactive widgets to the task dashboard showing tasks grouped in different categories so you can browse all your tasks quickly and easily The different task widgets, each with a different icon, are starred, priority, upcoming, starting soon, recent, and tag tasks. The widgets basically act like filters for all your tasks across all task lists so you don’t need to manually dig through them to find what you’re looking for You can now add subtasks to your tasks! Subtasks are basically just very simple tasks without any of the fancy features (since that would be annoying to implement and it’s just pretty impractical) that are just smaller steps broken down from the main task You can add, view, and manage (completing, renaming, or deleting) each task’s subtasks sorted by completion status in the task details panel, and you can see each task’s subtasks directly displayed below the main task You can also mark subtasks as completed by clicking on the circle on the task item, and the text will be striked through and grayed out Added a home/task dashboard link to the left sidebar Updated schema and types Updated styling and layout Updated README with more detailed info and specific features
Dashboard customization and My Day Added settings for customizing your personal tasks page dashboard, where you can select which tasks to show and which task filter sections to display on your main tasks page to make it completely customized You can access the settings modal by clicking on the gear icon on the top right of the tasks page, where you can select the checkboxes that you want to show on the page. You can reset the settings defaults as well by clicking on the reset option and confirming Dashboard tasks now also show their priority and tags All your homepage settings and customization are automatically saved to the account backend so the settings are synced across all your devices Added the “My Day” page that shows all your tasks that either start or due today (in your local timezone, refreshes daily automatically), or you can add custom tasks for the day here without putting it in any task list to help plan out your day better My Day is essentially a special task list and you can do all the stuff you can do with normal tasks and task lists (browsing, sorting, managing, etc.), and it shows up as its own tab on the left sidebar. I thought this would be hard to implement architecturally, but I just had to add a few fields and conditionals to make it work properly Added the tags dashboard section where you can view all the tasks with a certain tag Updated the data fetching logic for the dashboard to be more efficient, optimized, and customized according to the settings Updated schema and constants Updated styling Updated README Fixed a few visual bugs
Notes and custom backgrounds I coded for 5 hours yesterday and made a lot of progress but completely forgot to devlog , so this devlog will be a bit longer (as if my usual devlogs aren’t already long enough) to hopefully keep my storytelling good 🥺 Added the notes tab, which is the second major part of MacIdeas (the other being tasks and projects) that shares a basically identical layout with tasks, so I only had to copy a few components, modify some variables, imports, and database operations, and add new schema models and server actions to make note management work properly, though it still took quite a bit of time Currently only the sidebar is implemented for notes (instead of the actual note taking/editing part), but you can create new notes, rename them, choose their custom emojis, delete them, create and manage folders, and create notes inside folders from there You can also navigate to each note by clicking on it, but the page is blank for now. Notes share folders with tasks, so folders you make in notes also show up in tasks, and vice versa, although the specific tasks/notes in the folder aren’t displayed on the notes/tasks tab to keep organization simple (hopefully I didn’t phrase this too confusingly , maybe I’ll add an option to show both in settings) Also added projects (the third major part of MacIdeas), which are basically labels/folders that you can put tasks, task lists, folders, and notes in to conveniently keep everything related to a big project in one place Right now you can only create projects through the create project button on the sidebar and can’t do anything else with them, since I’ll only start working on projects after I finish notes Added buttons where you can upload a custom background image or select a color theme (not implemented yet) for each individual task list to make customization even better and personalized! When you click on the custom background option, an upload modal appears where you can upload a png/jpg/webp <4MB to be the background! I originally tried using uploadthing since it was the only object storage service I worked with, but I just couldn’t get the event hooks to load or work at all despite copying stuff from my old project and wasting an hour researching , so I decided to settle with Vercel Blobs (because it’s already hosted on Vercel) and it’s actually so much faster and easier to set up/integrate Some of the components are opaque, so they look kind of weird with a custom background, so I’ll be fixing that soon, but for the most part custom backgrounds actually look decent somehow Task lists without a custom background have a black overlay shadow that’s out of place, so that has to fixed too Also added a bunch of random small quality of life features and adjustments that I don’t remember without looking at my commits Updated schema and types Updated styling
Note and project management Added more note management features for editing, deleting, starring, and moving notes, as well as a dashboard for the notes page (similar to the one for tasks) You can now move notes in/out of different folders by selecting the move option and choosing the folder in the modal popup menu. You can also edit which notes are in a folder by clicking on its edit option, where you can check all the notes you want in a folder Added a top tool bar to each note page (similar to the tool bar for task lists) with the note’s emoji (clicking it opens the emoji menu where you can choose or clear the icon), name (clicking on it renamed the note), description (clicking on it also makes it editable), and current folder information displayed The tool bar also has options to upload a custom background image with an upload modal (similar to task lists), choose a custom theme (not implemented yet), star/unstar, or delete after confirming Added a sidebar for the projects page where you can create, manage, view, add icon, rename, star/unstar, and delete your projects (basically the same as the notes and tasks sidebar) Since many of the features are basically identical or very similar to tasks/task lists, I just used the existing components and copied and modified some stuff, so all these features were pretty easy and quick to implement Added recent, starred, and organized by tag sections to the notes dashboard so you can view and manage your notes more easily. You can also customize the dashboard by selecting the sections in the settings panel Updated schema and types Updated styling and layout Fixed background shadow overlay and a few other display/styling issues
Project browser Added a project browser/file explorer to the project dashboard where you can search, view, and open projects and folders to browse their content ! I decided to build this file explorer instead of just a simple dashboard because I got bored and wanted to make something different, and it would make more sense to do this for projects since they are essentially just folders This file explorer is pretty similar to Google Drive and other cloud storage services, you can double click a project or folder to change directory and view its content (tasks, task lists, notes, other folders), and go back/navigate to other levels with navigation breadcrumbs I thought this would be difficult to implement and would need some kind of breadcrumb library and it turned out to be pretty simple Only projects are styled and can be opened right now, but folders and other stuff will be added in the next update! Added a menu option for adding task/note folders to projects. It opens a modal where you can view and select all the projects you’re adding the folder to, and it’ll show up in the project explorer Updated styling and content
Project page and contents Added a dedicated page for each project that is its own file browser where you can open/interact with the contents, view their information and metadata, and search, filter, and sort through them so you can better manage and view your projects Added an option on the project page that opens a modal displaying all your folders, task lists, tasks, and notes grouped into 4 different tabs. Each item is a checkbox so you can select exactly which items to add to or remove from the project You can also search through each tab’s results and see their names and icons to make finding the right item quick and easy This seemed like a simple feature to implement but getting to cooperate was a nightmare since each item has its own data type, so organizing the data structure for both the frontend and backend required a lot of annoying unions and conditionals There is now a top bar in the project browser with the name, type, modified, and created labels which you can click on to sort the contents accordingly Each item also shows its type and modified & created times, as well as an icon where you can change the item’s emoji directly, making browsing and managing your stuff more convenient You can also edit the project’s name and description directly by clicking on the page title and text Updated styling and layout I procrastinated on this devlog for 2 days and got no work done, so I think this might be a sign for me to take a break from Stardance for a few days since I also need to work on hosting 8-Bit Jam (awesome game jam, if you live near nova plz go register ) and other stuff, so there won’t be new devlogs in a while
Light mode toggle The mode option in the nav user menu now toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, as well as accounting for all most of the display color edge cases, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing I am finally back to developing MacIdeas after taking a one month break, so I spent some time familiarizing myself with the codebase again. Hopefully this time I’ll be able to finish and ship it soon! Updated styling and layout Added and updated some dependencies
Rich text editing for notes! Added a complete, feature-rich, and easy to use rich text editor for creating and editing your notes! This means you can now actually take notes with features like text formatting, links, headings, lists, inline components, and a lot of other features you would expect from tools like Google Docs There is a top tool bar with a ton of options, buttons, and dropdowns organized into different functional sections (I definitely did not just copy GDocs ) to format/edit/modify your current content selection easily Most of the features support keyboard shortcuts (because of Tiptap), which you can see by hovering over the option and reading its tooltip I tried making my own web based rich text editor from scratch before, and it turned out to be a nightmare of dom manipulation and other headaches, so this time I decided to just use the library Tiptap, which itself is based on the library ProseMirror, to handle this pain in the butt Since Tiptap is completely headless, I still spent a lot of time going through its docs, installing useful extensions, learning their commands, and building, testing, and tweaking all the features to make everything work smoothly I don’t know why I’ve been neglecting actually adding notes for so long (before each note was just a blank page saying “Untitled note” that you couldn’t even edit ), but this actually turned out to be super fun to implement and the result was very rewarding Note saving doesn’t actually work yet (despite the fake “Note saved” autosave message ) since there are still some things about the editor to fix, but hopefully that’ll be implemented soon and MacIdeas will be almost ready to ship! The text editor also works with light mode, and I also updated some styling to improve the UI
Last devlog: note features and final touches! MacIdeas is finally finished and ready to ship! In this last massive devlog, I added a few new quality of life features, did a ton of general/styling/auth bug fixes, and polished the entire project ! Added note content persistence, meaning you can actually save each note’s content to your account data, including its text, formatting, and everything. Autosave automatically does this every 30 seconds, but you can also manually save with ctrl+s or by pressing the save button Added a few new editor features from Tiptap for typography and general formatting to make note taking more powerful and complete You can now select custom background colors (along with custom backdrop images) to customize the appearance of each task list and note page ! The nav search had been there doing nothing ever since the first devlog , so I finally added a powerful search bar to the nav bar that uses a new API endpoint to search through all the information in all your task lists, tasks, notes, projects, and folders and displays the results as a list of links for convenient browsing and navigation! Added section descriptions and icons for the major features on the homepage Updated styling, content, code, and layout Updated the README with a demo screenshot and updated info about features Fixed a lot of bugs related to general usage, empty user data, styling issues with modals, auth redirect, and many other things I don’t want to remember to improve the overall user experience I took a one week break in this last stretch, so there was probably other stuff I did that I forgot, so hopefully my storytelling isn’t that bad
Ships:
MacIdeas is a fullstack online platform for managing, organizing, and keeping track of your work, including tasks, notes, and projects! Now, before you think this is just another generic boring todo list app and give me a 1 star in originality…, well, it kind of is a todo app, but with a ton of many different features, customization, and settings, as well as notes with a complete, functional rich text editor, folders for convenient organization, and projects for organizing your different tasks, notes, folders, and everything else into manageable groups that you can easily browse through. You can edit and assign tasks priorities, due/start dates, tags, subtasks, projects, folders, links, completion, star them, and view all the info from the details panel. There are also features like search, sort, filter, tags, views, star, emojis, and other options that make browsing, navigating, and finding items a lot easier and more efficient. To make the website accessible to everyone, MacIdeas has smooth transitions and animations, fully supports both dark and light modes (and your own background images or colors), as well as responsive design for (nearly) all screen sizes, and complete SEO metadata for each page. All you need to do is to sign in with MacWeb, the central platform for my projects’ auth and account info (since MacIdeas is one of its many apps), and you’ll be redirected back and have access to try out all those features! It has everything you would expect from a real task manager and text editor, so hopefully you’ll like my project :)...
|
1793001173.647689
|
1793087573.647689
|
|
50670
|
Helix by @sidd | Stardance
|
sidd
|
1
|
53.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T14:44:24Z", "hours": 53.0, "multiplier": 5.0, "payout": 4, "blessing": "neutral", "text": "I made an automatic transfer winder!", "repo": "https://github.com/Firestorm108/Helix/", "demo": ""}]...
|
[{"post_id": 49326, "ts": "202 [{"post_id": 49326, "ts": "2026-08-18T02:36:00Z", "hours": 0.0775, "text": "journaled in repo- submitting for review thru form!"}, {"post_id": 56071, "ts": "2026-06-29T00:00:00Z", "hours": 5.0, "text": "I printed and build and coded the electronics box, but had to replace my board with one of my old CNC boards since mine was tweaking out when it controlled the steppers and made everything vibrate like crazy and I wanted it to be reliable for open sauce."}, {"post_id": 56070, "ts": "2026-06-28T00:00:00Z", "hours": 3.0, "text": "I added the steppers, leadscrews, and more printed parts. It’s starting to come together and look rlly cool. Time Spent: 3 Hours"}, {"post_id": 56069, "ts": "2026-06-27T00:00:00Z", "hours": 4.0, "text": "I 3D printed some parts and assembled the frame out of extrusions. I unfortunately had to rebuild it since I forgot to put the V-wheel plate on. Time Spent: 4 Hours"}, {"post_id": 56068, "ts": "2026-06-25T00:00:00Z", "hours": 4.0, "text": "Today I got the board and soldered it together! It looks super cool ngl. I did some testing and coding and it seems to be working! Time Spent: 4 Hours"}, {"post_id": 56067, "ts": "2026-06-07T00:00:00Z", "hours": 2.0, "text": "I made and mounted all the electronics in an emclosure that mounts to the frame. I would say that was the most annoying part because it was mundane and tedious but its okay because it’s done now. In the morning I’ll work on polishing up the repo and making a bom and stuff but im going to sleep Time Spent: 2 Hours"}, {"post_id": 56066, "ts": "2026-06-05T00:00:00Z", "hours": 4.0, "text": "Today I added in the spooling system, which rotates back and forth on a leadscrew. This movement is constrained with a V wheel plate. So the spool rests on top, with hot swappable spool holders. It then goes through a thumbscrew compression based tensioner which feeds into the coil spinner. Time Spent: 4 Hours"}, {"post_id": 56065, "ts": "2026-05-25T00:00:00Z", "hours": 5.0, "text": "I’m glad to finally be getting to the CAD. I firstly desgined the outer frame, inspired from James Albin. After thinking for a while and literally just staring at the screen until I came up with something that worked, I rearranged the frame a bit to accomdate better. Then, made the mechanism for spinning the coil that is being wound with a stepper motor. I made an adapter that mimics a flyback core so that the bobbin may spin well. Additionally, the mounts I made for the bearing is cool since I added a little Helix. I kinda focused a lot on covering up unnecessary stuff so that it doesn’t look like a prototype. Time Spent: 5 Hours"}, {"post_id": 56063, "ts": "2026-05-25T00:00:00Z", "hours": 1.0, "text": "So after making the PCB, I realized that the microcontroller has no power source when the machine is powered by the 24V power supply. It is only powered when it is being programmed. The good news is that it only needs to be programmed once, so the USB-C port can be used for powering it after. However, there is no inbuilt voltage regulator from 24V to 5V, and there is no space to add it in right now. So, my plan is to make a seperate PCB that handles the power. So 24V flows in via the power supply. This is outputted on the other side into the PCB, however, there is a linear voltage regulator that bumps it down to 5V as well. This 5V goes to a power only USB C receptacle, which can plug into the board. Here’s a rough sketch: First I made the schematic, nothing too complex. Then I just made the PCB and did the footprints I made sure to do all THT since it would be a huge waste of money to get this assembled. It should be like $2 for the PCB and then a couple cents for the components."}, {"post_id": 56062, "ts": "2026-05-24T00:00:00Z", "hours": 8.0, "text": "I routed all the signal and power traces, following a rather unconventional layer stackup but I’m okay with it. 3 ground layers and one 24V layer, but it is what it is. It was very challenging to route but I’m very happy with the outcome. I’m like 90% certain this board is going to work, since I routed it so meticulously. I’m actually super proud since it looks kinda beautiful. Here’s the 3D image:"}, {"post_id": 56061, "ts": "2026-05-22T00:00:00Z", "hours": 4.0, "text": "First, I assigned footprints to everything based on LCSC. I really hope everything is correct since if even one part fails then the whole board is down. There’s not much more to this, it’s just a really mundane and repetitive task. After that I had more fun doing the layout of the board. That took me a while due to the crazy amount of passives, but I think it’s a good looking layout and I’m happy with it. I also routed the differential pairs of the USB-C since I wanted that to the perfect before I started routing anything else. Time Spent: 4 Hours"}, {"post_id": 56060, "ts": "2026-05-20T00:00:00Z", "hours": 5.0, "text": "I decided to base the whole machine off the RP2040 chip, since I don’t need any wireless communication and the control should be fairly simple. I started out by making the schematic for the core of the motherboard. So the flash, USB C, MCU, crystal, and caps. After that I added in the two stepper drivers (both TMC2209s) and the interfacing which is just the LCD and the rotary encoder. I’m not sure what else I would need because it seems a lot of the sensing I need can be done in software using the stepper motors. Motorized tensioning could be cool but it is also something I can do without electronics and I don’t want to overcomplicate an already tedious task. I’ll probably sleep on it and work on this tomorrow, since it’s getting late. Time Spent: 5 Hours"}, {"post_id": 56059, "ts": "2026-05-19T00:00:00Z", "hours": 4.0, "text": "I made the y axis and frame of the machine. The steppers, 750mm leadscrews, pillow bearings, and couplers were all placed. As well as the extrusions and corner brackets. This is for adjustment of pipe size and the movement of the coil throughout the length of the coil. However, I am not currently happy with the design and I also think this will be problematic to bring to open sauce. I think that it would be much better to change this to only making stuff like toroids, gate drive transformers, and especially flyback transformers. Winding entire tesla coil secondaries might not be ideal. Time Spent: 4 Hours"}, {"post_id": 56072, "ts": "2025-06-30T00:00:00Z", "hours": 4.0, "text": "I finished the build! It works and winds coils. I also added a foam based tensioner which wasn’t there originally. Time Spent: 4 Hours"}]...
|
Title: Helix by @sidd | Stardance
Devlogs:
I fini Title: Helix by @sidd | Stardance
Devlogs:
I finished the build! It works and winds coils. I also added a foam based tensioner which wasn’t there originally. Time Spent: 4 Hours
I made the y axis and frame of the machine. The steppers, 750mm leadscrews, pillow bearings, and couplers were all placed. As well as the extrusions and corner brackets. This is for adjustment of pipe size and the movement of the coil throughout the length of the coil. However, I am not currently happy with the design and I also think this will be problematic to bring to open sauce. I think that it would be much better to change this to only making stuff like toroids, gate drive transformers, and especially flyback transformers. Winding entire tesla coil secondaries might not be ideal. Time Spent: 4 Hours
I decided to base the whole machine off the RP2040 chip, since I don’t need any wireless communication and the control should be fairly simple. I started out by making the schematic for the core of the motherboard. So the flash, USB C, MCU, crystal, and caps. After that I added in the two stepper drivers (both TMC2209s) and the interfacing which is just the LCD and the rotary encoder. I’m not sure what else I would need because it seems a lot of the sensing I need can be done in software using the stepper motors. Motorized tensioning could be cool but it is also something I can do without electronics and I don’t want to overcomplicate an already tedious task. I’ll probably sleep on it and work on this tomorrow, since it’s getting late. Time Spent: 5 Hours
First, I assigned footprints to everything based on LCSC. I really hope everything is correct since if even one part fails then the whole board is down. There’s not much more to this, it’s just a really mundane and repetitive task. After that I had more fun doing the layout of the board. That took me a while due to the crazy amount of passives, but I think it’s a good looking layout and I’m happy with it. I also routed the differential pairs of the USB-C since I wanted that to the perfect before I started routing anything else. Time Spent: 4 Hours
I routed all the signal and power traces, following a rather unconventional layer stackup but I’m okay with it. 3 ground layers and one 24V layer, but it is what it is. It was very challenging to route but I’m very happy with the outcome. I’m like 90% certain this board is going to work, since I routed it so meticulously. I’m actually super proud since it looks kinda beautiful. Here’s the 3D image:
So after making the PCB, I realized that the microcontroller has no power source when the machine is powered by the 24V power supply. It is only powered when it is being programmed. The good news is that it only needs to be programmed once, so the USB-C port can be used for powering it after. However, there is no inbuilt voltage regulator from 24V to 5V, and there is no space to add it in right now. So, my plan is to make a seperate PCB that handles the power. So 24V flows in via the power supply. This is outputted on the other side into the PCB, however, there is a linear voltage regulator that bumps it down to 5V as well. This 5V goes to a power only USB C receptacle, which can plug into the board. Here’s a rough sketch: First I made the schematic, nothing too complex. Then I just made the PCB and did the footprints I made sure to do all THT since it would be a huge waste of money to get this assembled. It should be like $2 for the PCB and then a couple cents for the components.
I’m glad to finally be getting to the CAD. I firstly desgined the outer frame, inspired from James Albin. After thinking for a while and literally just staring at the screen until I came up with something that worked, I rearranged the frame a bit to accomdate better. Then, made the mechanism for spinning the coil that is being wound with a stepper motor. I made an adapter that mimics a flyback core so that the bobbin may spin well. Additionally, the mounts I made for the bearing is cool since I added a little Helix. I kinda focused a lot on covering up unnecessary stuff so that it doesn’t look like a prototype. Time Spent: 5 Hours
Today I added in the spooling system, which rotates back and forth on a leadscrew. This movement is constrained with a V wheel plate. So the spool rests on top, with hot swappable spool holders. It then goes through a thumbscrew compression based tensioner which feeds into the coil spinner. Time Spent: 4 Hours
I made and mounted all the electronics in an emclosure that mounts to the frame. I would say that was the most annoying part because it was mundane and tedious but its okay because it’s done now. In the morning I’ll work on polishing up the repo and making a bom and stuff but im going to sleep Time Spent: 2 Hours
Today I got the board and soldered it together! It looks super cool ngl. I did some testing and coding and it seems to be working! Time Spent: 4 Hours
I 3D printed some parts and assembled the frame out of extrusions. I unfortunately had to rebuild it since I forgot to put the V-wheel plate on. Time Spent: 4 Hours
I added the steppers, leadscrews, and more printed parts. It’s starting to come together and look rlly cool. Time Spent: 3 Hours
I printed and build and coded the electronics box, but had to replace my board with one of my old CNC boards since mine was tweaking out when it controlled the steppers and made everything vibrate like crazy and I wanted it to be reliable for open sauce.
journaled in repo- submitting for review thru form!
Ships:
I made an automatic transfer winder!...
|
1793098261.072616
|
1793184661.072616
|
|
54332
|
ziglm by @simonproyt | Stardance
|
simonproyt
|
1
|
52.95
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T17:57:15Z", "hours": 51.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So after achieving the performance goals that i wanted i think i decided that im ready to ship this project but i feel kinda scared because i wrote a lot less devlogs then my previous projects but like this project was a lot more boring debugging heavy so idk if i could have wrote about more stuff but im hoping that ppl are going to like this one as much as my previous project and it was a great learning experience and i learned a lot about the zig programing language and performance optimization and about the inner workings of llms and about writing low level performance critical cuda code Thank you for checking out my project and best of luck finishing your project and getting what you want", "repo": "https://github.com/simonproyt/ziglm", "demo": "https://cdn.hackclub.com/01a0bfeb-6c82-7528-93f3-aae99d703da5/ziglm_demo.mp4"}]...
|
[{"post_id": 75555, "ts": "202 [{"post_id": 75555, "ts": "2026-09-30T12:45:05Z", "hours": 1.9483, "text": "Note to the reviewers/shipwright/fraud squad so i accidentally added my home folder to the hackatime project and and when i contacted the fraud squad they told me to write a note so can you please deduct around 10 hours please also i attached a demo video of the benchmark script running for the ppl that dont want to download models and set my project up"}, {"post_id": 71338, "ts": "2026-09-20T17:33:25Z", "hours": 9.8469, "text": "removed multimodal and fixed the performance issue so im writing this devlog the second time because stardance logged me out when i tried to post it and it didnt save it sadly so i have to write it again i guess but as the title said i removed the multimodal code basically because it was a pain to maintain and it broke with every update so i just wanted to focus on just closely matching llama.cpp on text speed as a solo developer project and i think i kinda achieved that because in the generation speed its only a few tokens of difference so i think the project is basically finished now and i maybe add a few small changes to it or ship it now but i dont know yet but i hope that someone will like my project even if it was a bit more boring then my other projects"}, {"post_id": 69690, "ts": "2026-09-17T16:20:51Z", "hours": 10.3528, "text": "Fixed some bugs and improved the performance in my free time so i had some time on the weekend and the days i didnt go to school to fix added a benchmark shell script to compare the performance against ollama and llama.cpp for testing and for generating performance graphs now the vision tensors are run on the gpu too so the model wont get bottle necked by my laptops pci express bus speeds and uses the gpus memory instead so this or maybe another one will be probably the last devlog for this project because it has been super hard to develop this and kinda a pain to maintain and try to get it to the performance levels of modern interference libraries and i dont have much free time anymore because of school maybe i will continue development but idk"}, {"post_id": 64849, "ts": "2026-09-09T15:22:55Z", "hours": 11.8742, "text": "Working cuda and ci pipeline but sadly i cant work on this project anymore because school started So working on this project required quite a beefy and heavy computer and i dont want to carry one so sadly i dont have time to continue on this project in this time so after adding a working cuda gpu backend and a ci pipeline so ppl dont have to compile it from the source code and have nvcc to even try i think this is the end of this project for the current time being and i hope that someone will find this So this is what i added: added a cuda backend with a fatbin kernel so it will work on multiple compute levels a github actions ci pipeline to generate verified releases for the ppl who dont want to compile everything for themselves"}, {"post_id": 57155, "ts": "2026-08-29T08:16:47Z", "hours": 7.4842, "text": "Devlog 2: Finally working multimodal audio and video support So after a lot of trial and error i finally added multimodal audio and video support because they were the only two things missing from a complete cpu engine because i wanted a fully working cpu reference before doing anything with cuda and stuff but i want to get cuda working asap because the smaller models that i have been testing that would run on my cpu with a good speed they kinda have bad multimodal performance Thank you for reading my devlog"}, {"post_id": 54967, "ts": "2026-08-26T12:21:34Z", "hours": 11.2867, "text": "First devlog for this new project So i decided to start this new project while waiting for my other project getting reviewed Why did i do this: I was kinda bored waiting for my other project to be reviewed by ppl and i wanted to try out zig so i thought this is a great toy project idea to play with in zig What models are tested (others might work but i havent tested them): smollm2-360m gemma 4 and its variants with curently only image multimodal working but sound and video might be added in the future Thank you for reading my devlog"}]...
|
Title: ziglm by @simonproyt | Stardance
Devlogs:
Title: ziglm by @simonproyt | Stardance
Devlogs:
First devlog for this new project So i decided to start this new project while waiting for my other project getting reviewed Why did i do this: I was kinda bored waiting for my other project to be reviewed by ppl and i wanted to try out zig so i thought this is a great toy project idea to play with in zig What models are tested (others might work but i havent tested them): smollm2-360m gemma 4 and its variants with curently only image multimodal working but sound and video might be added in the future Thank you for reading my devlog
Devlog 2: Finally working multimodal audio and video support So after a lot of trial and error i finally added multimodal audio and video support because they were the only two things missing from a complete cpu engine because i wanted a fully working cpu reference before doing anything with cuda and stuff but i want to get cuda working asap because the smaller models that i have been testing that would run on my cpu with a good speed they kinda have bad multimodal performance Thank you for reading my devlog
Working cuda and ci pipeline but sadly i cant work on this project anymore because school started So working on this project required quite a beefy and heavy computer and i dont want to carry one so sadly i dont have time to continue on this project in this time so after adding a working cuda gpu backend and a ci pipeline so ppl dont have to compile it from the source code and have nvcc to even try i think this is the end of this project for the current time being and i hope that someone will find this So this is what i added: added a cuda backend with a fatbin kernel so it will work on multiple compute levels a github actions ci pipeline to generate verified releases for the ppl who dont want to compile everything for themselves
Fixed some bugs and improved the performance in my free time so i had some time on the weekend and the days i didnt go to school to fix added a benchmark shell script to compare the performance against ollama and llama.cpp for testing and for generating performance graphs now the vision tensors are run on the gpu too so the model wont get bottle necked by my laptops pci express bus speeds and uses the gpus memory instead so this or maybe another one will be probably the last devlog for this project because it has been super hard to develop this and kinda a pain to maintain and try to get it to the performance levels of modern interference libraries and i dont have much free time anymore because of school maybe i will continue development but idk
removed multimodal and fixed the performance issue so im writing this devlog the second time because stardance logged me out when i tried to post it and it didnt save it sadly so i have to write it again i guess but as the title said i removed the multimodal code basically because it was a pain to maintain and it broke with every update so i just wanted to focus on just closely matching llama.cpp on text speed as a solo developer project and i think i kinda achieved that because in the generation speed its only a few tokens of difference so i think the project is basically finished now and i maybe add a few small changes to it or ship it now but i dont know yet but i hope that someone will like my project even if it was a bit more boring then my other projects
Note to the reviewers/shipwright/fraud squad so i accidentally added my home folder to the hackatime project and and when i contacted the fraud squad they told me to write a note so can you please deduct around 10 hours please also i attached a demo video of the benchmark script running for the ppl that dont want to download models and set my project up
Ships:
So after achieving the performance goals that i wanted i think i decided that im ready to ship this project but i feel kinda scared because i wrote a lot less devlogs then my previous projects but like this project was a lot more boring debugging heavy so idk if i could have wrote about more stuff but im hoping that ppl are going to like this one as much as my previous project and it was a great learning experience and i learned a lot about the zig programing language and performance optimization and about the inner workings of llms and about writing low level performance critical cuda code Thank you for checking out my project and best of luck finishing your project and getting what you want...
|
1793008177.1532097
|
1793094577.1532097
|
|
17251
|
The backrooms by @rubintruben | Stardance
|
rubintruben
|
0
|
52.94
|
0
|
[]
|
[{"post_id": 56864, "ts": "202 [{"post_id": 56864, "ts": "2026-08-28T20:44:40Z", "hours": 10.0408, "text": "Almost finished Level 0 and already started making Level 1! I made a way to progress to the next level by going into a glitched wallpaper block, and added the entity to level 0! In level 1 i addet new textures with pbr, and a new light for the level. Also i made bigger rooms spawn with columns like in the real backrooms, and added realistic puddles! Im currently working onoptimisation bc its really laggy for me right now! My goal is to turn this mod into the next big backrooms minecraft mod and make it as close, and realistic to the real one as i can!!"}, {"post_id": 38089, "ts": "2026-07-31T09:35:06Z", "hours": 9.9397, "text": "Made shadows soft, reworked the generation and added bigger liminal rooms. Also added a cutscene of fallibg into the Backrooms when entering a world. I tweaked the camera animations a little bit to make the gamne more immersive and added camera smoothing."}, {"post_id": 26661, "ts": "2026-07-11T16:34:25Z", "hours": 10.2883, "text": "Fixed all of the bugs seen in the previous devlog and added a realistic flashlight. Also added some glow for the lights (still testing it)"}, {"post_id": 25249, "ts": "2026-07-09T11:54:44Z", "hours": 20.4244, "text": "Made a professional pbr shader pipeline and completely rewrote the shadow system -now facing some serious bugs"}, {"post_id": 7551, "ts": "2026-06-12T16:49:17Z", "hours": 2.2497, "text": "Created a custom dimension for backrooms level 0, made custom textures and block for it. Also made a custom render pipeline and working lightning shaders."}]...
|
Title: The backrooms by @rubintruben | Stardance
Title: The backrooms by @rubintruben | Stardance
Devlogs:
Created a custom dimension for backrooms level 0, made custom textures and block for it. Also made a custom render pipeline and working lightning shaders.
Made a professional pbr shader pipeline and completely rewrote the shadow system -now facing some serious bugs
Fixed all of the bugs seen in the previous devlog and added a realistic flashlight. Also added some glow for the lights (still testing it)
Made shadows soft, reworked the generation and added bigger liminal rooms. Also added a cutscene of fallibg into the Backrooms when entering a world. I tweaked the camera animations a little bit to make the gamne more immersive and added camera smoothing.
Almost finished Level 0 and already started making Level 1! I made a way to progress to the next level by going into a glitched wallpaper block, and added the entity to level 0! In level 1 i addet new textures with pbr, and a new light for the level. Also i made bigger rooms spawn with columns like in the real backrooms, and added realistic puddles! Im currently working onoptimisation bc its really laggy for me right now! My goal is to turn this mod into the next big backrooms minecraft mod and make it as close, and realistic to the real one as i can!!...
|
1792619516.572732
|
1793224316.572732
|
|
34544
|
AetherMed by @rudramaywad | Stardance
|
rudramaywad
|
1
|
52.92
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T12:51:58Z", "hours": 52.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an high-quality ai-assistant for radiolgist which can drastically save them time. The major challenge was finetuneing the 27b parameter vlm with my 4gb ram laptop wich does’nt even have an gpu so, I used kaggle gpu’s for the project with distributed training, model merging, quantization. I am proud of the fact I completed this project and that the project with some improvement can help real people.", "repo": "https://github.com/RudraMaywad13/aethermed", "demo": "https://aethermed-one.vercel.app/"}]...
|
[{"post_id": 52515, "ts": "202 [{"post_id": 52515, "ts": "2026-08-22T17:39:40Z", "hours": 0.9153, "text": "minor update"}, {"post_id": 52297, "ts": "2026-08-22T12:37:02Z", "hours": 4.6406, "text": "Finalised everything and trained using torchrun for kaggle 2*t4 optimization Its now completely trained for longitudnal reporting though it uses a lot gpu resourses I somehow rained it on 2*t4’s over a long time its not all there will be many future updates and my final aim is still to make AetherMed something that helps atleast 1 radiolgist every single day. with that said the journey will continue for sure. The future versions are gonna have :- Much better ui , auth and database features PDF BASED DETAILED REPORT GENERATION with Grad-Cam. Even better AI capabilities and many other features"}, {"post_id": 49346, "ts": "2026-08-18T03:43:17Z", "hours": 12.1228, "text": "tweaked ui and wrote code for || training"}, {"post_id": 39004, "ts": "2026-08-01T17:19:20Z", "hours": 8.3167, "text": "Training So, basically I on an old hp probook with 4gb ram ltrelly and I am treid to train it on colab but it doesn’t haves enough vram so now I am going for kaggle as it have 2*t4. I also wrote a lot of code past hrs now we are really near to begin training maybe even in 2 weeks We may see V2 live. let hope for the best. Peace"}, {"post_id": 33610, "ts": "2026-07-23T17:42:54Z", "hours": 6.0611, "text": "Model loading and training - Part 1 So, basically past few days weren’t went as expected. But finally toady i see peices meeting together.I have setted up parrlel downloading while traing by dedication few threads to it and i hopes to make my training pipline so stong so it only remains as hard as changing variables to choose between which models to fine tune and d how much data to use 31st will be my final deadline for launching v1 then in future updates i will add auth and database(scans storage,chats stored etc) i will also try to meet some radiolgists and have them test AetherMEd so lets see how following days goes."}, {"post_id": 30656, "ts": "2026-07-18T12:24:06Z", "hours": 4.9419, "text": "So i finally completed all the DATA PREPRCESSING it was probably the most time consuming part but it was well worth it as shaping the longitudnal data is also an hard task i also wrote code for parrally downloading and deleting images on 4 threads whil model trains on others."}, {"post_id": 28107, "ts": "2026-07-14T05:13:58Z", "hours": 15.9339, "text": "1)Chapter 1 - STARTING 2)Getting our ui ready 3)Setting up shadcn, next.js app and wakatime with webstorm 4)Fixed Next js compiler issue and made Navbar 5)Completed Most of the landing Page 6)setted up dashboard (maybe) 7)setted up conda env 8)EDA 9)data preprocessing"}]...
|
Title: AetherMed by @rudramaywad | Stardance
Devl Title: AetherMed by @rudramaywad | Stardance
Devlogs:
1)Chapter 1 - STARTING 2)Getting our ui ready 3)Setting up shadcn, next.js app and wakatime with webstorm 4)Fixed Next js compiler issue and made Navbar 5)Completed Most of the landing Page 6)setted up dashboard (maybe) 7)setted up conda env 8)EDA 9)data preprocessing
So i finally completed all the DATA PREPRCESSING it was probably the most time consuming part but it was well worth it as shaping the longitudnal data is also an hard task i also wrote code for parrally downloading and deleting images on 4 threads whil model trains on others.
Model loading and training - Part 1 So, basically past few days weren’t went as expected. But finally toady i see peices meeting together.I have setted up parrlel downloading while traing by dedication few threads to it and i hopes to make my training pipline so stong so it only remains as hard as changing variables to choose between which models to fine tune and d how much data to use 31st will be my final deadline for launching v1 then in future updates i will add auth and database(scans storage,chats stored etc) i will also try to meet some radiolgists and have them test AetherMEd so lets see how following days goes.
Training So, basically I on an old hp probook with 4gb ram ltrelly and I am treid to train it on colab but it doesn’t haves enough vram so now I am going for kaggle as it have 2*t4. I also wrote a lot of code past hrs now we are really near to begin training maybe even in 2 weeks We may see V2 live. let hope for the best. Peace
tweaked ui and wrote code for || training
Finalised everything and trained using torchrun for kaggle 2*t4 optimization Its now completely trained for longitudnal reporting though it uses a lot gpu resourses I somehow rained it on 2*t4’s over a long time its not all there will be many future updates and my final aim is still to make AetherMed something that helps atleast 1 radiolgist every single day. with that said the journey will continue for sure. The future versions are gonna have :- Much better ui , auth and database features PDF BASED DETAILED REPORT GENERATION with Grad-Cam. Even better AI capabilities and many other features
minor update
Ships:
I made an high-quality ai-assistant for radiolgist which can drastically save them time. The major challenge was finetuneing the 27b parameter vlm with my 4gb ram laptop wich does’nt even have an gpu so, I used kaggle gpu’s for the project with distributed training, model merging, quantization. I am proud of the fact I completed this project and that the project with some improvement can help real people....
|
1793087552.2496338
|
1793173952.2496338
|
|
44323
|
FormCheck by @cluelessfr | Stardance
|
cluelessfr
|
0
|
52.92
|
0
|
[]
|
[{"post_id": 81112, "ts": "202 [{"post_id": 81112, "ts": "2026-10-19T22:36:03Z", "hours": 6.5611, "text": "Devlog 14: I started preparing for the feedback. I am planning to mostly give feedback on timing/tempos, so I started adding some functions for that. The first thing I did was correct the scaling of video coordinates before calculating knee angles to ensure higher accuracy. Then I added a lowering-time estimator that looks for sustained movement instead of just angles at timestamps. I ensured to account for rectangular frames, leg switches, observation gaps, and timing integration. All tests passed. The next steps are actually providing feedback from this data, and then connecting this to the UI."}, {"post_id": 77869, "ts": "2026-10-08T16:33:46Z", "hours": 3.5961, "text": "Devlog 13: This devlog was mostly some final touches. I did add 3 things, though. The first of which is a frame progress display on the UI. This shows the user of many of the total frames have been processed after they start the analysis. Second, I added some text that was a disclaimer on the limitations of the analysis. The third thing I added was a reset between long gaps. So if the squat takes too long to get to the next state, then the detection resets and it starts looking for another starting squat. The first test I did was that I sampled different repetition intervals to determine which had the most detail but didn’t take too long to process. I landed on sampling frames every 250 Ms. Then I tested all the different UI states on the emulator using different videos. I then added tests for all the new features that I just mentioned to you. The next step is probably going to be actually implementing feedback."}, {"post_id": 75113, "ts": "2026-09-29T05:01:41Z", "hours": 8.2819, "text": "Devlog 12: I added some more meaningful upgrades this time. I added functionality so that the app could detect a real squat repetition. This works by combining this with the pose sequence analyzer, which contains poses and their timestamps. By mapping the angle formed by the hip, knee, and ankle at different intervals of the video, the app is able to detect if the angle got gradually lower, then gradually got higher. If these angles pass the thresholds needed to create a straight leg angle and a squatted down angle, then we can conclude that a squat repetition was performed. To accomplish this I added many different smaller functions, then combined them all together to get the final result. This allowed me to test each part individually to ensure they all worked. I also added this to the UI of the app, which you can see in the image. Finally I added real video validation, which basically means that I tested the current state of the app with a real video of a person doing a squat. The app was able to successfully recognize the repetition of the squat."}, {"post_id": 70842, "ts": "2026-09-19T21:02:38Z", "hours": 6.1419, "text": "Devlog 11: Now I added a few things. First I added a function that can sample frames at different intervals and stores the MediaPipe result with the timestamp of the frame. I also added hip/knee/ankle extraction for both sides and also confidence-based leg section. Codex wrote a few methods (2-3), and I wrote the rest. I then added timestamped knee angle measurements, and also connected the leg selector to the angle calculator. Finally, I added a sequence analyzer that keeps the valid measurements and skips the unclear frames. I added test for all these functions. There is a little more than this, but this is the gist of what I have been working on right now."}, {"post_id": 65756, "ts": "2026-09-11T03:20:19Z", "hours": 6.9169, "text": "Devlog 10: This time was some meaningful upgrades. First of all I added a function to extract a bitmap from a video given a timestamp. Then I added a separate function in order to convert that bitmap into an MPImage. This allows me to access it from anywhere. Finally I created a new class that combines the decoding, conversion, and pose processing tasks into one pipeline. I also added tests for all of these. Currently only one frame processes, but soon I will start to improve this."}, {"post_id": 63969, "ts": "2026-09-08T01:55:46Z", "hours": 8.5042, "text": "Devlog 09: Now the app stores the selected video’s Uri in an activity field, meaning it can be accessed for later processing instead of only the status text. Also frame timestamps can now be generated. This means that you can input the video duration as well as the interval that you want the timestamps to be generated, then you will get a set of timestamps for the video. The video metadata can also now be read. It uses Android’s MediaMetadataRetriever to open the video. Currently only the duration of the video can be retrieved, but later you will be able to decode individual frames. Finally I added tests for all of these. For the metadata retriever specifically I uploaded a test video to confirm that I could get an accurate measurement. Also updated the documentation."}, {"post_id": 47722, "ts": "2026-08-15T20:26:10Z", "hours": 3.5783, "text": "Devlog 08: I finally added the MediaPipe dependency, as well as a few functions. First of all I also added the Pose Landmarker Full model for it to actually detect poses. Then I created a manager function to initialize and close MediaPipe. I then added a function that could process an already decoded video frame with a timestamp using MediaPipe. I added tests for all of these to ensure they work when the app runs, and updated all the logs."}, {"post_id": 46085, "ts": "2026-08-13T01:19:04Z", "hours": 1.9819, "text": "Devlog 07: I changed the emulator from being on device to remote via Firebase. This allows me to test the app cleanly without lagging my computer. The only problem is I get a limited 30 minutes per month, so I have to use them wisely. I also updated the Point2D function to reject non-finite points. This prevents errors on the future. I also added a class that combines all the other functionality into one. It returns an OptionalDouble, which is useful when you don’t know if you are going to get a result. This new function accepts three LandmarkObservations, Then if the result is valid, it returns the angle degrees between the points. If not, it returns nothing."}, {"post_id": 44348, "ts": "2026-08-10T01:32:26Z", "hours": 1.3133, "text": "Devlog 06: I added the landmark quality gate, which helps determine whether the visibility and presence of the point meet the minimum requirements. If it does, then it passes. If it doesn’t, then the point fails. From here there are two options, either the app tries to find another point, or the app says it cannot reliably determine your form from that video I also added the AI use log. I mainly did this because I will be submitting this to the Congressional App Challenge."}, {"post_id": 44307, "ts": "2026-08-09T23:40:20Z", "hours": 1.0214, "text": "Devlog 05: Today I added landmark storage and reliability tests. What this is is basically a new object that can store a point, its visibility, and presence. The point is the point itself, the visibility says how well the object can be seen, and the presence determines how much of the object is actually in the video frame. These three factors help determine how well the video can be analyzed. If the video cannot be analyzed well enough, then FormCheck will send a message saying so (This hasn’t been implemented yet, but this is the basic idea of why this is there in the first place)."}, {"post_id": 43747, "ts": "2026-08-09T05:12:50Z", "hours": 1.1897, "text": "Devlog 04: I added functions for measuring the angle based on three points (the joints). Basically how this works is that it first takes in three points, the first endpoint, a vertex, and a second endpoint. Then it uses the dot product formula with the two vectors to find the angle between the two lines."}, {"post_id": 43080, "ts": "2026-08-08T04:48:16Z", "hours": 1.5214, "text": "Devlog 03: I added the file picking dialogue. Now whenever you click the “Select a video” button the android folder picker opens and you can choose a video. I think next is working on the actual pose detection logic."}, {"post_id": 42951, "ts": "2026-08-07T22:46:59Z", "hours": 1.3858, "text": "Devlog 02: I added the initial video selection interface. I added some text to describe the app, and a button for the user to be able to select a video to upload. Currently, the button does not do anything. Next I will have to continue working on the button and the actual pose estimation part of this."}, {"post_id": 41569, "ts": "2026-08-05T21:12:03Z", "hours": 0.9278, "text": "Devlog 01: This is the first devlog of the FormCheck project, an Android app that helps you check your form during workouts. Currently I just set everything up in Android Studio, connected Hackatime, and set up GitHub."}]...
|
Title: FormCheck by @cluelessfr | Stardance
Devlo Title: FormCheck by @cluelessfr | Stardance
Devlogs:
Devlog 01: This is the first devlog of the FormCheck project, an Android app that helps you check your form during workouts. Currently I just set everything up in Android Studio, connected Hackatime, and set up GitHub.
Devlog 02: I added the initial video selection interface. I added some text to describe the app, and a button for the user to be able to select a video to upload. Currently, the button does not do anything. Next I will have to continue working on the button and the actual pose estimation part of this.
Devlog 03: I added the file picking dialogue. Now whenever you click the “Select a video” button the android folder picker opens and you can choose a video. I think next is working on the actual pose detection logic.
Devlog 04: I added functions for measuring the angle based on three points (the joints). Basically how this works is that it first takes in three points, the first endpoint, a vertex, and a second endpoint. Then it uses the dot product formula with the two vectors to find the angle between the two lines.
Devlog 05: Today I added landmark storage and reliability tests. What this is is basically a new object that can store a point, its visibility, and presence. The point is the point itself, the visibility says how well the object can be seen, and the presence determines how much of the object is actually in the video frame. These three factors help determine how well the video can be analyzed. If the video cannot be analyzed well enough, then FormCheck will send a message saying so (This hasn’t been implemented yet, but this is the basic idea of why this is there in the first place).
Devlog 06: I added the landmark quality gate, which helps determine whether the visibility and presence of the point meet the minimum requirements. If it does, then it passes. If it doesn’t, then the point fails. From here there are two options, either the app tries to find another point, or the app says it cannot reliably determine your form from that video I also added the AI use log. I mainly did this because I will be submitting this to the Congressional App Challenge.
Devlog 07: I changed the emulator from being on device to remote via Firebase. This allows me to test the app cleanly without lagging my computer. The only problem is I get a limited 30 minutes per month, so I have to use them wisely. I also updated the Point2D function to reject non-finite points. This prevents errors on the future. I also added a class that combines all the other functionality into one. It returns an OptionalDouble, which is useful when you don’t know if you are going to get a result. This new function accepts three LandmarkObservations, Then if the result is valid, it returns the angle degrees between the points. If not, it returns nothing.
Devlog 08: I finally added the MediaPipe dependency, as well as a few functions. First of all I also added the Pose Landmarker Full model for it to actually detect poses. Then I created a manager function to initialize and close MediaPipe. I then added a function that could process an already decoded video frame with a timestamp using MediaPipe. I added tests for all of these to ensure they work when the app runs, and updated all the logs.
Devlog 09: Now the app stores the selected video’s Uri in an activity field, meaning it can be accessed for later processing instead of only the status text. Also frame timestamps can now be generated. This means that you can input the video duration as well as the interval that you want the timestamps to be generated, then you will get a set of timestamps for the video. The video metadata can also now be read. It uses Android’s MediaMetadataRetriever to open the video. Currently only the duration of the video can be retrieved, but later you will be able to decode individual frames. Finally I added tests for all of these. For the metadata retriever specifically I uploaded a test video to confirm that I could get an accurate measurement. Also updated the documentation.
Devlog 10: This time was some meaningful upgrades. First of all I added a function to extract a bitmap from a video given a timestamp. Then I added a separate function in order to convert that bitmap into an MPImage. This allows me to access it from anywhere. Finally I created a new class that combines the decoding, conversion, and pose processing tasks into one pipeline. I also added tests for all of these. Currently only one frame processes, but soon I will start to improve this.
Devlog 11: Now I added a few things. First I added a function that can sample frames at different intervals and stores the MediaPipe result with the timestamp of the frame. I also added hip/knee/ankle extraction for both sides and also confidence-based leg section. Codex wrote a few methods (2-3), and I wrote the rest. I then added timestamped knee angle measurements, and also connected the leg selector to the angle calculator. Finally, I added a sequence analyzer that keeps the valid measurements and skips the unclear frames. I added test for all these functions. There is a little more than this, but this is the gist of what I have been working on right now.
Devlog 12: I added some more meaningful upgrades this time. I added functionality so that the app could detect a real squat repetition. This works by combining this with the pose sequence analyzer, which contains poses and their timestamps. By mapping the angle formed by the hip, knee, and ankle at different intervals of the video, the app is able to detect if the angle got gradually lower, then gradually got higher. If these angles pass the thresholds needed to create a straight leg angle and a squatted down angle, then we can conclude that a squat repetition was performed. To accomplish this I added many different smaller functions, then combined them all together to get the final result. This allowed me to test each part individually to ensure they all worked. I also added this to the UI of the app, which you can see in the image. Finally I added real video validation, which basically means that I tested the current state of the app with a real video of a person doing a squat. The app was able to successfully recognize the repetition of the squat.
Devlog 13: This devlog was mostly some final touches. I did add 3 things, though. The first of which is a frame progress display on the UI. This shows the user of many of the total frames have been processed after they start the analysis. Second, I added some text that was a disclaimer on the limitations of the analysis. The third thing I added was a reset between long gaps. So if the squat takes too long to get to the next state, then the detection resets and it starts looking for another starting squat. The first test I did was that I sampled different repetition intervals to determine which had the most detail but didn’t take too long to process. I landed on sampling frames every 250 Ms. Then I tested all the different UI states on the emulator using different videos. I then added tests for all the new features that I just mentioned to you. The next step is probably going to be actually implementing feedback.
Devlog 14: I started preparing for the feedback. I am planning to mostly give feedback on timing/tempos, so I started adding some functions for that. The first thing I did was correct the scaling of video coordinates before calculating knee angles to ensure higher accuracy. Then I added a lowering-time estimator that looks for sustained movement instead of just angles at timestamps. I ensured to account for rectangular frames, leg switches, observation gaps, and timing integration. All tests passed. The next steps are actually providing feedback from this data, and then connecting this to the UI....
|
1792583275.8698568
|
1793188075.8698568
|
|
34042
|
pengui by @Kanashimo | Stardance
|
Kanashimo
|
0
|
52.77
|
0
|
[]
|
[{"post_id": 79556, "ts": "202 [{"post_id": 79556, "ts": "2026-10-14T16:11:14Z", "hours": 6.4461, "text": "pengui - devlog #8 Hello again! Not gonna lie, but when I found out that stardance is has been extended by another month, I switched myself into procrastination mode. So what I’ve changed? I added ruler As I said before that I wanna do this, I rebranded the project from yasu to pengui (but I haven’t updated the stardance page yet) Fixed all the errors related to clipboard See you next devlog 👋"}, {"post_id": 73224, "ts": "2026-09-24T16:56:17Z", "hours": 7.5731, "text": "yasu - devlog #7 It’s time to hurry! Here’s what I’ve added/changed since last devlog. added toolbar with fancy fonts added pipette removed glew cuz it’s buggy as hell, now using glbinding I’ve also fixed minor bugs, tbh I’m little bit worried that there will be no time left to deploy it to flathub. Anyway, It’s time to work work work. Here’s how it’s looking after the changes:"}, {"post_id": 71456, "ts": "2026-09-20T21:18:26Z", "hours": 9.0206, "text": "yasu - devlog #6 So since last devlog I’ve worked on: a modular abstraction layer for the main loop error dialog popup instead of cerr (works with KDE and GNOME, cerr is used as a fallback) adding (very) basic README, for now it only contains build information and even that isn’t complete yet some bugfixes with memory and so on And yeah, that’s it. Refactoring took the biggest part of the time. Now I can move on to other things that I’ve been talking about. Oh, and also I’m thinking about rebranding the project in the near future, I think that this name is silly. See ya."}, {"post_id": 70264, "ts": "2026-09-18T20:43:10Z", "hours": 7.5167, "text": "yasu - devlog #5 THERE IS GLOW EFFECT!11!!!1 After messing with shaders a lot, I finally finished it and the effect is kinda neat. Under the hood I’m using the exponential function to achieve smooth and nonlinear increase of transparency with distance. In reference to the previous devlog, I’ve successfully rewritten shader loader as a class. Probably you will not notice because it’s very subtle, but there’s also a tween that scales strength of that glow and it lasts something around 0.5s. Moving on, now I’ll focus on these things: screenshot save & clipboard implementation basic UI configuration rewrite of main loop as a class 🤡 (it’s unusable rn due to amount of things in it) I want to achieve something similar that you can see in game development industry, there is a main loop, and every submodule is another script that is attached to it. Each “attached script” has their own implementation of init and update method so later it can draw things, assign variables and so on."}, {"post_id": 66886, "ts": "2026-09-12T20:43:01Z", "hours": 10.0272, "text": "yasu - devlog #4 Hello, fortunately I’ve recovered from my bipolar delusion of rewriting it in C. Let’s say that this has been a fever dream. When writing it, I completely forgot about the number of C++ functions I’ve been using for convenience. Anyway, I’ve implemented dragging. Now you can drag from one point to another, and the rect with blue borders will highlight the area. It works by rendering the same texture (screenshot) that is in the background. Now I’m fighting with shaders because I want to add fancy dandy animations!!111!1! I’ve implemented a custom loader, but now I’m rewriting it as a class. I can’t show you the classic triangle because it doesn’t work yet See you next devlog!"}, {"post_id": 62270, "ts": "2026-09-05T15:43:00Z", "hours": 5.1053, "text": "yasu - devlog #3 So this has been some time, I was busy with my own things and now I’m back. I have 5 hours of work, but this was something like month or two ago, so to be honest I don’t remember what I was doing. Anyway, I can definitely say that I’ve had a lot of problems with ImGui. And it wasn’t my fault, I’m using Meson WrapDB and there was outdated version that led to memory leaks. When I figured this out, I made a PR to Meson WrapDB with the updated one. That’s all I remember. I came to the conclusion that I probably want to rewrite everything in C, because every library that I’m using is powered by C, not C++. And the only feature of C++ that I use are classes, but my abstraction layer is bloated piece of junk, so whatever."}, {"post_id": 28336, "ts": "2026-07-14T15:03:30Z", "hours": 3.9608, "text": "yasu - devlog #2 Finally, I’ve finished implementing the abstraction layer, so now I’m free from using C libraries in C++ 🥹 Oh wait….. there is glfw here……. Anyway, there isn’t any visible progress, so that’s why you can see that awesome screenshot (hope staff doesn’t complain 🙏). The codebase in its logic is practically the same, but now it’s packed into a pretty class and I added error handling for everything, so now I can catch every possible exception. Also, I (tried to) get rid of all possible memory leaks and yeah, that’s all. Now it’s time for the UI. I repeat myself, but I’m going to use GLFW with ImGui. If someone is curious how I’m going to display the screenshots, here’s the explanation: I make one big screenshot with all monitors (that’s how portals work) Then I separate and crop it, so each monitor has it’s own I convert each screenshot to raw pixel buffer For each monitor, I create new window with GLFW and I load the screenshot from that buffer And later I’ll add things like cropping etc. but that’s the part of UI, so I will be talking about it in the future devlogs! See ya"}, {"post_id": 27678, "ts": "2026-07-13T13:43:12Z", "hours": 3.1194, "text": "yasu - devlog #1 Yasu is an acronym of yet another screenshot utility , I was thinking a lot about the name and that’s what I’ve come up with. Why? I’ve been playing a lot with Linux on my servers, but never used it as a main operating system on my desktop. Recently, I finally moved over and I can say that I’m a happy user of openSUSE with KDE Plasma. But there is one aspect, that annoys me. I love the screenshot app from Windows 11 available under Win+Shif+S shortcut, and none of the popular Linux equivalents satisfies me. Spectacle from KDE is slow and bloated with too many features and buttons, I just want to make a screenshot that goes into my clipboard without thinking which button to click. Flameshot is just OK, but in its design it’s similar to Spectacle. To be honest, I’m not a fan of screen capture app on macOS too. So maybe later I will add the support for Apple devices. It will not be that hard, because I’m using my own abstraction layer over system’s screenshot function, so I’m going to have implement only that part of the code again. So, that’s how my idea has born. Implementation For this project I went with C++ , and no, I’m not using Qt like Spectacle or Flameshot. I’m planning to use OpenGL via GLFW with ImGui for the screen capture UI, and GTK4 for small settings app. One of my other requirements, is that I want this app to be available on all Linux distros, regardless of the display server ( X11/Wayland ), desktop environment is ( GNOME/KDE ) or window manager ( Hyprland etc.). I don’t have any experience in writing apps for Linux, but after a quick research I found that the best solution for me is use of XDG Desktop Portal , and it’s made by Flatpak , so I’ve instant support for it. Double win I can say. As I’ve said earlier I’m writing my own abstraction layer over native’s screenshot function. So I will be able to implement it both for Linux and later for macOS. And maybe even Windows in the future… What I’ve done in the past few hours? I’ve set up the project with Meson as a build system, and…. I’ve captured my first screenshot! Take a look at it. In the first place I tried to use ScreenCast because it’s gives me much more freedom, but finally due to technical reasons I picked Screenshot , main disadvantage of it is that me as a program, receive an URI to a file on a disk, instead of a raw pixels on screen like with ScreenCast . But for the user, it’s much more friendly and safer in terms of application’s permissions. Also, I’m going to have much less compatibility issues later. And also, the given capture, contains all monitors in one image, so I’ve to separate everything by loading the image into RAM, then calculating where is each monitor with GTK , and finally I crop everything with gdk-pixbuf , so I’m left with separate image for each monitor. Now I’m going to focus on writing the abstraction layer, because I haven’t finished it yet. And after I’ll probably move straight forward to implementing the window with GLFW. That was a lot of text, more than I would assume. I hope someone is really going to read this. 😉 Oh, and I’ve made amazing logo in Figma, hope you like it!"}]...
|
Title: pengui by @Kanashimo | Stardance
Devlogs:
Title: pengui by @Kanashimo | Stardance
Devlogs:
yasu - devlog #1 Yasu is an acronym of yet another screenshot utility , I was thinking a lot about the name and that’s what I’ve come up with. Why? I’ve been playing a lot with Linux on my servers, but never used it as a main operating system on my desktop. Recently, I finally moved over and I can say that I’m a happy user of openSUSE with KDE Plasma. But there is one aspect, that annoys me. I love the screenshot app from Windows 11 available under Win+Shif+S shortcut, and none of the popular Linux equivalents satisfies me. Spectacle from KDE is slow and bloated with too many features and buttons, I just want to make a screenshot that goes into my clipboard without thinking which button to click. Flameshot is just OK, but in its design it’s similar to Spectacle. To be honest, I’m not a fan of screen capture app on macOS too. So maybe later I will add the support for Apple devices. It will not be that hard, because I’m using my own abstraction layer over system’s screenshot function, so I’m going to have implement only that part of the code again. So, that’s how my idea has born. Implementation For this project I went with C++ , and no, I’m not using Qt like Spectacle or Flameshot. I’m planning to use OpenGL via GLFW with ImGui for the screen capture UI, and GTK4 for small settings app. One of my other requirements, is that I want this app to be available on all Linux distros, regardless of the display server ( X11/Wayland ), desktop environment is ( GNOME/KDE ) or window manager ( Hyprland etc.). I don’t have any experience in writing apps for Linux, but after a quick research I found that the best solution for me is use of XDG Desktop Portal , and it’s made by Flatpak , so I’ve instant support for it. Double win I can say. As I’ve said earlier I’m writing my own abstraction layer over native’s screenshot function. So I will be able to implement it both for Linux and later for macOS. And maybe even Windows in the future… What I’ve done in the past few hours? I’ve set up the project with Meson as a build system, and…. I’ve captured my first screenshot! Take a look at it. In the first place I tried to use ScreenCast because it’s gives me much more freedom, but finally due to technical reasons I picked Screenshot , main disadvantage of it is that me as a program, receive an URI to a file on a disk, instead of a raw pixels on screen like with ScreenCast . But for the user, it’s much more friendly and safer in terms of application’s permissions. Also, I’m going to have much less compatibility issues later. And also, the given capture, contains all monitors in one image, so I’ve to separate everything by loading the image into RAM, then calculating where is each monitor with GTK , and finally I crop everything with gdk-pixbuf , so I’m left with separate image for each monitor. Now I’m going to focus on writing the abstraction layer, because I haven’t finished it yet. And after I’ll probably move straight forward to implementing the window with GLFW. That was a lot of text, more than I would assume. I hope someone is really going to read this. 😉 Oh, and I’ve made amazing logo in Figma, hope you like it!
yasu - devlog #2 Finally, I’ve finished implementing the abstraction layer, so now I’m free from using C libraries in C++ 🥹 Oh wait….. there is glfw here……. Anyway, there isn’t any visible progress, so that’s why you can see that awesome screenshot (hope staff doesn’t complain 🙏). The codebase in its logic is practically the same, but now it’s packed into a pretty class and I added error handling for everything, so now I can catch every possible exception. Also, I (tried to) get rid of all possible memory leaks and yeah, that’s all. Now it’s time for the UI. I repeat myself, but I’m going to use GLFW with ImGui. If someone is curious how I’m going to display the screenshots, here’s the explanation: I make one big screenshot with all monitors (that’s how portals work) Then I separate and crop it, so each monitor has it’s own I convert each screenshot to raw pixel buffer For each monitor, I create new window with GLFW and I load the screenshot from that buffer And later I’ll add things like cropping etc. but that’s the part of UI, so I will be talking about it in the future devlogs! See ya
yasu - devlog #3 So this has been some time, I was busy with my own things and now I’m back. I have 5 hours of work, but this was something like month or two ago, so to be honest I don’t remember what I was doing. Anyway, I can definitely say that I’ve had a lot of problems with ImGui. And it wasn’t my fault, I’m using Meson WrapDB and there was outdated version that led to memory leaks. When I figured this out, I made a PR to Meson WrapDB with the updated one. That’s all I remember. I came to the conclusion that I probably want to rewrite everything in C, because every library that I’m using is powered by C, not C++. And the only feature of C++ that I use are classes, but my abstraction layer is bloated piece of junk, so whatever.
yasu - devlog #4 Hello, fortunately I’ve recovered from my bipolar delusion of rewriting it in C. Let’s say that this has been a fever dream. When writing it, I completely forgot about the number of C++ functions I’ve been using for convenience. Anyway, I’ve implemented dragging. Now you can drag from one point to another, and the rect with blue borders will highlight the area. It works by rendering the same texture (screenshot) that is in the background. Now I’m fighting with shaders because I want to add fancy dandy animations!!111!1! I’ve implemented a custom loader, but now I’m rewriting it as a class. I can’t show you the classic triangle because it doesn’t work yet See you next devlog!
yasu - devlog #5 THERE IS GLOW EFFECT!11!!!1 After messing with shaders a lot, I finally finished it and the effect is kinda neat. Under the hood I’m using the exponential function to achieve smooth and nonlinear increase of transparency with distance. In reference to the previous devlog, I’ve successfully rewritten shader loader as a class. Probably you will not notice because it’s very subtle, but there’s also a tween that scales strength of that glow and it lasts something around 0.5s. Moving on, now I’ll focus on these things: screenshot save & clipboard implementation basic UI configuration rewrite of main loop as a class 🤡 (it’s unusable rn due to amount of things in it) I want to achieve something similar that you can see in game development industry, there is a main loop, and every submodule is another script that is attached to it. Each “attached script” has their own implementation of init and update method so later it can draw things, assign variables and so on.
yasu - devlog #6 So since last devlog I’ve worked on: a modular abstraction layer for the main loop error dialog popup instead of cerr (works with KDE and GNOME, cerr is used as a fallback) adding (very) basic README, for now it only contains build information and even that isn’t complete yet some bugfixes with memory and so on And yeah, that’s it. Refactoring took the biggest part of the time. Now I can move on to other things that I’ve been talking about. Oh, and also I’m thinking about rebranding the project in the near future, I think that this name is silly. See ya.
yasu - devlog #7 It’s time to hurry! Here’s what I’ve added/changed since last devlog. added toolbar with fancy fonts added pipette removed glew cuz it’s buggy as hell, now using glbinding I’ve also fixed minor bugs, tbh I’m little bit worried that there will be no time left to deploy it to flathub. Anyway, It’s time to work work work. Here’s how it’s looking after the changes:
pengui - devlog #8 Hello again! Not gonna lie, but when I found out that stardance is has been extended by another month, I switched myself into procrastination mode. So what I’ve changed? I added ruler As I said before that I wanna do this, I rebranded the project from yasu to pengui (but I haven’t updated the stardance page yet) Fixed all the errors related to clipboard See you next devlog 👋...
|
1792536509.7266257
|
1793141309.7266257
|
|
41750
|
D E S C E N T by @subzeroditto | Stardance
|
subzeroditto
|
2
|
52.76
|
667
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T11:58:09Z", "hours": 6.0, "multiplier": 19.45, "payout": 110, "blessing": "neutral", "text": "hello D E S C E N D A N T S (for anyone new that’s what i call ppl who play D E S C E N T), this was quite a small set of updates i put out to improve the datapack i added : an improved guidebook with back buttons balancing changes a new magic system 3 unique magic weapons i would highly recommend checking out the Magician’s Deck, it took the longest by far", "repo": "https://github.com/banana-piecake/DESCENT/tree/master", "demo": "https://modrinth.com/datapack/d-e-s-c-e-n-t"}, {"ship_num": 2, "ts": "2026-08-25T04:12:01Z", "hours": 28.0, "multiplier": 19.93, "payout": 557, "blessing": "neutral", "text": "D E S C E N T was a datapack I made that originally stemmed from a small idea 9 months ago, and I had no clue when i was developing it that it would grow to be this big. Honestly it’s become a project I dreamed about making when i was young and i’m super proud of where it’s come. Installation : If modrinth has reviewed it, download it from there, otherwise you can download it here : https://github.com/banana-piecake/DESCENT/releases/tag/pre-modrinth Datapack install : install it in your world’s datapack folder, AND also install it in your resource pack folder, enable both Mod install : download the jar, install it as a mod in any of the 4 major modloaders (fabric, forge, quilt or neoforge), it’ll work in any world you create. Only for minecraft java version 26.2", "repo": "https://github.com/banana-piecake/DESCENT/tree/master", "demo": "https://modrinth.com/datapack/d-e-s-c-e-n-t"}]...
|
[{"post_id": 82933, "ts": "202 [{"post_id": 82933, "ts": "2026-10-26T09:13:20Z", "hours": 1.7172, "text": "hello d e s c e n d a n t s, big one today ancient greatsword got a huge buff, it wasnt feeling impactful enough so i gave it the cool vfx the scythes have also astronomer is done, showcase here https://youtu.be/vtc5K3Rs7yA?si=Imxgvno1sOggv4t7"}, {"post_id": 82559, "ts": "2026-10-25T07:50:28Z", "hours": 1.4553, "text": "hello d e s c e n d a n t s, 1 and a half hours of small changes also a new weapon, the ancient greatsword, which grants you buffs when lower hp"}, {"post_id": 80946, "ts": "2026-10-19T10:24:59Z", "hours": 0.8419, "text": "hello d e s c e n d a n t s, spear go boom yes very creative also the new animations now work with the moves, stagger, proper movement and constellations working with moves will come next"}, {"post_id": 80633, "ts": "2026-10-18T11:02:11Z", "hours": 1.4103, "text": "hello d e s c e n d a n t s, made a new weapon, sunder, which does a teleport slash, as well as made abilities for astronomer (tele slash and laser) it took longer than it shouldve ngl"}, {"post_id": 80298, "ts": "2026-10-17T05:37:49Z", "hours": 2.6522, "text": "yes d e s c e n d a n t s, i spent 2 and a half hours animating, modelling, texturing and creating a basic constellation system this is going to take a while"}, {"post_id": 79478, "ts": "2026-10-14T06:39:48Z", "hours": 0.4067, "text": "hello d e s c e n d a n t s, look at my bunny hat also stargazer got completely rebalanced but that’s not important"}, {"post_id": 79446, "ts": "2026-10-14T00:56:56Z", "hours": 0.7469, "text": "made some new textures, d e s c e n d a n t s code wise i havent really done much, im trying to get most textures etc done so i can get the trailer done btw if you wanna see what im doing more frequently, join #mc-datapacking in slack"}, {"post_id": 78668, "ts": "2026-10-11T07:27:55Z", "hours": 1.2456, "text": "another day, another sprite, D E S C E N D A N T S added some new sprite and a new item that shoots a laser"}, {"post_id": 78065, "ts": "2026-10-09T13:00:52Z", "hours": 1.2967, "text": "hello D E S C E N D A N T S, lets quickly go through everything i’ve added stargazer is mostly done, they can now atomise projectiles the new bottled echo item triggers your parry effects again half a second later, which can lead to some crazy builds frozen blade is now a dagger class weapon and added the pact which gives invincibility on half health to allow escapes and last stands here’s a representation of all the content so far"}, {"post_id": 77274, "ts": "2026-10-06T12:02:38Z", "hours": 0.4847, "text": "hello D E S C E N D A N T S, implemented some textures and added a couple new accessories 4 of these are the new marks, which grant passive stat ups and downs as well a regeneration accessory…"}, {"post_id": 77017, "ts": "2026-10-05T11:45:15Z", "hours": 2.6486, "text": "hello D E S C E N D A N T S, done a lot textures for rapiers are done, added 3 or so new accessories, finished the attack and movement code for stargazer, concepeted more, etc…"}, {"post_id": 76040, "ts": "2026-10-02T04:50:17Z", "hours": 0.395, "text": "hello D E S C E N D A N T S, finally finished some animations for the upcoming miniboss, take a look!"}, {"post_id": 75120, "ts": "2026-09-29T05:41:18Z", "hours": 1.3864, "text": "hello d e s c e n d a n t s, basic systems are difficult i finally got around to implementing parrying and accessories added 6 accessories and one parrying weapon kk going back to work now"}, {"post_id": 74266, "ts": "2026-09-27T03:13:30Z", "hours": 1.6011, "text": "backkkk from hiatus D E S C E N D A N T S done a lot of bugfixing and updating to 26.3"}, {"post_id": 59331, "ts": "2026-09-01T01:54:38Z", "hours": 0.4717, "text": "so someone asked me to make better bossbars, which is of course difficult because i make datapacks, but i found out how because im just like that ig"}, {"post_id": 57928, "ts": "2026-08-30T08:17:13Z", "hours": 0.8656, "text": "helllooooo D E S C E N D A N T S, finished off rituals and items for update, should be released on modrinth now"}, {"post_id": 57815, "ts": "2026-08-30T03:33:04Z", "hours": 2.3647, "text": "hello D E S C E N D A N T S, this weapon took so long but was so worth it First up, all bloom weapons now take durability accordingly second of all, this is the magician’s deck, the most complex weapon i’ve made so far on non flourishing use, it throws out a card that travels, spins for a short period of time, then returns to you, it travels through walls on flourishing use it shoots 4 cards that ignore i-frames but deal less damage it’s super fun and very cool"}, {"post_id": 57006, "ts": "2026-08-29T02:24:06Z", "hours": 0.4542, "text": "heya D E S C E N D A N T S, small stuff tbh magic weapons now take durability as well as bloom and longswords now require full charge to swing"}, {"post_id": 56517, "ts": "2026-08-28T09:55:04Z", "hours": 0.4983, "text": "to magic or to weapon, that is the question D E S C E N D A N T S… this is the kindling, which shoots flames, when flourishing it has a longer range, higher damage, and the flame are blue"}, {"post_id": 55499, "ts": "2026-08-27T12:00:38Z", "hours": 0.6433, "text": "well DESCENDANTS, that didnt take long this is bloom, its the representation of your mana, as you use a weapon, the flower grows, with it lowering when you dont use it, using it too long will wilt the flower, putting you on cooldown for a while when the flower is at it’s peak, you gain a flourishing boon, which changes how the weapon works for example, the wooden wand does 3 magic bursts instead of 1, greatly increasing the range, and has a damage increase bloom is about keeping track of what you’re doing and making sure to maintain a balance"}, {"post_id": 55479, "ts": "2026-08-27T11:00:00Z", "hours": 0.8431, "text": "i am back in action DESCENDANTS! i added some advanced vfx and hugely improved the guidebook so it’s actually usable now this is now out on modrinth! working on bloom right now, my take on mana"}, {"post_id": 52223, "ts": "2026-08-22T10:09:06Z", "hours": 0.3236, "text": "so uh, i lied DESCENDANTS, yeah i added a new ritual to dupe runes it was annoying me"}, {"post_id": 51604, "ts": "2026-08-21T11:35:23Z", "hours": 1.985, "text": "hello DESCENDANTS, this is the last devlog, as D E S C E N T is now ready to ship i finished all the dialogs every last one thank you all, truly, it has been wonderful to work on this, and i hope to release many updates Ship coming soon"}, {"post_id": 50913, "ts": "2026-08-20T11:44:32Z", "hours": 0.8972, "text": "hello DESCENDANTS. this is gonna be one of the last times i do this b4 shipping i finished all the boss drop rituals, they all require knowledge to perform, with that, every single ritual is complete only thing left is to write up the guidebook"}, {"post_id": 50833, "ts": "2026-08-20T08:38:41Z", "hours": 0.9872, "text": "helloooooooo DESCENDANTS, we are really close to done bosses now properly die, summon a rift to the overworld upon death, give music discs with a low chance, and give random knowledge super close to done"}, {"post_id": 50219, "ts": "2026-08-19T11:14:52Z", "hours": 0.6925, "text": "helllloooooo DESCENDANTS so uh another devlog i had a lot of free time okay i added more rituals voidtouched blade voidtouched shovel ice dagger fracture sculk bomb might go make more lowk"}, {"post_id": 50179, "ts": "2026-08-19T09:24:08Z", "hours": 0.6417, "text": "hellooooo DESCENDANTS! finishing off the project now :P: added knowledge, made bosses load chunks, more general improvements very close to finishing, just gotta finish off rituals, boss deaths and guidebook"}, {"post_id": 50026, "ts": "2026-08-19T01:42:29Z", "hours": 2.3022, "text": "hello DESCENDANTS, it’s been a while i have made a LOT of small polish and balance changes, but i’ll just go through the two major changes bloodfell items all have a new passive that buffs you on hit with a small chance, and bloodfell rituals are cheaper and easier rifts are finished, they send you to the void, where you get items to summon the bosses, the void itself is finally finished, meaning most of the content is done"}, {"post_id": 47870, "ts": "2026-08-16T03:52:46Z", "hours": 0.5964, "text": "LET’S GO GAMBLING!!! runes are a new system of item modifiers, separated into several tiers, which are rolled with a ritual, they can be applied to any item, they’re super fun and offer a lot of build variety (there are 30 of them) to obtain them you need 4 copper ingots, and 4 rune stones obtained from killing mobs. might add a way to dupe rune stones later in order to make them less grindy here you can see me rolling an epic rune on a tropical fish"}, {"post_id": 47839, "ts": "2026-08-16T01:51:36Z", "hours": 0.7267, "text": "Hello DESCENDENTS (that’s what you’re called now) Bloodfell weapons have felt disconnected for a while. they haven’t had any shared passive. i considered giving them all bleed, but the double damage is insane. The way to get bloodfell ingots is obtained through sacrifice, so they now have a new passive, Animosity! Animosity is the name of the datapack bloodfell weapons were originally planned for, before that was scrapped and moved to D E S C E N T, when you get hit, you have a chance to buff up."}, {"post_id": 47278, "ts": "2026-08-15T03:26:28Z", "hours": 0.6139, "text": "gun. the starlight is the final weapon of act one, obtained by beating the void guardians, an incredibly difficult duo boss fight, in exchange it’s incredibly powerful, summoning a powerful meteor on hit that explodes on landing."}, {"post_id": 46711, "ts": "2026-08-14T04:52:42Z", "hours": 0.2983, "text": "wow im doing stuff ig. finished rituals for soulbound and voidtouched harvester."}, {"post_id": 46647, "ts": "2026-08-14T01:47:39Z", "hours": 0.9144, "text": "three for one special today! so today i made : ice dagger : shoots a beam that slows enemies hit with an aoe explosion (no damage) voidtouched blade : random tp on rc with a short cooldown voidtouched steel (+the ritual for voidtouched steel) : the material used to create voidtouched weapons (basically enderite)"}, {"post_id": 46242, "ts": "2026-08-13T10:48:41Z", "hours": 0.6719, "text": "recreating old weapons is fun! today i remade the cursed cleaver, from this mod https://modrinth.com/mod/a.b.e.-forgery fun fact! this is the mod where void ripper originated from (or at least the entire concept of the boss, void, movement system, design etc…) anyways its pretty fun to use and i made it a lil stronger (its still kinda meh in terms of power but thats fine)"}, {"post_id": 45687, "ts": "2026-08-12T10:39:28Z", "hours": 0.6825, "text": "Guess it’s a two for one special today! sculk grenades are a new item that spread sculk when they hit blocks"}, {"post_id": 45655, "ts": "2026-08-12T09:10:23Z", "hours": 0.6406, "text": "Sculk is pretty cool was lowkey gonna make a splatoon mechanic but it’s lowkey impossible so i made wall climbing, sticking etc."}, {"post_id": 44549, "ts": "2026-08-10T11:50:47Z", "hours": 0.3733, "text": "finished the fracture lol, didnt expect to get it done"}, {"post_id": 44489, "ts": "2026-08-10T08:58:57Z", "hours": 0.4172, "text": "began working my first crossover! it’s the fracture from terramity 1.0"}, {"post_id": 43771, "ts": "2026-08-09T06:12:01Z", "hours": 0.8342, "text": "Weapon design is so fun :p today i finished the void fracture, a sword that applies 3 hits post attack, creating wild knockback and unpredictable combos"}, {"post_id": 43188, "ts": "2026-08-08T09:52:00Z", "hours": 0.2894, "text": "pretty small day updated void cull to require you to build 5 or more void stacks, which are applied by voidtouched weapons on hit, and get removed after 5 seconds, the timer resets on hit (same image as last time i have no clue how to display this in an image)"}, {"post_id": 42584, "ts": "2026-08-07T12:27:43Z", "hours": 1.0564, "text": "Keep inventory, a problem as old as time many mods and datapacks have tried to fix keep inventory, but none fit my situation so today i fixed that with the new soulbound enchantment, items dropped on death will return to you after 12 seconds, only if they are still on the floor https://youtu.be/zDh4c3vDw1o"}, {"post_id": 41876, "ts": "2026-08-06T11:07:15Z", "hours": 0.7853, "text": "making “enderite” actually cool, pt 2 (it’s called voidtouched steel) first things first, i added a new ritual to turn amethyst shards into echo shards, i want items to be assessable, and echo shards are a necessary crafting ingredient, but ancient cities often get looted early, and i keep multiplayer in mind second i added a new item, the voidtouched shovel, which has a chance to levitate your enemies on hit i then made voidtouched steel’s passive ability, void cull, which deals 999 damage when an enemy is under 25% max hp, (this will be rebalanced soon)"}, {"post_id": 41210, "ts": "2026-08-05T09:08:46Z", "hours": 0.5067, "text": "Enderite always feels like a boring concept to me everyone does the same thing, a straight upgrade, maybe a teleport ability, but i wanted to be different, to make an upgrade to netherite that gives you a reason to go back to the end without being boring introducing voidtouched steel, which will be crafted with shulker shells and purpur, making it accessible to all and renewable starting off we have the Voidtouched Harvester, an upgrade to the Bloodfell Scythe that now has one incredibly powerful dash that removees your gravity for the duration up next i need to work on the void execution mechanic"}, {"post_id": 40494, "ts": "2026-08-04T01:58:08Z", "hours": 0.5733, "text": "this is gonna take a while Patch notes : added 3 new sprites, updated creative menu to match finished D E S C E N T guidebook updated creative menu added one new function for an upcoming weapon updated the dialog menu"}, {"post_id": 39176, "ts": "2026-08-01T23:28:18Z", "hours": 0.2739, "text": "rebalanced the absurdly overpowered bloodfell cleaver it used to do 10 flat damage every 4th hit (magic, so pierces armour) which was busted, now it only does double damage i have no clue how this was logged as 16m i swear it took 3"}, {"post_id": 38640, "ts": "2026-08-01T04:25:23Z", "hours": 1.4375, "text": "Huge day today, lots of content today and yesterday’s progress: added THIRTY new enchantments as part of my custom rune system, you can have one per item, some apply effects such as burn or wither, and others are just stat buffs added the items to the creative menu via a neat trick, however it’s not fully implemented yet and finally, finished the duo void guardians boss fight, which required me to rework the entire system for every other boss good stuff, only took about 2 hours, so pretty solid lock in"}, {"post_id": 37357, "ts": "2026-07-30T00:42:06Z", "hours": 8.4064, "text": "this has been a long time in the works i began working on this during stardance, however i forgot to link hackatime so i have spent around 10-12 hours on it (just on coding, that’s ignoring modelling, animating, texturing, playtesting) if you want to see all the devlogs (to prove my progress ig) see here : https://www.youtube.com/playlist?list=PLPvXzO2e-wn0"}]...
|
Title: D E S C E N T by @subzeroditto | Stardance
Title: D E S C E N T by @subzeroditto | Stardance
Devlogs:
this has been a long time in the works i began working on this during stardance, however i forgot to link hackatime so i have spent around 10-12 hours on it (just on coding, that’s ignoring modelling, animating, texturing, playtesting) if you want to see all the devlogs (to prove my progress ig) see here : https://www.youtube.com/playlist?list=PLPvXzO2e-wn0
Huge day today, lots of content today and yesterday’s progress: added THIRTY new enchantments as part of my custom rune system, you can have one per item, some apply effects such as burn or wither, and others are just stat buffs added the items to the creative menu via a neat trick, however it’s not fully implemented yet and finally, finished the duo void guardians boss fight, which required me to rework the entire system for every other boss good stuff, only took about 2 hours, so pretty solid lock in
rebalanced the absurdly overpowered bloodfell cleaver it used to do 10 flat damage every 4th hit (magic, so pierces armour) which was busted, now it only does double damage i have no clue how this was logged as 16m i swear it took 3
this is gonna take a while Patch notes : added 3 new sprites, updated creative menu to match finished D E S C E N T guidebook updated creative menu added one new function for an upcoming weapon updated the dialog menu
Enderite always feels like a boring concept to me everyone does the same thing, a straight upgrade, maybe a teleport ability, but i wanted to be different, to make an upgrade to netherite that gives you a reason to go back to the end without being boring introducing voidtouched steel, which will be crafted with shulker shells and purpur, making it accessible to all and renewable starting off we have the Voidtouched Harvester, an upgrade to the Bloodfell Scythe that now has one incredibly powerful dash that removees your gravity for the duration up next i need to work on the void execution mechanic
making “enderite” actually cool, pt 2 (it’s called voidtouched steel) first things first, i added a new ritual to turn amethyst shards into echo shards, i want items to be assessable, and echo shards are a necessary crafting ingredient, but ancient cities often get looted early, and i keep multiplayer in mind second i added a new item, the voidtouched shovel, which has a chance to levitate your enemies on hit i then made voidtouched steel’s passive ability, void cull, which deals 999 damage when an enemy is under 25% max hp, (this will be rebalanced soon)
Keep inventory, a problem as old as time many mods and datapacks have tried to fix keep inventory, but none fit my situation so today i fixed that with the new soulbound enchantment, items dropped on death will return to you after 12 seconds, only if they are still on the floor https://youtu.be/zDh4c3vDw1o
pretty small day updated void cull to require you to build 5 or more void stacks, which are applied by voidtouched weapons on hit, and get removed after 5 seconds, the timer resets on hit (same image as last time i have no clue how to display this in an image)
Weapon design is so fun :p today i finished the void fracture, a sword that applies 3 hits post attack, creating wild knockback and unpredictable combos
began working my first crossover! it’s the fracture from terramity 1.0
finished the fracture lol, didnt expect to get it done
Sculk is pretty cool was lowkey gonna make a splatoon mechanic but it’s lowkey impossible so i made wall climbing, sticking etc.
Guess it’s a two for one special today! sculk grenades are a new item that spread sculk when they hit blocks
recreating old weapons is fun! today i remade the cursed cleaver, from this mod https://modrinth.com/mod/a.b.e.-forgery fun fact! this is the mod where void ripper originated from (or at least the entire concept of the boss, void, movement system, design etc…) anyways its pretty fun to use and i made it a lil stronger (its still kinda meh in terms of power but thats fine)
three for one special today! so today i made : ice dagger : shoots a beam that slows enemies hit with an aoe explosion (no damage) voidtouched blade : random tp on rc with a short cooldown voidtouched steel (+the ritual for voidtouched steel) : the material used to create voidtouched weapons (basically enderite)
wow im doing stuff ig. finished rituals for soulbound and voidtouched harvester.
gun. the starlight is the final weapon of act one, obtained by beating the void guardians, an incredibly difficult duo boss fight, in exchange it’s incredibly powerful, summoning a powerful meteor on hit that explodes on landing.
Hello DESCENDENTS (that’s what you’re called now) Bloodfell weapons have felt disconnected for a while. they haven’t had any shared passive. i considered giving them all bleed, but the double damage is insane. The way to get bloodfell ingots is obtained through sacrifice, so they now have a new passive, Animosity! Animosity is the name of the datapack bloodfell weapons were originally planned for, before that was scrapped and moved to D E S C E N T, when you get hit, you have a chance to buff up.
LET’S GO GAMBLING!!! runes are a new system of item modifiers, separated into several tiers, which are rolled with a ritual, they can be applied to any item, they’re super fun and offer a lot of build variety (there are 30 of them) to obtain them you need 4 copper ingots, and 4 rune stones obtained from killing mobs. might add a way to dupe rune stones later in order to make them less grindy here you can see me rolling an epic rune on a tropical fish
hello DESCENDANTS, it’s been a while i have made a LOT of small polish and balance changes, but i’ll just go through the two major changes bloodfell items all have a new passive that buffs you on hit with a small chance, and bloodfell rituals are cheaper and easier rifts are finished, they send you to the void, where you get items to summon the bosses, the void itself is finally finished, meaning most of the content is done
hellooooo DESCENDANTS! finishing off the project now :P: added knowledge, made bosses load chunks, more general improvements very close to finishing, just gotta finish off rituals, boss deaths and guidebook
helllloooooo DESCENDANTS so uh another devlog i had a lot of free time okay i added more rituals voidtouched blade voidtouched shovel ice dagger fracture sculk bomb might go make more lowk
helloooooooo DESCENDANTS, we are really close to done bosses now properly die, summon a rift to the overworld upon death, give music discs with a low chance, and give random knowledge super close to done
hello DESCENDANTS. this is gonna be one of the last times i do this b4 shipping i finished all the boss drop rituals, they all require knowledge to perform, with that, every single ritual is complete only thing left is to write up the guidebook
hello DESCENDANTS, this is the last devlog, as D E S C E N T is now ready to ship i finished all the dialogs every last one thank you all, truly, it has been wonderful to work on this, and i hope to release many updates Ship coming soon
so uh, i lied DESCENDANTS, yeah i added a new ritual to dupe runes it was annoying me
i am back in action DESCENDANTS! i added some advanced vfx and hugely improved the guidebook so it’s actually usable now this is now out on modrinth! working on bloom right now, my take on mana
well DESCENDANTS, that didnt take long this is bloom, its the representation of your mana, as you use a weapon, the flower grows, with it lowering when you dont use it, using it too long will wilt the flower, putting you on cooldown for a while when the flower is at it’s peak, you gain a flourishing boon, which changes how the weapon works for example, the wooden wand does 3 magic bursts instead of 1, greatly increasing the range, and has a damage increase bloom is about keeping track of what you’re doing and making sure to maintain a balance
to magic or to weapon, that is the question D E S C E N D A N T S… this is the kindling, which shoots flames, when flourishing it has a longer range, higher damage, and the flame are blue
heya D E S C E N D A N T S, small stuff tbh magic weapons now take durability as well as bloom and longswords now require full charge to swing
hello D E S C E N D A N T S, this weapon took so long but was so worth it First up, all bloom weapons now take durability accordingly second of all, this is the magician’s deck, the most complex weapon i’ve made so far on non flourishing use, it throws out a card that travels, spins for a short period of time, then returns to you, it travels through walls on flourishing use it shoots 4 cards that ignore i-frames but deal less damage it’s super fun and very cool
helllooooo D E S C E N D A N T S, finished off rituals and items for update, should be released on modrinth now
so someone asked me to make better bossbars, which is of course difficult because i make datapacks, but i found out how because im just like that ig
backkkk from hiatus D E S C E N D A N T S done a lot of bugfixing and updating to 26.3
hello d e s c e n d a n t s, basic systems are difficult i finally got around to implementing parrying and accessories added 6 accessories and one parrying weapon kk going back to work now
hello D E S C E N D A N T S, finally finished some animations for the upcoming miniboss, take a look!
hello D E S C E N D A N T S, done a lot textures for rapiers are done, added 3 or so new accessories, finished the attack and movement code for stargazer, concepeted more, etc…
hello D E S C E N D A N T S, implemented some textures and added a couple new accessories 4 of these are the new marks, which grant passive stat ups and downs as well a regeneration accessory…
hello D E S C E N D A N T S, lets quickly go through everything i’ve added stargazer is mostly done, they can now atomise projectiles the new bottled echo item triggers your parry effects again half a second later, which can lead to some crazy builds frozen blade is now a dagger class weapon and added the pact which gives invincibility on half health to allow escapes and last stands here’s a representation of all the content so far
another day, another sprite, D E S C E N D A N T S added some new sprite and a new item that shoots a laser
made some new textures, d e s c e n d a n t s code wise i havent really done much, im trying to get most textures etc done so i can get the trailer done btw if you wanna see what im doing more frequently, join #mc-datapacking in slack
hello d e s c e n d a n t s, look at my bunny hat also stargazer got completely rebalanced but that’s not important
yes d e s c e n d a n t s, i spent 2 and a half hours animating, modelling, texturing and creating a basic constellation system this is going to take a while
hello d e s c e n d a n t s, made a new weapon, sunder, which does a teleport slash, as well as made abilities for astronomer (tele slash and laser) it took longer than it shouldve ngl
hello d e s c e n d a n t s, spear go boom yes very creative also the new animations now work with the moves, stagger, proper movement and constellations working with moves will come next
hello d e s c e n d a n t s, 1 and a half hours of small changes also a new weapon, the ancient greatsword, which grants you buffs when lower hp
hello d e s c e n d a n t s, big one today ancient greatsword got a huge buff, it wasnt feeling impactful enough so i gave it the cool vfx the scythes have also astronomer is done, showcase here https://youtu.be/vtc5K3Rs7yA?si=Imxgvno1sOggv4t7
Ships:
D E S C E N T was a datapack I made that originally stemmed from a small idea 9 months ago, and I had no clue when i was developing it that it would grow to be this big. Honestly it’s become a project I dreamed about making when i was young and i’m super proud of where it’s come. Installation : If modrinth has reviewed it, download it from there, otherwise you can download it here : https://github.com/banana-piecake/DESCENT/releases/tag/pre-modrinth Datapack install : install it in your world’s datapack folder, AND also install it in your resource pack folder, enable both Mod install : download the jar, install it as a mod in any of the 4 major modloaders (fabric, forge, quilt or neoforge), it’ll work in any world you create. Only for minecraft java version 26.2
hello D E S C E N D A N T S (for anyone new that’s what i call ppl who play D E S C E N T), this was quite a small set of updates i put out to improve the datapack i added : an improved guidebook with back buttons balancing changes a new magic system 3 unique magic weapons i would highly recommend checking out the Magician’s Deck, it took the longest by far...
|
1793098447.1382585
|
1793184847.1382585
|
|
52684
|
My very own WebOS by @ashudhanda | Stardance
|
|
1
|
52.64
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T06:07:51Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "CanopyOS is a full desktop OS that runs entirely in the browser - no installs, no accounts, no backends. It boots like a real OS, has a lock screen and drops you into forest-themed glass desktop with 10 working apps : Finder, Notes, Terminal, Calculator, Browser etc. The hardest part was the window manager - getting dragging, resizing from all edges and corners, z-stacking and minimize/maximize to all work together without breaking took the longest. The dock magnification math (distance-based icon scaling) was also a fun challenge. Proudest of : Forest Sounds. The rain, wind and birds are NOT audio files - they are synthesized live in your browser with the web audio API. and animations only touch transform/opacity. How to test : open the demo link, wait for boot , click anywhere on the lock screen, Drag windows around, resize them from any corner, hover the dock, press Ctrl+K for Spotlight, right-click the desktop, switch themes in Settings, and try “forest” or “animals” in the Terminal. Everything saves to localStorage so your layout survives a refresh.", "repo": "https://github.com/ashudhanda/webos", "demo": "https://ashudhanda.github.io/webos/"}]...
|
[{"post_id": 57169, "ts": "202 [{"post_id": 57169, "ts": "2026-08-29T08:38:07Z", "hours": 3.025, "text": "After a continuous hard work i add new feature sticky notes app in my Moon OS. And now it working and you can write any task and stick it on your screen. The main important feature is after a refresh it does not remove it stills sticks on your screen. And i am trying too make a very crystal clean and clear WebOS. Stay tunned we complete it as soon as possible."}, {"post_id": 57074, "ts": "2026-08-29T05:06:43Z", "hours": 8.0369, "text": "Try to fixing some bugs in files stay tuned. Nothing is impossible. I giving my 100% and fix it as soon as possible. i try fixing it from long time. but every time i fix one error another new error comes. but i not left i am here until i fix it."}, {"post_id": 56637, "ts": "2026-08-28T13:59:28Z", "hours": 2.2353, "text": "MoonOS now makes voice. today i gave MoonOS voice. literally. Every OS has there sounds soo today our OS have also gain sounds. boot chime - two soft notes when you sing in window open - short blip going up window close - same blip going down notification - a gentle pin. things i fought with today: browser refuse to play audio before the user clicks something (autoplay policy). lucky for me, you have to click to login. so by the time the chime plays. I try too giving my best for my project soo if you find any mistake anywhere just tell in comment section i try to resolve it."}, {"post_id": 56485, "ts": "2026-08-28T08:30:19Z", "hours": 9.3517, "text": "After doing hard work for a long time i add many features in my MoonOS i add 4 themes Luna(Default), Nord, Gruvbox, Everforest. These below screenshots are in Everforest theme. And the next feature is Moveable icons these was challenging and time conusming part but i did it with my dedication. Next main and important feature is taskbar you can see in below screenshot taskbar provides app and a search bar in search bar you can search any app. Next feature is my favourite feature matrix rain when you type matrix in terminal and then enter you see a matrix rain according too your theme style a hacker feel. These was time consuming parts but i did it. And my mind have more features too add in My MoonOS soo stay tunned and enjoy the my WebOS."}, {"post_id": 55665, "ts": "2026-08-27T17:01:46Z", "hours": 2.2472, "text": "I add new Clock Time and Date feature in my MoonOS. See it now."}, {"post_id": 55365, "ts": "2026-08-27T04:31:35Z", "hours": 9.5944, "text": "I completed my WebOS project name MoonOS based on lunar theme and added many features in and after shipping i add more new features in it. Try it with your own hands and share your experience in comment section and if you find any mistake tell in comment section i try to resolve it and make it more better. Now it is audience responsibility to found mistakes in project and help me to make more better it. I add many features in it and four themes in it you can change wallpaper and themes with right click and now my project is ready for shipping See you soon friends in my Next Project. Thanks."}, {"post_id": 54987, "ts": "2026-08-26T12:42:56Z", "hours": 7.1478, "text": "i start making my new moon OS because in past they tell you overused ai but i use slightly ai for debugging from last 7 hours i planning new OS using my mind and write there code i complete it as soon as possible."}, {"post_id": 52814, "ts": "2026-08-23T05:12:19Z", "hours": 0.4756, "text": "Now i completed main.js code and add icons and clock and other features. Try it."}, {"post_id": 52793, "ts": "2026-08-23T04:18:31Z", "hours": 7.8939, "text": "day 2: typed out the base files in VS Code — index.html, all 6 css files, core js (store, boot, contextmenu) and the window manager. first live server run today! the desktop, wallpaper and menubar render, but the js isn’t fully alive yet — clock is stuck at 00:00 and the dock is empty. debugging next."}, {"post_id": 52160, "ts": "2026-08-22T07:59:18Z", "hours": 3.1194, "text": "day 1 finally got around to starting this. set up the repo, connected hackatime, all the boring setup stuff is done. then I built the actual base of the OS. there’s a desktop, a taskbar with a clock, a start button, and one working app (notepad). the windows can be dragged around which is honestly the most satisfying part so far. spent way too long on a bug where the window kept teleporting to the corner of the screen every time I tried to drag it. turns out I wasn’t accounting for where inside the titlebar the mouse was. one offset calculation later and it works perfectly lol still looks pretty basic right now and there’s only one app, but it’s a start. next up is adding more apps and making the theme actually mine instead of the default one."}]...
|
Title: My very own WebOS by @ashudhanda | Stardanc Title: My very own WebOS by @ashudhanda | Stardance
Devlogs:
day 1 finally got around to starting this. set up the repo, connected hackatime, all the boring setup stuff is done. then I built the actual base of the OS. there’s a desktop, a taskbar with a clock, a start button, and one working app (notepad). the windows can be dragged around which is honestly the most satisfying part so far. spent way too long on a bug where the window kept teleporting to the corner of the screen every time I tried to drag it. turns out I wasn’t accounting for where inside the titlebar the mouse was. one offset calculation later and it works perfectly lol still looks pretty basic right now and there’s only one app, but it’s a start. next up is adding more apps and making the theme actually mine instead of the default one.
day 2: typed out the base files in VS Code — index.html, all 6 css files, core js (store, boot, contextmenu) and the window manager. first live server run today! the desktop, wallpaper and menubar render, but the js isn’t fully alive yet — clock is stuck at 00:00 and the dock is empty. debugging next.
Now i completed main.js code and add icons and clock and other features. Try it.
i start making my new moon OS because in past they tell you overused ai but i use slightly ai for debugging from last 7 hours i planning new OS using my mind and write there code i complete it as soon as possible.
I completed my WebOS project name MoonOS based on lunar theme and added many features in and after shipping i add more new features in it. Try it with your own hands and share your experience in comment section and if you find any mistake tell in comment section i try to resolve it and make it more better. Now it is audience responsibility to found mistakes in project and help me to make more better it. I add many features in it and four themes in it you can change wallpaper and themes with right click and now my project is ready for shipping See you soon friends in my Next Project. Thanks.
I add new Clock Time and Date feature in my MoonOS. See it now.
After doing hard work for a long time i add many features in my MoonOS i add 4 themes Luna(Default), Nord, Gruvbox, Everforest. These below screenshots are in Everforest theme. And the next feature is Moveable icons these was challenging and time conusming part but i did it with my dedication. Next main and important feature is taskbar you can see in below screenshot taskbar provides app and a search bar in search bar you can search any app. Next feature is my favourite feature matrix rain when you type matrix in terminal and then enter you see a matrix rain according too your theme style a hacker feel. These was time consuming parts but i did it. And my mind have more features too add in My MoonOS soo stay tunned and enjoy the my WebOS.
MoonOS now makes voice. today i gave MoonOS voice. literally. Every OS has there sounds soo today our OS have also gain sounds. boot chime - two soft notes when you sing in window open - short blip going up window close - same blip going down notification - a gentle pin. things i fought with today: browser refuse to play audio before the user clicks something (autoplay policy). lucky for me, you have to click to login. so by the time the chime plays. I try too giving my best for my project soo if you find any mistake anywhere just tell in comment section i try to resolve it.
Try to fixing some bugs in files stay tuned. Nothing is impossible. I giving my 100% and fix it as soon as possible. i try fixing it from long time. but every time i fix one error another new error comes. but i not left i am here until i fix it.
After a continuous hard work i add new feature sticky notes app in my Moon OS. And now it working and you can write any task and stick it on your screen. The main important feature is after a refresh it does not remove it stills sticks on your screen. And i am trying too make a very crystal clean and clear WebOS. Stay tunned we complete it as soon as possible.
Ships:
CanopyOS is a full desktop OS that runs entirely in the browser - no installs, no accounts, no backends. It boots like a real OS, has a lock screen and drops you into forest-themed glass desktop with 10 working apps : Finder, Notes, Terminal, Calculator, Browser etc. The hardest part was the window manager - getting dragging, resizing from all edges and corners, z-stacking and minimize/maximize to all work together without breaking took the longest. The dock magnification math (distance-based icon scaling) was also a fun challenge. Proudest of : Forest Sounds. The rain, wind and birds are NOT audio files - they are synthesized live in your browser with the web audio API. and animations only touch transform/opacity. How to test : open the demo link, wait for boot , click anywhere on the lock screen, Drag windows around, resize them from any corner, hover the dock, press Ctrl+K for Spotlight, right-click the desktop, switch themes in Settings, and try “forest” or “animals” in the Terminal. Everything saves to localStorage so your layout survives a refresh....
|
1792878474.52067
|
1793742474.52067
|
|
18387
|
Colab SDK by @shash | Stardance
|
shash
|
0
|
52.47
|
0
|
[]
|
[{"post_id": 24871, "ts": "202 [{"post_id": 24871, "ts": "2026-07-08T18:39:55Z", "hours": 1.2467, "text": "eesasas"}, {"post_id": 24169, "ts": "2026-07-07T15:49:48Z", "hours": 16.0564, "text": "devlog"}, {"post_id": 22438, "ts": "2026-07-04T22:10:44Z", "hours": 3.7983, "text": "devlog"}, {"post_id": 22071, "ts": "2026-07-04T10:01:31Z", "hours": 5.8742, "text": "devlog"}, {"post_id": 21510, "ts": "2026-07-03T14:33:59Z", "hours": 8.3436, "text": "devog"}, {"post_id": 21325, "ts": "2026-07-03T06:12:31Z", "hours": 5.33, "text": "devog"}, {"post_id": 9205, "ts": "2026-06-15T13:38:28Z", "hours": 11.8194, "text": "I’m not really accustomed to how devlogs work so I did not know that I was supposed to make devlogs at regular intervals. I have completed the project and now I will just narrate my entire journey in a very long single devlog. Basically this project helps me bypass the 5-hour Plot session limit. The way it works is that I have multiple accounts (more than 3) and all of them are on the free tier. Many times it’s urgent and I am using Plot but then the session has run out. The best thing I can literally do is switch the account but I’ll have to manually copy page-relevant information and then go to the next account, paste it, and make sure that the new Plot is caught up with everything I’m discussing. I thought about what if I could make a Chrome extension that basically tracks my users and shows me right there what is my users’ percentage so I’ll know when to stop the conversation and if I want to have a long conversation. There’s just a migrate account button where I can just click it. It’s automatically going to stop. It will switch accounts for me and it is going to use Haiku to take all the message contexts, summarize it, and inject it into Plot’s context so I can just resume literally resume with it. I basically decided to make this extension so: I simply added a user tracker which tells me users for my account. I added a switch user option where I could add multiple accounts and it just natively adds a switch account button in the settings so I can switch between all my accounts. There is an export and import option where I just get a full transcript of the entire chat, all the turns between me and Plot, and a markdown file. Lastly the most important thing is the migrate button which basically takes the current chat, exports it, and then imports it into the new account, summarizes everything so Plot can fit that context in its context window and just resume like nothing happened. It works exceptionally well. I can switch between accounts for hours and literally just have to wait for 30 seconds for it to switch every single time. I’m really proud of this project. This project has been uploaded to the Chrome web store, which means that literally anybody can go download it right now and it’s available for free for everybody. It does not send any data; it’s 100% local. The entire source code is on GitHub so you can go, take inspiration, and you can change it however you want. I hope you like my project. https://chromewebstore.google.com/detail/claude-session-migrator-a/alpcgnokbgenkmcahimcojhgabcldfko"}]...
|
Title: Colab SDK by @shash | Stardance
Devlogs:
I Title: Colab SDK by @shash | Stardance
Devlogs:
I’m not really accustomed to how devlogs work so I did not know that I was supposed to make devlogs at regular intervals. I have completed the project and now I will just narrate my entire journey in a very long single devlog. Basically this project helps me bypass the 5-hour Plot session limit. The way it works is that I have multiple accounts (more than 3) and all of them are on the free tier. Many times it’s urgent and I am using Plot but then the session has run out. The best thing I can literally do is switch the account but I’ll have to manually copy page-relevant information and then go to the next account, paste it, and make sure that the new Plot is caught up with everything I’m discussing. I thought about what if I could make a Chrome extension that basically tracks my users and shows me right there what is my users’ percentage so I’ll know when to stop the conversation and if I want to have a long conversation. There’s just a migrate account button where I can just click it. It’s automatically going to stop. It will switch accounts for me and it is going to use Haiku to take all the message contexts, summarize it, and inject it into Plot’s context so I can just resume literally resume with it. I basically decided to make this extension so: I simply added a user tracker which tells me users for my account. I added a switch user option where I could add multiple accounts and it just natively adds a switch account button in the settings so I can switch between all my accounts. There is an export and import option where I just get a full transcript of the entire chat, all the turns between me and Plot, and a markdown file. Lastly the most important thing is the migrate button which basically takes the current chat, exports it, and then imports it into the new account, summarizes everything so Plot can fit that context in its context window and just resume like nothing happened. It works exceptionally well. I can switch between accounts for hours and literally just have to wait for 30 seconds for it to switch every single time. I’m really proud of this project. This project has been uploaded to the Chrome web store, which means that literally anybody can go download it right now and it’s available for free for everybody. It does not send any data; it’s 100% local. The entire source code is on GitHub so you can go, take inspiration, and you can change it however you want. I hope you like my project. https://chromewebstore.google.com/detail/claude-session-migrator-a/alpcgnokbgenkmcahimcojhgabcldfko
devog
devog
devlog
devlog
devlog
eesasas...
|
1792803053.8098803
|
1793407853.8098803
|
|
64409
|
DTA Emulator by @anchith | Stardance
|
anchith
|
0
|
52.42
|
0
|
[]
|
[{"post_id": 82361, "ts": "202 [{"post_id": 82361, "ts": "2026-10-24T16:58:40Z", "hours": 12.0136, "text": "GUI So far the entire interface for the project is just a terminal with some print statements and sometimes a display window so I finally made some frontend GUI! stuff The idea for this was a full window showing everything that the processor is currently doing, including the various subsystems and components of the emulated CPU, the registers, pins, settings and other stuff It also has a cool section for programming it, with which you can write code or import programs, assemble them, load them into the CPU and run them with only a few clicks. With the new GUI you also can modify everything in the CPU however you wish so you can change register values (even the read only ones ), fire pins, change processor settings and other execution stuff, and also see and interact with the GUIs for devices! (gui inside gui ) netbeans believe it or not, netbeans , out of all IDEs, has an amazing form editor, which is basically a UI designing thing for java, and that’s what I used to make the UI for this. All you have to do is drag and drop stuff into the canvas and try not to crash out over its idiotic paranoid auto scale system, and it automagically generates all the layout code for you! if only it magically made all the UI work too See the design lapse here: https://lapse.hackclub.com/timelapse/j9cZMZqsB7Ia flatlaf uhh so the default GUI looks horrendous because it uses Java’s built in Swing UI elements and designs, which is fine, but it makes it look like its from 2009 BUT i can change it’s look using a different “Look and Feel”, which is basically defines how UI elements should look. and feel. For this project I decided to use the FlatLaf look and feel which made it look a lot more modern and also made it a bit nicer to use. I didn’t use maven for this because I have trauma from when i used maven a long time ago and it uninstalled my entire project with no backups also java yum making the ui work this is the hard part Okay now the UI looks nice and all but it does nothing and is useless because it’s not linked to the backend Anyway I wrote a lot of messy code and linked up the processor backend and the assembler to the UI, and also wired up all 28 registers, 8 pins and a bunch of settings, initialization and assembling stuff to the backend. The thing is, I need to update the backend from the frontend and the frontend from the backend, and if that happens incorrectly or in the wrong order, which it does a lot , wrong or invalid information can be fed to the backend (and the frontend) which ruins the entire execution flow. There were so many problems with the UI and backend not matching up, like: Sometimes the clock would say it started in the frontend but didn’t in the backend even though all signs say that it did Sometimes the program wouldn’t even be written to the memory properly because the memory settings were incorrect in the backend only Sometimes two clock threads would start ticking simultaneously, which misaligns the PC because it’s only supposed to be multiples of 3 and a lot of other bugs After consuming all of the remaining bugs and testing it a lot, I finally had a UI that worked and synced with the backend properly… mostly. This is a prototype and I still need to change a lot of stuff, but here’s a screenshot of the finished UI while executing the previous 3D renderer thing"}, {"post_id": 77538, "ts": "2026-10-07T11:36:09Z", "hours": 5.5311, "text": "3D RENDERER I finally got the 3D renderer to work It took SO long ( 18+ hours in total? ) but it’s so cool and really shows the capabilities of this tiny CPU It took so long to make because I had to write everything in assembly with 🚫 no functions, 🚫 no control structures and 🚫no variables Obviously trying to program this CPU with such a tiny ISA and a stupid assembler is borderline impossible - you have to manually deal with register/pin addresses and memory addresses for jumps, so adding a single line changes everything after it and breaks your jumps. That’s why I added a few features to the assembler to make my life easier, namely address markers and constants . Address markers allow you to mark instructions and use those marker names within the program to refer to that instruction, which makes conditional stuff, jumps and other stuff much easier. Constants are… well, constants. With them I can assign names to memory addresses. (especially useful when you have more than 120 addresses ) Additionally, I also introduced a dynamic constants thing in the assembler, which basically just reserves memory addresses and stuff for constants on it’s own, so now I don’t even need to think about those addresses. new ALU stuff I added a new ALU (Arithmetic & Logic Unit) function in the CPU for comparisons between two numbers. The new COMP ALU operation compares the two values in ALU_A and ALU_B and sets the output to: 1 if A > B 2 of A < B 0 if A = B Trying to make a 3D renderer without these functions is impossible renderererer Ok, now onto how the renderer actually works. The renderer is just one big program (1300+ lines of assembly) that does a bunch of stuff to try and render a spinning cube on the display. Basically all it does is: Initialize the cube vertices Make the edge table for the lines of the cube Rotate all the points of the cube by a set amount every frame using a lot of scary math 📽️ Project the new rotated 3D points of the cube into 2D points using even more math Draw all the lines of the cube and refresh the display Repeat from step 3 Here’s a very simplified explanation of the entire program: The initial positions of the points is hardcoded into the code, and there’s also a getVertex function to get the X, Y and Z coordinates for a specific vertex number. To rotate the points, you need to do some matrix multiplication on each of the points, with a rotation matrix thingy and magically rotation happens. I don’t actually know what sin/cos is, they didn’t teach us in school yet as far as I know it’s something to do with the angles of a right angle triangle or whatever who cares To find the rotated points, it takes each of the coordinates and multiplies X by cos theta + Z * sin theta, and multiplies Z by -X * sin theta + Z * cos theta, where theta is the value it is being rotated by. Sin and Cos values for values 0-90 degrees are hardcoded into the program because it’s very hard to calculate Then the program takes those rotated points, and projects them into 2D points. Those equations are much easier: Projected X = (X * FocalLength)/(Z+FocalLength) and similarly, Projected Y = (Y * FocalLength)/(Z+FocalLength) Then it draws the lines between the points using a hardcoded edge table and bresenham’s line drawing algorithm. It then releases the pixel buffer and gets ready to draw another frame! And after a lot of debugging, it’s finally finished! (The video is at 500 kilohertz btw )"}, {"post_id": 76078, "ts": "2026-10-02T08:35:19Z", "hours": 13.6392, "text": "3D Renderer Line drawer So I was working on a 3D rendering program Writing a whole 3D render in assembly was slightly overambitious I think. It took thousands of lines of code and hundreds of memory allocations, functions and random stuff. It is supposed to be able to do rotation, projection, and wireframe drawing, and I tried making it draw a simple cube. As of right now it doesn’t work. Debugging DTA assembly is hard especially when you have 1400 lines of it. ( i thought of splitting it up into several files, but the way that it’s assembled and stuff makes it difficult, I still do have many files but I merge them all before assembling ) There’s some problems with the math and conditional stuff and if i try to run the whole renderer the screen just shows one pixel at coordinates (0, 0) flickering. But I was able to program a functional line drawing algorithm based on generalized Bresenham’s line drawing algorithm! (see picture) It basically works by taking two start and end coordinates, and adjusting the x towards the end coordinate, while measuring the error of the y-coordinate from the ideal line and adjusting for it. idk im bad at explaining things. I’ll probably write more about this in detail once I get the 3D renderer fully working."}, {"post_id": 73912, "ts": "2026-09-26T09:43:17Z", "hours": 5.3272, "text": "Assembler I made an assembler now so that I don’t have to write the raw ROM bytes to write programs! You can now just write code in assembly and it will magically generate the perfect ROM values! It can do a lot of cool stuff like: Replacing the names of instructions, registers and pins with their actual values Labels let you mark specific instructions and use the label name instead of figuring out the instruction’s address! Now you can just use set pc, bruh to jump to the instruction you labelled “bruh” for some reason Comments!! Tomfoolery detection The label thing is especially useful because I don’t need to rewrite a bunch of stuff just to add some code, and I don’t need to think about instruction addresses at all now because it all happens automagically with the assembler! I also created a bunch of new programs using this assembler, that use some of the new device stuff as well. speaking of device stuff, new device stuff I changed the architecture of the DSC a lot and now there are separate pulse pins that you can use to talk to the device. This makes working with devices a little bit easier and uses lesser code as well! With the new architecture I made some new devices as well, like: A colour GPU Now you can draw pixels to the screen that aren’t black and white! It actually includes all 0-255 values for red, green and blue, like all modern gpus and displays have I’m also working on some 3D rendering stuff too Work in progress text renderer terminal thing Power Management Thing™ so that programs can view and adjust the processors clock speed I also made one of those cool GPU test gradient things for the new GPU It does a lot of math and loop stuff to figure out which color should be at which position. I wrote it in like 80 lines of assembly using the new assembler and it takes about 16 seconds to finish at 10 kilohertz. This is the picture of the output:"}, {"post_id": 73515, "ts": "2026-09-25T09:07:27Z", "hours": 5.6569, "text": "It works I worked on the backend of the emulator a lot. I coded the remaining parts of all of the components, then I made a clock and finally put everything together to make the working emulator. The processor can now execute all three DTA instructions properly: COPY , SET , and PULSE The instruction decoder reads the instruction words, figures out what operation needs to happen, and the processor performs it through the appropriate registers and pins. There were also a bunch of weird bugs like components not being able to update their own read-only registers and memory size limits A processor isn’t very useful without any output devices so I made a GPU device to output pictures. It has a 64x64 pixel screen to which the processor can write pixels to. It has only black and white pixels because… i was lazy ig I then tried running some programs on it! Like one that continuously tries to write to read-only registers and throws infinite errors! ok that one was for testing I tried making a program that actually uses the screen, and I thought of just drawing a checkerboard pattern on the screen. Unfortunately I was too ambitious and it didn’t work. at all. So i tried just drawing one pixel to the screen and WOW IT WORKED ! no it didnt it still did nothing I did a bunch of backend debugging stuff which is really boring and complicated and I had to move the device register update code in the DSC to its own pin and trigger method and akcgcrwqajhxte tldr a bunch of confusing stuff Finally i got the pixels to work! There was now one white pixel on the screen! exciting! I had to do a lot more debugging for the checkerboard thing to work. I didn’t make an assembler as of now, so I had to write all the machine code myself (Literally writing with numbers) And catching bugs was impossible because again, you’re looking at a bunch of numbers. Anything as simple as adding a line of code was a pain because it shifts the memory addresses of all the lines of code after that, which messes with jump conditions and stuff. Despite all that IT WORKED it does run quite slow because its more than 30 instructions for each iteration of the loop, it takes a few seconds for it to finish the image at a clock speed of 10 kilohertz. This is basically how the program works: Initialize the DSC and GPU on device 0 Set up the variables in memory for X and Y coordinates And then start running an infinite loop in which all this happens: Increment X by 2 Then check if X is 64, if it is, increment Y by 1 and set X to 1 Check if X is 63, if it is, increment Y by 1 and set X to 0. Write the PIXEL instruction, X coordinate, Y coordinate and pixel colour to the GPU via the DSC. Repeat until heat death of the universe All that generates this cool checkerboard pattern on the screen. (This is 44 lines of assembly ) Anyway look at this picture:"}, {"post_id": 73001, "ts": "2026-09-24T06:07:32Z", "hours": 10.2547, "text": "DTA Emulator I’m making an emulator for a processor! It’s supposed to be a very simple minimal instruction set computer, with only 3 instructions. I mostly worked on the ISA in these hours and also did a bit of backend work for the emulator. The instruction set for the processor has only 3 instructions: Copy Set Pulse The entire processor can be controlled just by changing the values in registers and pulsing stuff. Copy copies the value of one register to another Set directly sets the value of a register to something Pulse pulses a pin (This is also why it’s called DTA - Data Transfer Architecture) With these simple instructions, you can manipulate registers and therefore control various parts of the processor! Designing the processor ISA was very hard because there are a bunch of problems that arise from having only three instructions. For example, this is how you would write a program to add two numbers from the memory and save it back to the memory.: SET READADDR 1 COPY READOUT, ALU_A SET READADDR 2 COPY READOUT, ALU_B SET ALU_OP, ADD SET WRITEADDR 3 COPY ALU_OUT, WRITEVAL PULSE WRITE This code first sets the read address to 1, causing the register bank’s read output to provide the value stored at address 1. That value is then copied into ALU_A . The read address is then set to 2, and the value at that address is copied into ALU_B . ALU_OP is set to ADD. Finally, the write address is set to 3. The ALU output is copied into WRITEVAL , and the write operation is pulsed, storing the result at address 3 in the register bank. So basically, at a high level, it reads 2 values from the memory, copies them to the ALU input values, sets the ALU operation to addition, then saves the output back into the memory. The memory reading and ALU output is combinational, ie it works continuously, and does not need a pulse for it to work. Meanwhile writing stuff to the memory can’t just be on forever, that would create problems. So we need to pulse it when it’s ready to write. You can think of pulses like triggering something Hopefully you’re understanding The parts of the CPU are: Working memory ALU (Arithmetic and Logic Unit) RAM interface Program Counter Device Controller Control Unit (this took way too long 🤦 ) That’s about it for the ISA. I also started working on the backend of the actual emulator by implementing all of these components individually in Java (java peak ) A picture of all the registers and pins:"}]...
|
Title: DTA Emulator by @anchith | Stardance
Devlo Title: DTA Emulator by @anchith | Stardance
Devlogs:
DTA Emulator I’m making an emulator for a processor! It’s supposed to be a very simple minimal instruction set computer, with only 3 instructions. I mostly worked on the ISA in these hours and also did a bit of backend work for the emulator. The instruction set for the processor has only 3 instructions: Copy Set Pulse The entire processor can be controlled just by changing the values in registers and pulsing stuff. Copy copies the value of one register to another Set directly sets the value of a register to something Pulse pulses a pin (This is also why it’s called DTA - Data Transfer Architecture) With these simple instructions, you can manipulate registers and therefore control various parts of the processor! Designing the processor ISA was very hard because there are a bunch of problems that arise from having only three instructions. For example, this is how you would write a program to add two numbers from the memory and save it back to the memory.: SET READADDR 1 COPY READOUT, ALU_A SET READADDR 2 COPY READOUT, ALU_B SET ALU_OP, ADD SET WRITEADDR 3 COPY ALU_OUT, WRITEVAL PULSE WRITE This code first sets the read address to 1, causing the register bank’s read output to provide the value stored at address 1. That value is then copied into ALU_A . The read address is then set to 2, and the value at that address is copied into ALU_B . ALU_OP is set to ADD. Finally, the write address is set to 3. The ALU output is copied into WRITEVAL , and the write operation is pulsed, storing the result at address 3 in the register bank. So basically, at a high level, it reads 2 values from the memory, copies them to the ALU input values, sets the ALU operation to addition, then saves the output back into the memory. The memory reading and ALU output is combinational, ie it works continuously, and does not need a pulse for it to work. Meanwhile writing stuff to the memory can’t just be on forever, that would create problems. So we need to pulse it when it’s ready to write. You can think of pulses like triggering something Hopefully you’re understanding The parts of the CPU are: Working memory ALU (Arithmetic and Logic Unit) RAM interface Program Counter Device Controller Control Unit (this took way too long 🤦 ) That’s about it for the ISA. I also started working on the backend of the actual emulator by implementing all of these components individually in Java (java peak ) A picture of all the registers and pins:
It works I worked on the backend of the emulator a lot. I coded the remaining parts of all of the components, then I made a clock and finally put everything together to make the working emulator. The processor can now execute all three DTA instructions properly: COPY , SET , and PULSE The instruction decoder reads the instruction words, figures out what operation needs to happen, and the processor performs it through the appropriate registers and pins. There were also a bunch of weird bugs like components not being able to update their own read-only registers and memory size limits A processor isn’t very useful without any output devices so I made a GPU device to output pictures. It has a 64x64 pixel screen to which the processor can write pixels to. It has only black and white pixels because… i was lazy ig I then tried running some programs on it! Like one that continuously tries to write to read-only registers and throws infinite errors! ok that one was for testing I tried making a program that actually uses the screen, and I thought of just drawing a checkerboard pattern on the screen. Unfortunately I was too ambitious and it didn’t work. at all. So i tried just drawing one pixel to the screen and WOW IT WORKED ! no it didnt it still did nothing I did a bunch of backend debugging stuff which is really boring and complicated and I had to move the device register update code in the DSC to its own pin and trigger method and akcgcrwqajhxte tldr a bunch of confusing stuff Finally i got the pixels to work! There was now one white pixel on the screen! exciting! I had to do a lot more debugging for the checkerboard thing to work. I didn’t make an assembler as of now, so I had to write all the machine code myself (Literally writing with numbers) And catching bugs was impossible because again, you’re looking at a bunch of numbers. Anything as simple as adding a line of code was a pain because it shifts the memory addresses of all the lines of code after that, which messes with jump conditions and stuff. Despite all that IT WORKED it does run quite slow because its more than 30 instructions for each iteration of the loop, it takes a few seconds for it to finish the image at a clock speed of 10 kilohertz. This is basically how the program works: Initialize the DSC and GPU on device 0 Set up the variables in memory for X and Y coordinates And then start running an infinite loop in which all this happens: Increment X by 2 Then check if X is 64, if it is, increment Y by 1 and set X to 1 Check if X is 63, if it is, increment Y by 1 and set X to 0. Write the PIXEL instruction, X coordinate, Y coordinate and pixel colour to the GPU via the DSC. Repeat until heat death of the universe All that generates this cool checkerboard pattern on the screen. (This is 44 lines of assembly ) Anyway look at this picture:
Assembler I made an assembler now so that I don’t have to write the raw ROM bytes to write programs! You can now just write code in assembly and it will magically generate the perfect ROM values! It can do a lot of cool stuff like: Replacing the names of instructions, registers and pins with their actual values Labels let you mark specific instructions and use the label name instead of figuring out the instruction’s address! Now you can just use set pc, bruh to jump to the instruction you labelled “bruh” for some reason Comments!! Tomfoolery detection The label thing is especially useful because I don’t need to rewrite a bunch of stuff just to add some code, and I don’t need to think about instruction addresses at all now because it all happens automagically with the assembler! I also created a bunch of new programs using this assembler, that use some of the new device stuff as well. speaking of device stuff, new device stuff I changed the architecture of the DSC a lot and now there are separate pulse pins that you can use to talk to the device. This makes working with devices a little bit easier and uses lesser code as well! With the new architecture I made some new devices as well, like: A colour GPU Now you can draw pixels to the screen that aren’t black and white! It actually includes all 0-255 values for red, green and blue, like all modern gpus and displays have I’m also working on some 3D rendering stuff too Work in progress text renderer terminal thing Power Management Thing™ so that programs can view and adjust the processors clock speed I also made one of those cool GPU test gradient things for the new GPU It does a lot of math and loop stuff to figure out which color should be at which position. I wrote it in like 80 lines of assembly using the new assembler and it takes about 16 seconds to finish at 10 kilohertz. This is the picture of the output:
3D Renderer Line drawer So I was working on a 3D rendering program Writing a whole 3D render in assembly was slightly overambitious I think. It took thousands of lines of code and hundreds of memory allocations, functions and random stuff. It is supposed to be able to do rotation, projection, and wireframe drawing, and I tried making it draw a simple cube. As of right now it doesn’t work. Debugging DTA assembly is hard especially when you have 1400 lines of it. ( i thought of splitting it up into several files, but the way that it’s assembled and stuff makes it difficult, I still do have many files but I merge them all before assembling ) There’s some problems with the math and conditional stuff and if i try to run the whole renderer the screen just shows one pixel at coordinates (0, 0) flickering. But I was able to program a functional line drawing algorithm based on generalized Bresenham’s line drawing algorithm! (see picture) It basically works by taking two start and end coordinates, and adjusting the x towards the end coordinate, while measuring the error of the y-coordinate from the ideal line and adjusting for it. idk im bad at explaining things. I’ll probably write more about this in detail once I get the 3D renderer fully working.
3D RENDERER I finally got the 3D renderer to work It took SO long ( 18+ hours in total? ) but it’s so cool and really shows the capabilities of this tiny CPU It took so long to make because I had to write everything in assembly with 🚫 no functions, 🚫 no control structures and 🚫no variables Obviously trying to program this CPU with such a tiny ISA and a stupid assembler is borderline impossible - you have to manually deal with register/pin addresses and memory addresses for jumps, so adding a single line changes everything after it and breaks your jumps. That’s why I added a few features to the assembler to make my life easier, namely address markers and constants . Address markers allow you to mark instructions and use those marker names within the program to refer to that instruction, which makes conditional stuff, jumps and other stuff much easier. Constants are… well, constants. With them I can assign names to memory addresses. (especially useful when you have more than 120 addresses ) Additionally, I also introduced a dynamic constants thing in the assembler, which basically just reserves memory addresses and stuff for constants on it’s own, so now I don’t even need to think about those addresses. new ALU stuff I added a new ALU (Arithmetic & Logic Unit) function in the CPU for comparisons between two numbers. The new COMP ALU operation compares the two values in ALU_A and ALU_B and sets the output to: 1 if A > B 2 of A < B 0 if A = B Trying to make a 3D renderer without these functions is impossible renderererer Ok, now onto how the renderer actually works. The renderer is just one big program (1300+ lines of assembly) that does a bunch of stuff to try and render a spinning cube on the display. Basically all it does is: Initialize the cube vertices Make the edge table for the lines of the cube Rotate all the points of the cube by a set amount every frame using a lot of scary math 📽️ Project the new rotated 3D points of the cube into 2D points using even more math Draw all the lines of the cube and refresh the display Repeat from step 3 Here’s a very simplified explanation of the entire program: The initial positions of the points is hardcoded into the code, and there’s also a getVertex function to get the X, Y and Z coordinates for a specific vertex number. To rotate the points, you need to do some matrix multiplication on each of the points, with a rotation matrix thingy and magically rotation happens. I don’t actually know what sin/cos is, they didn’t teach us in school yet as far as I know it’s something to do with the angles of a right angle triangle or whatever who cares To find the rotated points, it takes each of the coordinates and multiplies X by cos theta + Z * sin theta, and multiplies Z by -X * sin theta + Z * cos theta, where theta is the value it is being rotated by. Sin and Cos values for values 0-90 degrees are hardcoded into the program because it’s very hard to calculate Then the program takes those rotated points, and projects them into 2D points. Those equations are much easier: Projected X = (X * FocalLength)/(Z+FocalLength) and similarly, Projected Y = (Y * FocalLength)/(Z+FocalLength) Then it draws the lines between the points using a hardcoded edge table and bresenham’s line drawing algorithm. It then releases the pixel buffer and gets ready to draw another frame! And after a lot of debugging, it’s finally finished! (The video is at 500 kilohertz btw )
GUI So far the entire interface for the project is just a terminal with some print statements and sometimes a display window so I finally made some frontend GUI! stuff The idea for this was a full window showing everything that the processor is currently doing, including the various subsystems and components of the emulated CPU, the registers, pins, settings and other stuff It also has a cool section for programming it, with which you can write code or import programs, assemble them, load them into the CPU and run them with only a few clicks. With the new GUI you also can modify everything in the CPU however you wish so you can change register values (even the read only ones ), fire pins, change processor settings and other execution stuff, and also see and interact with the GUIs for devices! (gui inside gui ) netbeans believe it or not, netbeans , out of all IDEs, has an amazing form editor, which is basically a UI designing thing for java, and that’s what I used to make the UI for this. All you have to do is drag and drop stuff into the canvas and try not to crash out over its idiotic paranoid auto scale system, and it automagically generates all the layout code for you! if only it magically made all the UI work too See the design lapse here: https://lapse.hackclub.com/timelapse/j9cZMZqsB7Ia flatlaf uhh so the default GUI looks horrendous because it uses Java’s built in Swing UI elements and designs, which is fine, but it makes it look like its from 2009 BUT i can change it’s look using a different “Look and Feel”, which is basically defines how UI elements should look. and feel. For this project I decided to use the FlatLaf look and feel which made it look a lot more modern and also made it a bit nicer to use. I didn’t use maven for this because I have trauma from when i used maven a long time ago and it uninstalled my entire project with no backups also java yum making the ui work this is the hard part Okay now the UI looks nice and all but it does nothing and is useless because it’s not linked to the backend Anyway I wrote a lot of messy code and linked up the processor backend and the assembler to the UI, and also wired up all 28 registers, 8 pins and a bunch of settings, initialization and assembling stuff to the backend. The thing is, I need to update the backend from the frontend and the frontend from the backend, and if that happens incorrectly or in the wrong order, which it does a lot , wrong or invalid information can be fed to the backend (and the frontend) which ruins the entire execution flow. There were so many problems with the UI and backend not matching up, like: Sometimes the clock would say it started in the frontend but didn’t in the backend even though all signs say that it did Sometimes the program wouldn’t even be written to the memory properly because the memory settings were incorrect in the backend only Sometimes two clock threads would start ticking simultaneously, which misaligns the PC because it’s only supposed to be multiples of 3 and a lot of other bugs After consuming all of the remaining bugs and testing it a lot, I finally had a UI that worked and synced with the backend properly… mostly. This is a prototype and I still need to change a lot of stuff, but here’s a screenshot of the finished UI while executing the previous 3D renderer thing...
|
1793062444.8980594
|
1793667244.8980594
|
|
6090
|
LockIn by @infintr | Stardance
|
infintr
|
0
|
52.37
|
0
|
[]
|
[{"post_id": 75489, "ts": "202 [{"post_id": 75489, "ts": "2026-09-30T08:03:48Z", "hours": 52.3717, "text": "StashPay Teens lets you bet a small amount of money, like ₹10, that you can hit a simple habit like keeping your screen time under an hour. If you complete it, you get your cash right back, but if you bust the limit, the app automatically detects it using your actual app usage and hands the money over to your parents. I changed the name to LockIn because stash pay looked like some gambling app. I set up Clerk and auth basics, then added Supabase tables for families, join codes, requests and quests, along with onboarding for roles and family members.Building android builds was hectic. My phone could not connect to my development server, ngrok and LAN configurations failed, and EAS failed because of missing modules and misaligned Android configuration. Pre-building the Android app always resets manual tweaks, so I had to write my manual edits every time. I finally committed everything to GitHub and succeeded after two days. I made the stakes and records pages, but the records page had to deal with background apps and the problem of calculating actual foreground time. We wrote the APIs and had endpoints for role selecting, adding to family, joining families, code generation, etc. There were also privacy concerns around storing screen time in the database.There was a lot of difference in what my co-developer made for the backend and what I was wanting for the frontend. We consolidated six inconsistent statuses into five: active, pending, completed, failed, rejected. For screen time, instead of showing a description it will show you a rule builder, sent as JSON data and parsed on the frontend. The native module now checks every 15 minutes, on state change, or when the app comes to the foreground, and updates the Supabase entry for that day. The sync logic can backtrack days, store basic heartbeat/activity and trigger status updates. I centralized all stake evaluation logic into one file. It now checks screen time, persists the data into the DB, triggers failure or completion, and updates the screens after updating Supabase. The biggest problems were efficiency and privacy.The payment implementation sidesteps the entire payment-aggregator/licensing question as an “honor-system fallback”. Once you fail the stake you get a link for a charity so you can pay to them and then mark as completed. My app is ready end to end and it works. For the last design revamp, I replaced Inter / JetBrains Mono / Pixelify Sans with Geist, Geist Mono and Space Grotesk. The primary orange changed from #BD580F to #F5893C, and I switched to a material design based color palette. I added a landing page for unauthenticated users and new navigation with home, wallet and settings."}]...
|
Title: LockIn by @infintr | Stardance
Devlogs:
St Title: LockIn by @infintr | Stardance
Devlogs:
StashPay Teens lets you bet a small amount of money, like ₹10, that you can hit a simple habit like keeping your screen time under an hour. If you complete it, you get your cash right back, but if you bust the limit, the app automatically detects it using your actual app usage and hands the money over to your parents. I changed the name to LockIn because stash pay looked like some gambling app. I set up Clerk and auth basics, then added Supabase tables for families, join codes, requests and quests, along with onboarding for roles and family members.Building android builds was hectic. My phone could not connect to my development server, ngrok and LAN configurations failed, and EAS failed because of missing modules and misaligned Android configuration. Pre-building the Android app always resets manual tweaks, so I had to write my manual edits every time. I finally committed everything to GitHub and succeeded after two days. I made the stakes and records pages, but the records page had to deal with background apps and the problem of calculating actual foreground time. We wrote the APIs and had endpoints for role selecting, adding to family, joining families, code generation, etc. There were also privacy concerns around storing screen time in the database.There was a lot of difference in what my co-developer made for the backend and what I was wanting for the frontend. We consolidated six inconsistent statuses into five: active, pending, completed, failed, rejected. For screen time, instead of showing a description it will show you a rule builder, sent as JSON data and parsed on the frontend. The native module now checks every 15 minutes, on state change, or when the app comes to the foreground, and updates the Supabase entry for that day. The sync logic can backtrack days, store basic heartbeat/activity and trigger status updates. I centralized all stake evaluation logic into one file. It now checks screen time, persists the data into the DB, triggers failure or completion, and updates the screens after updating Supabase. The biggest problems were efficiency and privacy.The payment implementation sidesteps the entire payment-aggregator/licensing question as an “honor-system fallback”. Once you fail the stake you get a link for a charity so you can pay to them and then mark as completed. My app is ready end to end and it works. For the last design revamp, I replaced Inter / JetBrains Mono / Pixelify Sans with Geist, Geist Mono and Space Grotesk. The primary orange changed from #BD580F to #F5893C, and I switched to a material design based color palette. I added a landing page for unauthenticated users and new navigation with home, wallet and settings....
|
1792507895.4136124
|
1793112695.4136124
|
|
46496
|
Light by @Eclipse | Stardance
|
Eclipse
|
1
|
52.27
|
835
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T19:28:48Z", "hours": 48.0, "multiplier": 16.49, "payout": 835, "blessing": "neutral", "text": "Shipvlog — Light 🌙 What did you make? Everyone makes a personal website showing what they’ve built, accomplished, or are currently working on. . I wanted to make something that asks a slightly “different” question: “What is happening inside this mind?” . That’s basically what Light is. . Alongside the usual portfolio stuff, there’s a Lab containing unfinished ideas, abandoned projects, current obsessions, and questions I’m still thinking about… Basically,, everything a normal portfolio politely hides…🗿 . What was challenging? Lwk Everything. 😭 . I spent an absolutely unreasonable amount of time designing tiny details, animations, typography, spacing, colors, transitions, and things that probably took five seconds to notice and five hours to make…. . I wanted the homepage title to feel more like Light was being written into existence ,,, the glitch transition into the Lab to feel intentional, and every page to have its own atmosphere… (did I ever mention the fact that Light was my nickname all along?) . The three main pages use red, blue, and warm white. Because, almost everything we see can be represented through RGB,, so I treated them as three different sides of me that mix together into Idhant (w a little twist lol) Underneath them all, it’s still the same guy. Hence the same nav too :) . The geometric lines in About are meant to represent me too: chaotic, interconnected, and hopefully still beautiful (🥀) . And yes, making all of this responsive was painful…. Excruciatingly painful. 😭💔 . What am I proud of? Mostly the fact that something I had imagined for weeks actually exists now…LIVE… . I deliberately left parts of it open to interpretation too. The boy holding the bouquet and book could be waiting for someone while reading a book to kill time, could have been given the bouquet while being told by someone “you are my light” , could be heartbroken, or could mean literally anything…. I liked not explaining everything… Things to try Move your cursor through the snow (don’t ask me why 😭, it’s fun) Watch the text glitch Click Light on the homepage and enter the Lab Explore the Lab sections Click the 02 / ABOUT on the homepage and enter the About page Notice the different page colors and text-selection colors Try the site on both desktop and mobile . Before testing . The site is best experienced on a Chromium-based browser . . Also, disable any browser dark-mode extension , otherwise it may decide my carefully chosen colors are merely suggestions. 💔 . Light’s Live here: https://alchemic-eclipse.github.io/light/ . And,,,, after way too many hours, Light is finally live. 🫠 . Not perfect. . Just mine ❤️🩹 Thank you for reading it through..!! ❤️🩹", "repo": "https://github.com/Alchemic-Eclipse/light", "demo": "https://alchemic-eclipse.github.io/light/"}]...
|
[{"post_id": 81847, "ts": "202 [{"post_id": 81847, "ts": "2026-10-22T18:28:24Z", "hours": 4.2711, "text": "Welcome back And here I am, just after writing Aporia’s devlog, writing this for Light (the site, not me obv 🗿) . But I’ll keep it short, While I was on break, I kept updating information here n there on the site and made some minor changes. . From now on, I’ll be working properly on the site, making it better every day..!! . And that’s all for today lol…!! See ya tomorrow! . P.S. Idk what to add in attachment, so why not a meme again? (it isn’t even related to web dev, but I found it so funny, had to add it 💔)"}, {"post_id": 75684, "ts": "2026-09-30T19:06:50Z", "hours": 0.9286, "text": "Final Devlog of Light yep, as the title suggests, this is it. I have somehow, despite being an INTP, been able to complete the project before the deadline ( or perhaps I should say, exactly at the deadline 😭) . But anyways, Completed the Readme Fixed minor issues (console errors) Fixed responsiveness issues Added a favicon And yeah, that’s all ig…?? It has been an honor tbh, I’ve learnt soooo many things while making this site… and revised soooo many concepts…. I was lwk a beginner in web-dev before this, and now, well a bit better I suppose? 😭 . Either way,,, It was fun…. :) Thank you for everything..!!! ❤️🩹 . P.S. Idk what to add as screenshot for this one, so just added the About page of my site 🗿🤷🏻♂️"}, {"post_id": 75640, "ts": "2026-09-30T17:01:59Z", "hours": 6.8375, "text": "Day-9 Light I think I’ve officially reached the stage where this project is consuming me 😭💔 . I couldn’t really write devlogs that often ‘cause I’ve been just TOO busy trying to make this thing look pretty 😭 . And unfortunately, having a creative perfectionist brain while also trying to keep everything minimalist is an awful combination. I kept wanting to add stuff, removing it because it was “too much”, adding it again, moving things around, staring at it for 20 min, and realizing that it looked 4% worse than before 🗿 . Anyways… . I’ve made some pretty major progress today. . The biggest one: Light is basically complete. Added all the content, finished the different sections, and finally got the whole thing to feel like an actual part of the site instead of an empty page with suspicious amounts of negative space 🥀 . I also finally added and polished the About page, w a bunch of minor design fixes along the way. . Completed: Unfinished Graveyard Now Curiosities And I also added snow interaction , which is probably one of those completely unnecessary things that somehow took way longer than it had any business to… ;-; . The funny part is, that the actual feature list doesn’t even look THAT insane. (compared to my mental health rn 💔) . But every single little design decision took FOREVER, because I wanted the site to feel minimal, without feeling empty.. Interesting, without feeling overloaded.. And slightly uncanny without just looking like I discovered CSS animations yesterday 🤷🏻♂️ . At this point, I’m lwk happy w how it’s coming together tho. . The site has WAYY more personality now. . The next goal is basically finishing whatever tiny things are still bothering me, and then SHIP EM before I lose the remaining fragments of my sanity 😭 . And nvm,, that’s it for today ;-;;; . Ig this could be the last devlog? Or nvm, I still have to write the Readme, GG, that should be the last one lol.. Whatever,,,, Good Evening 🦋"}, {"post_id": 74879, "ts": "2026-09-28T14:20:34Z", "hours": 4.4908, "text": "Day-8 Light At this point, I think Im lwk about to crash out because of how long this is taking me 😭💔 (plus a bad headache) . I’ve added a new page to my site, called Light’s Lab, something way more interesting than the home page fs. . Also Added a cool glitchy effect as a transition, to give it that uncanny feel… And DAMN it took me soo longg to learn how to do ts 😭😭 . After this, I’m done with adding animations/transitions 🥀 Aghh my head hurts so badd 😭 . I think the next goal for me is to design the Lab page properly… then think of adding something new… . Initially I planned to complete it by Sept 30… but let’s see if I can 🫠 . Anyways, that’s it for todayyy Dobroye utroo!!!"}, {"post_id": 73589, "ts": "2026-09-25T13:08:56Z", "hours": 5.705, "text": "Day-7 Light It appears as if somoene’s genuinely addicted to this project 🗿 . Because my productivity is PEAK right now 🕯️ . I’ve lwk changed the entire base design of Light, simply because I felt like it 😭 (I wanted it to look better) . Here’s a list: Added Basic fade-in animation when site is loaded Added a leaning hero-figure and changed typography (Some fonts, sizes, colors, etc) Added a glitch effect for the Hero sub-text Added Snow, as it smhow fits the theme beautifully There were sm things that people suggested me to add, but I was like: Nah ;-; For eg: Arrow key navigation . But someone discovering that R jumps to Archive would be mildly amusing for approximately 4 seconds… So I scrapped that idea 🤷🏻♂️ . The snowflakes one was particularly interesting… because…. to animate the snowflakes I used: new position = old position + velocity Which is basically a tiny Euler integration step 🗿 So, my snowflakes, accidentaly became a physics simulation… 🥀 For some reason, I really cannot escape ts 💔 . And then the tiny intricacies like giving them close but random velocities for realism (yeah, close, because if not: that would look like the snowflakes had all received contradictory weather reports 😭) . and once they leave the screen, make them re-enter from the right and top (70:30 :: Top:right % of snowflakes generated), which is what turns this into a continuous wind field rather than 80 flakes having a one-way death march 🗿 . And yeah, that’s basically it, for today…!! and as usual,, Ohayoo!!! (Good Morningg, not Ohio 😭💔)"}, {"post_id": 72825, "ts": "2026-09-23T20:23:53Z", "hours": 3.5156, "text": "Day-6 Light HOLYYY Productivity!! 🔥 Added SOOOOO many things today . Here’s the list: Polished the Archive section Added “About signature” and href links Added content to Contact section and footer- Polished them too Made the site responsive Added selection option (selecting a text) Soo, when selecting a text, instead of the default blue color, it’d use another color that respects the color scheme of the site… . With that, Phase-1 of the Site is over… We have a site that’s essentially complete in itself start to end.And so, Phase-2 of Light has started, which is mostly all about JavaScript and additional sections/features. (Lwk Exciting as hell) . Also, I decided to add “AUTONOMY · TRANSCENDENCE · ERUDITION” as the “About Signature”, because these are the 3 things that I value THE MOST… Especially Autonomy…………. Is it a bit grandiose ? Yeah… but my site’s called Light (Alchemic Eclipse) , so we’re not exactly filing taxes here 🤷🏻♂️🥀 . But anyways,, that’s it for todayy!! Have a beautiful morning 🍀"}, {"post_id": 72239, "ts": "2026-09-22T14:52:12Z", "hours": 2.65, "text": "Day-5 Light Added content to About section Added a few projects to Archive section Added basic design to Archive section. Next goal: Polish Archive’s design Add content to Contact section and design that too got big plans ahead..!!"}, {"post_id": 71391, "ts": "2026-09-20T18:52:49Z", "hours": 4.5592, "text": "Day-4 Light Guess who’s back? . Seems someone’s back from his hiatus 🗿 . yep, so now that’s Aporia’s done and dusted, I realized I need to also complete my site, so here I am… . I’ve merged Gravitas into Light because it’s apparently Aporia turned out to be too big, but small enough that I could actually finish it before Light comes knocking with a deadline shaped baseball bat 🤷🏻♂️ . I’ll add a special section for it on my site, as a mystery or a puzzle of some kind..? perhaps… . And in the meantime, while I was working on Aporia, I tried testing/changing some bits and features of Light, at once almost changed the entire style upside down… but turns out none of them could beat my original vision… So with some bits of tweaks, I added the About page a month ago… I know I’m a bit early here,, but whatever 😭 . And that’s it for this devlog 🦋 Bbyeee..!! . P.S. Idk what screenshot to add here as I’ve just restarted working on it so no major updates yet,, let me just add a page of my physics notes which would anyway be on my site 🐈"}, {"post_id": 51095, "ts": "2026-08-20T16:20:04Z", "hours": 2.9694, "text": "Day-3 Light At this rate, it looks like the project is gonna take forever 😭🤷🏻♂️ Added an about section Designed it properly Made subtle changes to give the site a premium look. . The next part is simply add content to Archive and contact section, but that should relatively take less time, because most of the time today was spent on designing.. . (yes, btw,,,, if you still haven’t noticed, I’m a kinda perfectionist when it comes to designs 🗿) . And that’s all for today, for Light 🫡 . Thank you for reading through..!! 🌙 . P.S. Due to time constraints, I’m thinking of working on Light and Gravitas on alternate days, so that I get more time for studies… 🐈 Hopefully I can finish them soon..!! I really do enjoy working on both of em 🙃"}, {"post_id": 48873, "ts": "2026-08-17T13:16:35Z", "hours": 15.4381, "text": "Day-2: Light Completed the basic structure. Added some basic design while making it a little responsive. And trust me, you “don’t” wanna know how much time I spent just changing and trying new designs/fonts/etc… ☠️ . Tomorrow, I’ll likely complete the other sections while adding some more cool features ig… . and that’s all for today 🙃 . P.S. Feel free to suggest some better designs if it can make it look better lol…!!"}, {"post_id": 45127, "ts": "2026-08-11T12:47:00Z", "hours": 0.5603, "text": "The Beginning . I’ll be building a personal site of mine, describing things I am working on, and my on going works, especially in the realm of academia and others… . I am done with setting up and connecting everything, the next steps include building a basic structure of the website while learning web dev (yeah, I’m a beginner lol)… . And then adding the content.. Then making it look bearable to human eyes 🗿 (aka make it aesthetic) . So that’s mostly all for today..!! Thank you :) . P.S. It seems it won’t let me post till I add a pic, so let me add a pic that I’d anyways add on my website in future {aka, my equations 🗿}"}]...
|
Title: Light by @Eclipse | Stardance
Devlogs:
The Title: Light by @Eclipse | Stardance
Devlogs:
The Beginning . I’ll be building a personal site of mine, describing things I am working on, and my on going works, especially in the realm of academia and others… . I am done with setting up and connecting everything, the next steps include building a basic structure of the website while learning web dev (yeah, I’m a beginner lol)… . And then adding the content.. Then making it look bearable to human eyes 🗿 (aka make it aesthetic) . So that’s mostly all for today..!! Thank you :) . P.S. It seems it won’t let me post till I add a pic, so let me add a pic that I’d anyways add on my website in future {aka, my equations 🗿}
Day-2: Light Completed the basic structure. Added some basic design while making it a little responsive. And trust me, you “don’t” wanna know how much time I spent just changing and trying new designs/fonts/etc… ☠️ . Tomorrow, I’ll likely complete the other sections while adding some more cool features ig… . and that’s all for today 🙃 . P.S. Feel free to suggest some better designs if it can make it look better lol…!!
Day-3 Light At this rate, it looks like the project is gonna take forever 😭🤷🏻♂️ Added an about section Designed it properly Made subtle changes to give the site a premium look. . The next part is simply add content to Archive and contact section, but that should relatively take less time, because most of the time today was spent on designing.. . (yes, btw,,,, if you still haven’t noticed, I’m a kinda perfectionist when it comes to designs 🗿) . And that’s all for today, for Light 🫡 . Thank you for reading through..!! 🌙 . P.S. Due to time constraints, I’m thinking of working on Light and Gravitas on alternate days, so that I get more time for studies… 🐈 Hopefully I can finish them soon..!! I really do enjoy working on both of em 🙃
Day-4 Light Guess who’s back? . Seems someone’s back from his hiatus 🗿 . yep, so now that’s Aporia’s done and dusted, I realized I need to also complete my site, so here I am… . I’ve merged Gravitas into Light because it’s apparently Aporia turned out to be too big, but small enough that I could actually finish it before Light comes knocking with a deadline shaped baseball bat 🤷🏻♂️ . I’ll add a special section for it on my site, as a mystery or a puzzle of some kind..? perhaps… . And in the meantime, while I was working on Aporia, I tried testing/changing some bits and features of Light, at once almost changed the entire style upside down… but turns out none of them could beat my original vision… So with some bits of tweaks, I added the About page a month ago… I know I’m a bit early here,, but whatever 😭 . And that’s it for this devlog 🦋 Bbyeee..!! . P.S. Idk what screenshot to add here as I’ve just restarted working on it so no major updates yet,, let me just add a page of my physics notes which would anyway be on my site 🐈
Day-5 Light Added content to About section Added a few projects to Archive section Added basic design to Archive section. Next goal: Polish Archive’s design Add content to Contact section and design that too got big plans ahead..!!
Day-6 Light HOLYYY Productivity!! 🔥 Added SOOOOO many things today . Here’s the list: Polished the Archive section Added “About signature” and href links Added content to Contact section and footer- Polished them too Made the site responsive Added selection option (selecting a text) Soo, when selecting a text, instead of the default blue color, it’d use another color that respects the color scheme of the site… . With that, Phase-1 of the Site is over… We have a site that’s essentially complete in itself start to end.And so, Phase-2 of Light has started, which is mostly all about JavaScript and additional sections/features. (Lwk Exciting as hell) . Also, I decided to add “AUTONOMY · TRANSCENDENCE · ERUDITION” as the “About Signature”, because these are the 3 things that I value THE MOST… Especially Autonomy…………. Is it a bit grandiose ? Yeah… but my site’s called Light (Alchemic Eclipse) , so we’re not exactly filing taxes here 🤷🏻♂️🥀 . But anyways,, that’s it for todayy!! Have a beautiful morning 🍀
Day-7 Light It appears as if somoene’s genuinely addicted to this project 🗿 . Because my productivity is PEAK right now 🕯️ . I’ve lwk changed the entire base design of Light, simply because I felt like it 😭 (I wanted it to look better) . Here’s a list: Added Basic fade-in animation when site is loaded Added a leaning hero-figure and changed typography (Some fonts, sizes, colors, etc) Added a glitch effect for the Hero sub-text Added Snow, as it smhow fits the theme beautifully There were sm things that people suggested me to add, but I was like: Nah ;-; For eg: Arrow key navigation . But someone discovering that R jumps to Archive would be mildly amusing for approximately 4 seconds… So I scrapped that idea 🤷🏻♂️ . The snowflakes one was particularly interesting… because…. to animate the snowflakes I used: new position = old position + velocity Which is basically a tiny Euler integration step 🗿 So, my snowflakes, accidentaly became a physics simulation… 🥀 For some reason, I really cannot escape ts 💔 . And then the tiny intricacies like giving them close but random velocities for realism (yeah, close, because if not: that would look like the snowflakes had all received contradictory weather reports 😭) . and once they leave the screen, make them re-enter from the right and top (70:30 :: Top:right % of snowflakes generated), which is what turns this into a continuous wind field rather than 80 flakes having a one-way death march 🗿 . And yeah, that’s basically it, for today…!! and as usual,, Ohayoo!!! (Good Morningg, not Ohio 😭💔)
Day-8 Light At this point, I think Im lwk about to crash out because of how long this is taking me 😭💔 (plus a bad headache) . I’ve added a new page to my site, called Light’s Lab, something way more interesting than the home page fs. . Also Added a cool glitchy effect as a transition, to give it that uncanny feel… And DAMN it took me soo longg to learn how to do ts 😭😭 . After this, I’m done with adding animations/transitions 🥀 Aghh my head hurts so badd 😭 . I think the next goal for me is to design the Lab page properly… then think of adding something new… . Initially I planned to complete it by Sept 30… but let’s see if I can 🫠 . Anyways, that’s it for todayyy Dobroye utroo!!!
Day-9 Light I think I’ve officially reached the stage where this project is consuming me 😭💔 . I couldn’t really write devlogs that often ‘cause I’ve been just TOO busy trying to make this thing look pretty 😭 . And unfortunately, having a creative perfectionist brain while also trying to keep everything minimalist is an awful combination. I kept wanting to add stuff, removing it because it was “too much”, adding it again, moving things around, staring at it for 20 min, and realizing that it looked 4% worse than before 🗿 . Anyways… . I’ve made some pretty major progress today. . The biggest one: Light is basically complete. Added all the content, finished the different sections, and finally got the whole thing to feel like an actual part of the site instead of an empty page with suspicious amounts of negative space 🥀 . I also finally added and polished the About page, w a bunch of minor design fixes along the way. . Completed: Unfinished Graveyard Now Curiosities And I also added snow interaction , which is probably one of those completely unnecessary things that somehow took way longer than it had any business to… ;-; . The funny part is, that the actual feature list doesn’t even look THAT insane. (compared to my mental health rn 💔) . But every single little design decision took FOREVER, because I wanted the site to feel minimal, without feeling empty.. Interesting, without feeling overloaded.. And slightly uncanny without just looking like I discovered CSS animations yesterday 🤷🏻♂️ . At this point, I’m lwk happy w how it’s coming together tho. . The site has WAYY more personality now. . The next goal is basically finishing whatever tiny things are still bothering me, and then SHIP EM before I lose the remaining fragments of my sanity 😭 . And nvm,, that’s it for today ;-;;; . Ig this could be the last devlog? Or nvm, I still have to write the Readme, GG, that should be the last one lol.. Whatever,,,, Good Evening 🦋
Final Devlog of Light yep, as the title suggests, this is it. I have somehow, despite being an INTP, been able to complete the project before the deadline ( or perhaps I should say, exactly at the deadline 😭) . But anyways, Completed the Readme Fixed minor issues (console errors) Fixed responsiveness issues Added a favicon And yeah, that’s all ig…?? It has been an honor tbh, I’ve learnt soooo many things while making this site… and revised soooo many concepts…. I was lwk a beginner in web-dev before this, and now, well a bit better I suppose? 😭 . Either way,,, It was fun…. :) Thank you for everything..!!! ❤️🩹 . P.S. Idk what to add as screenshot for this one, so just added the About page of my site 🗿🤷🏻♂️
Welcome back And here I am, just after writing Aporia’s devlog, writing this for Light (the site, not me obv 🗿) . But I’ll keep it short, While I was on break, I kept updating information here n there on the site and made some minor changes. . From now on, I’ll be working properly on the site, making it better every day..!! . And that’s all for today lol…!! See ya tomorrow! . P.S. Idk what to add in attachment, so why not a meme again? (it isn’t even related to web dev, but I found it so funny, had to add it 💔)
Ships:
Shipvlog — Light 🌙 What did you make? Everyone makes a personal website showing what they’ve built, accomplished, or are currently working on. . I wanted to make something that asks a slightly “different” question: “What is happening inside this mind?” . That’s basically what Light is. . Alongside the usual portfolio stuff, there’s a Lab containing unfinished ideas, abandoned projects, current obsessions, and questions I’m still thinking about… Basically,, everything a normal portfolio politely hides…🗿 . What was challenging? Lwk Everything. 😭 . I spent an absolutely unreasonable amount of time designing tiny details, animations, typography, spacing, colors, transitions, and things that probably took five seconds to notice and five hours to make…. . I wanted the homepage title to feel more like Light was being written into existence ,,, the glitch transition into the Lab to feel intentional, and every page to have its own atmosphere… (did I ever mention the fact that Light was my nickname all along?) . The three main pages use red, blue, and warm white. Because, almost everything we see can be represented through RGB,, so I treated them as three different sides of me that mix together into Idhant (w a little twist lol) Underneath them all, it’s still the same guy. Hence the same nav too :) . The geometric lines in About are meant to represent me too: chaotic, interconnected, and hopefully still beautiful (🥀) . And yes, making all of this responsive was painful…. Excruciatingly painful. 😭💔 . What am I proud of? Mostly the fact that something I had imagined for weeks actually exists now…LIVE… . I deliberately left parts of it open to interpretation too. The boy holding the bouquet and book could be waiting for someone while reading a book to kill time, could have been given the bouquet while being told by someone “you are my light” , could be heartbroken, or could mean literally anything…. I liked not explaining everything… Things to try Move your cursor through the snow (don’t ask me why 😭, it’s fun) Watch the text glitch Click Light on the homepage and enter the Lab Explore the Lab sections Click the 02 / ABOUT on the homepage and enter the About page Notice the different page colors and text-selection colors Try the site on both desktop and mobile . Before testing . The site is best experienced on a Chromium-based browser . . Also, disable any browser dark-mode extension , otherwise it may decide my carefully chosen colors are merely suggestions. 💔 . Light’s Live here: https://alchemic-eclipse.github.io/light/ . And,,,, after way too many hours, Light is finally live. 🫠 . Not perfect. . Just mine ❤️🩹 Thank you for reading it through..!! ❤️🩹...
|
1793004868.5805786
|
1793091268.5805786
|
|
32126
|
Astrex VPN by @ThatWorks | Stardance
|
ThatWorks
|
1
|
52.25
|
625
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T17:57:10Z", "hours": 52.0, "multiplier": 14.1, "payout": 625, "blessing": "neutral", "text": "🚀 Building a VPN I actually want to use! I’m creating an open-source, cross-platform VPN client powered by the most resilient protocols - VLESS + REALITY and Hysteria 2. Frustrated by ad-heavy apps and shady privacy policies, I decided to build my own full ecosystem from scratch—including custom servers, node architecture, and native apps for macOS and Android (Windows & Linux coming soon!). Super proud to turn this idea into reality and keep it completely clean and transparent. Give it a try and download the builds at https://astrex.club !", "repo": "https://github.com/theorynow/AstrexVPN", "demo": "https://astrex.club"}]...
|
[{"post_id": 49960, "ts": "202 [{"post_id": 49960, "ts": "2026-08-18T23:05:08Z", "hours": 0.2522, "text": "A short video that shows the app in action. Download it for Android and macOS at https://astrex.club . Don’t forget to use a promo code for free traffic - TRIAL 🔥"}, {"post_id": 46441, "ts": "2026-08-13T17:31:58Z", "hours": 1.2156, "text": "Fixed the x86_64 (Intel) build issues for macOS. Sing-box now compiles seamlessly for both ARM64 and Intel architectures."}, {"post_id": 46368, "ts": "2026-08-13T15:20:54Z", "hours": 2.5178, "text": "Updated the design and the icon, added a new server, made some minor adjustments to the server-switching logic."}, {"post_id": 45383, "ts": "2026-08-11T20:02:10Z", "hours": 2.2822, "text": "I’ve been so focused on the client lately that I haven’t posted a devlog about the custom backend I’ve been building in the background for about 10 hours (the time actually doesn’t match this devlog, but it’s already synced to the main counter - a bit of a weird system). The whole architecture runs on a central Hub that stores user data and traffic, with individual nodes connecting to it via WebSockets so users can easily fetch active nodes and route their connections. The most interesting challenge was figuring out how to update the Xray core config on the nodes without any restarts—I managed to hook into Xray’s gRPC API to inject users and track traffic on the fly, while Hysteria handles the same tasks at the rest level. I also spun up a quick landing page for app downloads at https://astrex.club , but since I completely vibecoded, I kept it off the project time tracker to keep things fair. If you want to poke around under the hood, you can check out the API docs at https://hub.astrex.skyfly.hackclub.app/docs and the public Grafana dashboard here: https://grafana.hub.astrex.skyfly.hackclub.app/public-dashboards/f396f592ce994d128f9b2a321030ad58"}, {"post_id": 45146, "ts": "2026-08-11T13:28:32Z", "hours": 3.9036, "text": "Finally automated releases. One Gradle task now handles the whole process: updates versions in Android and iOS from libs.versions.toml, generates signed split APKs per architecture, and kicks off the macOS DMG build. (Plus, I finally fixed the issue where release builds were somehow still using the debug key…) Also added a small UI polish."}, {"post_id": 42860, "ts": "2026-08-07T20:18:39Z", "hours": 3.3008, "text": "Added promo codes and deeplinks. The plan is to put a “Try Trial” button on the website that deep-links straight into the app and auto-claims free traffic. To stop bots from abusing this, hooked up Abuse Shield with silent guest auth across our Axum backend and KMP client. Android uses ANDROID_ID, while iOS and macOS generate a persistent 256-bit key in Keychain to authenticate devices without login screens. It’s still a fairly basic check for now, but better than nothing. The rest was UI cleanup."}, {"post_id": 42171, "ts": "2026-08-06T19:44:17Z", "hours": 8.0311, "text": "Localization sat in the backlog forever, but I finally knocked it out using moko-resources. Dropped a language picker into the account screen too. Also added live TCP pings to the server list (previously there were mocks). The rest was mostly cleanup. Refreshed the account screen ui, properly organized folders by feature, and mapped backend errors to actual translated text instead of dumping raw unlocalized strings on the user. Next on the list is deeplinks. The plan is to let people claim their traffic via a link rather than just giving it away on signup - mainly to filter out bots. Once that’s sorted, I can finally start handing the client out for testing."}, {"post_id": 39181, "ts": "2026-08-01T23:37:52Z", "hours": 1.4764, "text": "Sparkle updates are finally working on macOS. Xcode was being a pain and ignoring version numbers from Info.plist, but got it sorted. Also fixed that annoying bug where the connection timer reset to zero whenever you navigated away from the home screen. Now we just calculate elapsed time dynamically - Android saves it in prefs, and macOS just asks the system how long sing-box has been running."}, {"post_id": 36995, "ts": "2026-07-29T13:26:34Z", "hours": 1.6144, "text": "Fixed a crash that only showed up when switching protocols really fast on Android. Every switch was doing a full restart of the VPN under the hood - kill the old connection, start a new one. The problem is the old connection’s background threads didn’t have time to clean up before the new ones started, and they’d end up colliding. Rare, but when it hit, the whole app went down. Turns out the library we use (sing-box) actually has a built-in way to swap configs without restarting anything - just feed it the new config and it handles the rest. Switched to that, crash is gone."}, {"post_id": 36580, "ts": "2026-07-28T19:48:21Z", "hours": 11.6572, "text": "Two commits in since the last post. MacOS is finally working - sing-box integration needed a proper rewrite, took longer than it should’ve. Also hooked up the backend to actual UI - server list, traffic, account, connect/disconnect - all talking to the rust (Axum) backend now. Plus added an in-app update widget to the UI. Android is fully working end to end at this point. Currently integrating Sparkle for auto-updates on macOS. More soon."}, {"post_id": 32977, "ts": "2026-07-22T14:22:53Z", "hours": 15.8939, "text": "So, first devlog - let’s go. I’ve been working on Astrex VPN for a while now and figured it’s time to start talking about it. Honestly, a big chunk of my time has gone into design, way more than I expected - I just can’t ship something that doesn’t look and feel right to me. The client is cross-platform, built with Kotlin Multiplatform and sing-box doing the heavy lifting under the hood. The backend is in Rust, which has been a great choice so far. Architecturally, the whole thing runs on a hub-and-node setup: the hub sits in the middle managing connections, and the nodes are individual servers that reach out to the hub and talk to it over WebSocket. Still a lot to do, but it’s coming together. More updates soon."}]...
|
Title: Astrex VPN by @ThatWorks | Stardance
Devlo Title: Astrex VPN by @ThatWorks | Stardance
Devlogs:
So, first devlog - let’s go. I’ve been working on Astrex VPN for a while now and figured it’s time to start talking about it. Honestly, a big chunk of my time has gone into design, way more than I expected - I just can’t ship something that doesn’t look and feel right to me. The client is cross-platform, built with Kotlin Multiplatform and sing-box doing the heavy lifting under the hood. The backend is in Rust, which has been a great choice so far. Architecturally, the whole thing runs on a hub-and-node setup: the hub sits in the middle managing connections, and the nodes are individual servers that reach out to the hub and talk to it over WebSocket. Still a lot to do, but it’s coming together. More updates soon.
Two commits in since the last post. MacOS is finally working - sing-box integration needed a proper rewrite, took longer than it should’ve. Also hooked up the backend to actual UI - server list, traffic, account, connect/disconnect - all talking to the rust (Axum) backend now. Plus added an in-app update widget to the UI. Android is fully working end to end at this point. Currently integrating Sparkle for auto-updates on macOS. More soon.
Fixed a crash that only showed up when switching protocols really fast on Android. Every switch was doing a full restart of the VPN under the hood - kill the old connection, start a new one. The problem is the old connection’s background threads didn’t have time to clean up before the new ones started, and they’d end up colliding. Rare, but when it hit, the whole app went down. Turns out the library we use (sing-box) actually has a built-in way to swap configs without restarting anything - just feed it the new config and it handles the rest. Switched to that, crash is gone.
Sparkle updates are finally working on macOS. Xcode was being a pain and ignoring version numbers from Info.plist, but got it sorted. Also fixed that annoying bug where the connection timer reset to zero whenever you navigated away from the home screen. Now we just calculate elapsed time dynamically - Android saves it in prefs, and macOS just asks the system how long sing-box has been running.
Localization sat in the backlog forever, but I finally knocked it out using moko-resources. Dropped a language picker into the account screen too. Also added live TCP pings to the server list (previously there were mocks). The rest was mostly cleanup. Refreshed the account screen ui, properly organized folders by feature, and mapped backend errors to actual translated text instead of dumping raw unlocalized strings on the user. Next on the list is deeplinks. The plan is to let people claim their traffic via a link rather than just giving it away on signup - mainly to filter out bots. Once that’s sorted, I can finally start handing the client out for testing.
Added promo codes and deeplinks. The plan is to put a “Try Trial” button on the website that deep-links straight into the app and auto-claims free traffic. To stop bots from abusing this, hooked up Abuse Shield with silent guest auth across our Axum backend and KMP client. Android uses ANDROID_ID, while iOS and macOS generate a persistent 256-bit key in Keychain to authenticate devices without login screens. It’s still a fairly basic check for now, but better than nothing. The rest was UI cleanup.
Finally automated releases. One Gradle task now handles the whole process: updates versions in Android and iOS from libs.versions.toml, generates signed split APKs per architecture, and kicks off the macOS DMG build. (Plus, I finally fixed the issue where release builds were somehow still using the debug key…) Also added a small UI polish.
I’ve been so focused on the client lately that I haven’t posted a devlog about the custom backend I’ve been building in the background for about 10 hours (the time actually doesn’t match this devlog, but it’s already synced to the main counter - a bit of a weird system). The whole architecture runs on a central Hub that stores user data and traffic, with individual nodes connecting to it via WebSockets so users can easily fetch active nodes and route their connections. The most interesting challenge was figuring out how to update the Xray core config on the nodes without any restarts—I managed to hook into Xray’s gRPC API to inject users and track traffic on the fly, while Hysteria handles the same tasks at the rest level. I also spun up a quick landing page for app downloads at https://astrex.club , but since I completely vibecoded, I kept it off the project time tracker to keep things fair. If you want to poke around under the hood, you can check out the API docs at https://hub.astrex.skyfly.hackclub.app/docs and the public Grafana dashboard here: https://grafana.hub.astrex.skyfly.hackclub.app/public-dashboards/f396f592ce994d128f9b2a321030ad58
Updated the design and the icon, added a new server, made some minor adjustments to the server-switching logic.
Fixed the x86_64 (Intel) build issues for macOS. Sing-box now compiles seamlessly for both ARM64 and Intel architectures.
A short video that shows the app in action. Download it for Android and macOS at https://astrex.club . Don’t forget to use a promo code for free traffic - TRIAL 🔥
Ships:
🚀 Building a VPN I actually want to use! I’m creating an open-source, cross-platform VPN client powered by the most resilient protocols - VLESS + REALITY and Hysteria 2. Frustrated by ad-heavy apps and shady privacy policies, I decided to build my own full ecosystem from scratch—including custom servers, node architecture, and native apps for macOS and Android (Windows & Linux coming soon!). Super proud to turn this idea into reality and keep it completely clean and transparent. Give it a try and download the builds at https://astrex.club !...
|
1792986988.612485
|
1793073388.612485
|
|
36625
|
Star Browser by @Aron_3763 | Stardance
|
Aron_3763
|
1
|
52.16
|
690
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T12:07:03Z", "hours": 48.0, "multiplier": 14.54, "payout": 690, "blessing": "neutral", "text": "I built a ligthweight and beautiful browser with AI integrated. It was simple in the beginning but when we started to add more features we had so many bugs that came out of nowhere. After a lot of hard work, my friend @adri_3763 and I managed to fix them with some help from AI for debugging and UI styles. I am so happy to ship this project. Try out the new features such as: AI memory and AI chat I can’t wait to hear your opinion about the project.", "repo": "https://github.com/Adriii3793/Star-Browser", "demo": "https://github.com/Adriii3793/Star-Browser/releases/tag/v1.1.2"}]...
|
[{"post_id": 63894, "ts": "202 [{"post_id": 63894, "ts": "2026-09-07T22:21:04Z", "hours": 4.1578, "text": "Hey everyone! Quick update on our browser project. @adri_3763 and I spent the past week testing it on Linux VMs, fixing bugs and making a few improvements. It took a bit longer than we planned. The VMs were very slow most of the time, and we both had a busy week outside of coding too. Anyway, everything is running smoothly now. There are still some things we want to improve, but overall we’re happy with how it’s going. Feel free to try it and let us know what you think. Byee!"}, {"post_id": 56556, "ts": "2026-08-28T11:10:45Z", "hours": 3.5425, "text": "Hey guys! We are excited to announce that we made it. After solving those final bugs, refining a few features and running a lot of tests, we are almost ready to ship it. We add a lot of effort Can’t wait to hear your feedback!"}, {"post_id": 53866, "ts": "2026-08-24T15:53:22Z", "hours": 6.5522, "text": "Hi guys,After a long break at the start of the month and a period of hard work, we finally fixed many bugs that were present in the browser. First of all, @adri_3763 and I added memory to the AI to make it smart so it can remember things. We added ad blockers too and the ability to set a personalized wallpaper. We added a button to copy the link from the search bar. On the homepage, we optimized the section for favorite websites and the media players. In the end we made some tests and optimized the code with AI to make it run smoothly and prevent lag. We are now ready to submit the work we did with so much effort. Thanks for everything, and I hope y’all will support us!"}, {"post_id": 36582, "ts": "2026-07-28T19:55:24Z", "hours": 9.8556, "text": "Hello everyone! During the last few days I’ve been focusing on improving the overall look and feel of the browser. I redesigned the UI to make it cleaner and more consistent while also giving the AI panel a completely new style that matches the rest of the interface. I also added smooth animations to the windows, making transitions feel much more polished. I fixed several bugs in the browser dropdown menu that appeared after the recent UI changes. I also resolved multiple issues affecting the window control buttons which had broken during the various interface updates. Meanwhile @adri_3763 is still working on the backend and is currently focused on improving the setup interface. That’s all for now. See you in the next devlog."}, {"post_id": 33770, "ts": "2026-07-23T23:11:43Z", "hours": 9.8186, "text": "Hello everyone! During the last few days I’ve been focusing on adding new elements to the UI. I implemented the main browser dropdown menu, which now includes all the standard options like Zoom controls and add a New Tab. I also built the new tab start page. It now features a greeting message and a row of quick-access shortcuts for websites like Google, GitHub, and YouTube. The AI chat window is now fully styled and integrated into the right sidebar. It includes the active chat view and an input field that supports both text messages and image dragging. Meanwhile, @adri_3763 is still working on the backend but now he is focused on the part of the setup interface and he is still improving it. That’s all for now. Thank you for reading"}, {"post_id": 32334, "ts": "2026-07-21T13:18:39Z", "hours": 10.8381, "text": "Hello everyone!During the last few days I’ve been mainly working on improving the app and cleaning up some of the problems we had. A big part of my time went into fixing the window movement and making the UI feel smoother. I also worked on the tabs system and added the ability to drag them around. It took longer than expected because there were some annoying crashes that kept showing up, but after a lot of debugging everything is finally working much better.I also helped with some of the issues we had while sharing and syncing files through Git. We had a few errors that slowed our progress, but we managed to get past them.Right now I’m focusing more on the AI part of the project. I’m styling the AI window and preparing everything needed to integrate it into the search system. Meanwhile, @Adri_3763 has been working on other parts of the app, and we’ve been trying to put everything together step by step.There is still a lot to do, especially with the backend. Some parts are taking more time than expected, but the project is slowly coming together.That’s all for now. Thank you for reading"}, {"post_id": 30401, "ts": "2026-07-17T21:59:28Z", "hours": 7.6994, "text": "Hello everyone, Yesterday and today, my friend @adri_3763 and I worked together at the library for 8 hours each day on our project. Our goal is to build a fast, secure, and beautiful browser. We decided to collaborate on the same files and divided the tasks: Adrian designed the front page, while I worked on the window controls. We ran into several issues, especially with the UI and broken code. I was not able to complete my part of the project because I encountered many bugs. Currently, I am working on making it possible to run the application on MacOS. However, we supported each other and used AI to solve the problems. In the next few days, I will start fixing everything. Our next steps are to fix the bugs in the window controls, refine the UI, and if possible, begin working on the backend. This project is completely new to us. We are learning new languages like Svelte, learning how to collaborate, and discovering how to create applications. Thanks for reading."}]...
|
Title: Star Browser by @Aron_3763 | Stardance
Dev Title: Star Browser by @Aron_3763 | Stardance
Devlogs:
Hello everyone, Yesterday and today, my friend @adri_3763 and I worked together at the library for 8 hours each day on our project. Our goal is to build a fast, secure, and beautiful browser. We decided to collaborate on the same files and divided the tasks: Adrian designed the front page, while I worked on the window controls. We ran into several issues, especially with the UI and broken code. I was not able to complete my part of the project because I encountered many bugs. Currently, I am working on making it possible to run the application on MacOS. However, we supported each other and used AI to solve the problems. In the next few days, I will start fixing everything. Our next steps are to fix the bugs in the window controls, refine the UI, and if possible, begin working on the backend. This project is completely new to us. We are learning new languages like Svelte, learning how to collaborate, and discovering how to create applications. Thanks for reading.
Hello everyone!During the last few days I’ve been mainly working on improving the app and cleaning up some of the problems we had. A big part of my time went into fixing the window movement and making the UI feel smoother. I also worked on the tabs system and added the ability to drag them around. It took longer than expected because there were some annoying crashes that kept showing up, but after a lot of debugging everything is finally working much better.I also helped with some of the issues we had while sharing and syncing files through Git. We had a few errors that slowed our progress, but we managed to get past them.Right now I’m focusing more on the AI part of the project. I’m styling the AI window and preparing everything needed to integrate it into the search system. Meanwhile, @Adri_3763 has been working on other parts of the app, and we’ve been trying to put everything together step by step.There is still a lot to do, especially with the backend. Some parts are taking more time than expected, but the project is slowly coming together.That’s all for now. Thank you for reading
Hello everyone! During the last few days I’ve been focusing on adding new elements to the UI. I implemented the main browser dropdown menu, which now includes all the standard options like Zoom controls and add a New Tab. I also built the new tab start page. It now features a greeting message and a row of quick-access shortcuts for websites like Google, GitHub, and YouTube. The AI chat window is now fully styled and integrated into the right sidebar. It includes the active chat view and an input field that supports both text messages and image dragging. Meanwhile, @adri_3763 is still working on the backend but now he is focused on the part of the setup interface and he is still improving it. That’s all for now. Thank you for reading
Hello everyone! During the last few days I’ve been focusing on improving the overall look and feel of the browser. I redesigned the UI to make it cleaner and more consistent while also giving the AI panel a completely new style that matches the rest of the interface. I also added smooth animations to the windows, making transitions feel much more polished. I fixed several bugs in the browser dropdown menu that appeared after the recent UI changes. I also resolved multiple issues affecting the window control buttons which had broken during the various interface updates. Meanwhile @adri_3763 is still working on the backend and is currently focused on improving the setup interface. That’s all for now. See you in the next devlog.
Hi guys,After a long break at the start of the month and a period of hard work, we finally fixed many bugs that were present in the browser. First of all, @adri_3763 and I added memory to the AI to make it smart so it can remember things. We added ad blockers too and the ability to set a personalized wallpaper. We added a button to copy the link from the search bar. On the homepage, we optimized the section for favorite websites and the media players. In the end we made some tests and optimized the code with AI to make it run smoothly and prevent lag. We are now ready to submit the work we did with so much effort. Thanks for everything, and I hope y’all will support us!
Hey guys! We are excited to announce that we made it. After solving those final bugs, refining a few features and running a lot of tests, we are almost ready to ship it. We add a lot of effort Can’t wait to hear your feedback!
Hey everyone! Quick update on our browser project. @adri_3763 and I spent the past week testing it on Linux VMs, fixing bugs and making a few improvements. It took a bit longer than we planned. The VMs were very slow most of the time, and we both had a busy week outside of coding too. Anyway, everything is running smoothly now. There are still some things we want to improve, but overall we’re happy with how it’s going. Feel free to try it and let us know what you think. Byee!
Ships:
I built a ligthweight and beautiful browser with AI integrated. It was simple in the beginning but when we started to add more features we had so many bugs that came out of nowhere. After a lot of hard work, my friend @adri_3763 and I managed to fix them with some help from AI for debugging and UI styles. I am so happy to ship this project. Try out the new features such as: AI memory and AI chat I can’t wait to hear your opinion about the project....
|
1793098542.8791094
|
1793184942.8791094
|
|
4994
|
Tamagochi pet by @S0l4Ce | Stardance
|
S0l4Ce
|
1
|
52.03
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T05:08:22Z", "hours": 45.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a tamagotchi pet (i am aware that throughout the project, the spelling of it has been inconsistent) But anyway, what i found most challenging was having to look through the loop constantly making adjustments based off minor errors during each test run and incorrect wiring making me feel like i had the code wrong. I am proud that I learned surprisingly a lot. The screenshot is merely just part of it and you should check it out yourself! both the source for the software and hardware is in there. The latest software build is in a separate branch and you may need to scope around for the latest hardware build. PLEASE note that all of the hardware additions - if you truly want to build it yourself, is pushing the limits of the esp32 so please run it while using a powerful cable.", "repo": "https://github.com/mootonlee/tamagotchi-", "demo": ""}]...
|
[{"post_id": 81143, "ts": "202 [{"post_id": 81143, "ts": "2026-10-20T02:14:13Z", "hours": 1.0578, "text": "spent this hour troubleshooting and figuring out how to add wires. was super unsucessful and wasted my time. im pretty annoyed"}, {"post_id": 80851, "ts": "2026-10-19T00:50:55Z", "hours": 2.3, "text": "Finished adding modules like the LEDs, resistors, etc. All i need now is the wiring which i heard is tedious"}, {"post_id": 80585, "ts": "2026-10-18T07:04:57Z", "hours": 1.4167, "text": "Im very proud of my work! i finished up the screen, fixed misalignments, ensured precision, and in the end, everything fit perfectly!"}, {"post_id": 80513, "ts": "2026-10-17T22:48:45Z", "hours": 2.26, "text": "got mad countless times. Im doing my CAD for my project because youll now get permanently rejected if you miss it and i never knew. Im making the screen myself because i cant find it online. Below is a picture of how its assembled so far, and i would post the part im making right now but this just looks better. Also, does the CAD have to be fully accurate? ive never done a CAD before so parts i make myself may look off but ill try my best to make the measurements right."}, {"post_id": 70980, "ts": "2026-09-20T04:48:45Z", "hours": 6.0014, "text": "finally finished the 2nd personality. will be shipping my project. only thing left to do is fix bugs (i already scanned software and hardware for bugs. though the code seems somewhat contradictory to itself, it still works but please report bugs under this one’s comment and check out my submission and the demo video!"}, {"post_id": 63407, "ts": "2026-09-07T07:10:06Z", "hours": 1.4625, "text": "im starting work on the radiobuttons for interchangable personality to wrap up the project. im using placeholders so the face looks red if the radiobuttons are selected so it would look unpleasant to see but yeah"}, {"post_id": 59986, "ts": "2026-09-02T02:11:14Z", "hours": 2.4203, "text": "Got back on track, finally! It now gets visibly dim below 50 value on light, and dark below 25, along with squint and sleep. Im now going to begin working on the other expressions after I finish adding the dim to smile and alone faces. This thing is ending soon so idk if i will be able to add the computer control functions as promised :( I also switched to cachyos so Idk how that would go either. Check out the hardware version on my page though! its finished"}, {"post_id": 52633, "ts": "2026-08-22T21:16:19Z", "hours": 0.5211, "text": "My windows OS broke, not sure how, so im running on my second SSD and my most recent work has been erased! (software version) random thumbnail ig but im gonna be re-doing whatever has been erased.."}, {"post_id": 41108, "ts": "2026-08-05T03:07:48Z", "hours": 3.4297, "text": "finally added a sleep system, dimming system, and a fully fixed and functional lonely system. when lights are at or below 50, the lights will go dim, and below 25, they will go even dimmer, and it will sleep (software) I will the face variants next, and then actual interactive computer controls. shy and moody are still not ready yet"}, {"post_id": 34593, "ts": "2026-07-25T13:29:57Z", "hours": 2.5967, "text": "added lonely, smile, and neutral, also added placeholders for the soon to be added personalities and a brightness slider. Both are unfunctional and i only have the 3 faces for now. go check out my hardware version, its fully functional"}, {"post_id": 32247, "ts": "2026-07-21T09:09:49Z", "hours": 1.2072, "text": "working on a software version of my project 🔥 I main micropython but I’m adjusting to python for this and learning the different ways things are written, and figuring out how to make faces. Can anyone tell me if theres a designer that gives you the code when you draw something on a canvas? similar to lopaka?? The software version is projected to have more features for computer control than the hardware version. After finishing the faces and overall logic, I will add the additional side controls for it, like light and stuff"}, {"post_id": 32144, "ts": "2026-07-21T03:23:42Z", "hours": 9.8794, "text": "built an extension for the pet. It connects to the pet using gnd and 4 labeled gpio pins, though the 4th one connects to 0 and not 40. It works somewhat like a stream deck; It opens 2 games, 2 code editors, a browser, and shuts off or closes tabs on my computer without needing special permissions, it is built for windows though. Most of the hours logged came from trial and error. Most of the time the buttons wouldnt register, spam the same commands, double clicks wouldnt register, and it was a mess for hours. did some bugfixes involving screen bugs during personality swaps, and the pet “forgetting” its personality. please suggest additional ideas."}, {"post_id": 30476, "ts": "2026-07-18T02:37:34Z", "hours": 1.7375, "text": "Rewired to remove clutter. Back isn’t looking too good but the front is, when I run out of ideas ill probably build a shell for it please make recommendations"}, {"post_id": 30124, "ts": "2026-07-17T13:22:42Z", "hours": 2.4481, "text": "Added another personality, shy. added “cores” that determine the personality when plugged in, red for moody and blue for shy. unplug for normal. The shy personality features new unique faces. led colors and shaken face remain same"}, {"post_id": 29977, "ts": "2026-07-17T06:07:54Z", "hours": 1.6644, "text": "Ignore devlog: Tried making online demo but i pressed a button and all my tabs refreshed all at once and reset my work. Im publishing the devlog because i still did the work and i dont want it to go to waste (IGNORE THIS DEVLOG)"}, {"post_id": 29812, "ts": "2026-07-16T23:08:57Z", "hours": 3.2333, "text": "Added extra personality. If you plug a red LED in, it will get a more of a moody personality. It will look angry, sleep angry, and will usually just be angry (shaken face does not change.) unplugging the red LED will make it instantly revert to default personality let me know other interchangeable personalities I should add, or other software and hardware suggestions. Thanks."}, {"post_id": 28868, "ts": "2026-07-15T13:02:50Z", "hours": 2.6472, "text": "Added a gyroscope so the pet can become dizzy when shook. It features a red backlight, and remains dizzy for about 5 seconds. It was really a 20-30 minute setup after learning how to code and use one, and installing the libraries, but that extra addition turned into hours of additional troubleshooting since I was unfamiliar with the hardware. I eventually got it working after plenty of trial and error, and the real issue was just a couple lines of code. I’m unfortunately not getting much views, which is discouraging, but if you do come across this and decide to click on it, please suggest something in the comments. Thanks."}, {"post_id": 28151, "ts": "2026-07-14T08:19:06Z", "hours": 0.6217, "text": "Added status lights; finishing off full basic functionality for the pet. any additional features would be improvements, hardware additions, and wiring. full explanation of functions below: The “pet” is a TFT resistive touchscreen. Its face, as you can see, is a simple white and black pixelated look. 4 functions (for now): lonely - after 30 seconds of no interaction, after waking up or not being pet, it will become lonely, which is a sad face of course. The backlight glows a gloomy blue, slightly purple. neutral - base face, the pet is neutral when it isn’t lonely, had just woken up, and had recently been pet. the 3 other moods can occur when it is neutral. the backlight is white. sleeping - when the ambient light is low enough the pet will sleep. It cannot be disturbed and cannot become lonely until woken up. This is what i personally thought was a nice addition to the pet and would bring more realism and life to the pet. This is done by having a photocell near the face for most light accuracy. the backlight features a light purple blue. happy - when you pet it (or interact with the screen), it will smile. the blush being blue and not red was both intentional and unintentional feature. The color system is inverted same with the screen rotation. I did not know how to correct it but i felt the blue looked different and I kinda liked it so I didn’t spend extra time troubleshooting. the backlight features a bright hot pink color. PLEASE add any suggestions and I will likely consider, like adding a thermistor, weather, USB OTG, etc. When i feel like it, I may add a USB mode where it can do things on my computer when plugged in, like opening an app or powering off my computer. (the 35 minutes logged was for fixing the code and adding the lights. Not the full code itself.)"}, {"post_id": 27970, "ts": "2026-07-13T22:34:39Z", "hours": 3.7561, "text": "added functionality to the pet and added made a separate smaller one. It now has multiple moods with the ability to sleep when lights are dimmed enough."}, {"post_id": 16541, "ts": "2026-06-26T22:02:40Z", "hours": 1.0939, "text": "working on the wiring of the tomogachi pet n stuff no coding yet has a touchscreen now"}]...
|
Title: Tamagochi pet by @S0l4Ce | Stardance
Devlo Title: Tamagochi pet by @S0l4Ce | Stardance
Devlogs:
working on the wiring of the tomogachi pet n stuff no coding yet has a touchscreen now
added functionality to the pet and added made a separate smaller one. It now has multiple moods with the ability to sleep when lights are dimmed enough.
Added status lights; finishing off full basic functionality for the pet. any additional features would be improvements, hardware additions, and wiring. full explanation of functions below: The “pet” is a TFT resistive touchscreen. Its face, as you can see, is a simple white and black pixelated look. 4 functions (for now): lonely - after 30 seconds of no interaction, after waking up or not being pet, it will become lonely, which is a sad face of course. The backlight glows a gloomy blue, slightly purple. neutral - base face, the pet is neutral when it isn’t lonely, had just woken up, and had recently been pet. the 3 other moods can occur when it is neutral. the backlight is white. sleeping - when the ambient light is low enough the pet will sleep. It cannot be disturbed and cannot become lonely until woken up. This is what i personally thought was a nice addition to the pet and would bring more realism and life to the pet. This is done by having a photocell near the face for most light accuracy. the backlight features a light purple blue. happy - when you pet it (or interact with the screen), it will smile. the blush being blue and not red was both intentional and unintentional feature. The color system is inverted same with the screen rotation. I did not know how to correct it but i felt the blue looked different and I kinda liked it so I didn’t spend extra time troubleshooting. the backlight features a bright hot pink color. PLEASE add any suggestions and I will likely consider, like adding a thermistor, weather, USB OTG, etc. When i feel like it, I may add a USB mode where it can do things on my computer when plugged in, like opening an app or powering off my computer. (the 35 minutes logged was for fixing the code and adding the lights. Not the full code itself.)
Added a gyroscope so the pet can become dizzy when shook. It features a red backlight, and remains dizzy for about 5 seconds. It was really a 20-30 minute setup after learning how to code and use one, and installing the libraries, but that extra addition turned into hours of additional troubleshooting since I was unfamiliar with the hardware. I eventually got it working after plenty of trial and error, and the real issue was just a couple lines of code. I’m unfortunately not getting much views, which is discouraging, but if you do come across this and decide to click on it, please suggest something in the comments. Thanks.
Added extra personality. If you plug a red LED in, it will get a more of a moody personality. It will look angry, sleep angry, and will usually just be angry (shaken face does not change.) unplugging the red LED will make it instantly revert to default personality let me know other interchangeable personalities I should add, or other software and hardware suggestions. Thanks.
Ignore devlog: Tried making online demo but i pressed a button and all my tabs refreshed all at once and reset my work. Im publishing the devlog because i still did the work and i dont want it to go to waste (IGNORE THIS DEVLOG)
Added another personality, shy. added “cores” that determine the personality when plugged in, red for moody and blue for shy. unplug for normal. The shy personality features new unique faces. led colors and shaken face remain same
Rewired to remove clutter. Back isn’t looking too good but the front is, when I run out of ideas ill probably build a shell for it please make recommendations
built an extension for the pet. It connects to the pet using gnd and 4 labeled gpio pins, though the 4th one connects to 0 and not 40. It works somewhat like a stream deck; It opens 2 games, 2 code editors, a browser, and shuts off or closes tabs on my computer without needing special permissions, it is built for windows though. Most of the hours logged came from trial and error. Most of the time the buttons wouldnt register, spam the same commands, double clicks wouldnt register, and it was a mess for hours. did some bugfixes involving screen bugs during personality swaps, and the pet “forgetting” its personality. please suggest additional ideas.
working on a software version of my project 🔥 I main micropython but I’m adjusting to python for this and learning the different ways things are written, and figuring out how to make faces. Can anyone tell me if theres a designer that gives you the code when you draw something on a canvas? similar to lopaka?? The software version is projected to have more features for computer control than the hardware version. After finishing the faces and overall logic, I will add the additional side controls for it, like light and stuff
added lonely, smile, and neutral, also added placeholders for the soon to be added personalities and a brightness slider. Both are unfunctional and i only have the 3 faces for now. go check out my hardware version, its fully functional
finally added a sleep system, dimming system, and a fully fixed and functional lonely system. when lights are at or below 50, the lights will go dim, and below 25, they will go even dimmer, and it will sleep (software) I will the face variants next, and then actual interactive computer controls. shy and moody are still not ready yet
My windows OS broke, not sure how, so im running on my second SSD and my most recent work has been erased! (software version) random thumbnail ig but im gonna be re-doing whatever has been erased..
Got back on track, finally! It now gets visibly dim below 50 value on light, and dark below 25, along with squint and sleep. Im now going to begin working on the other expressions after I finish adding the dim to smile and alone faces. This thing is ending soon so idk if i will be able to add the computer control functions as promised :( I also switched to cachyos so Idk how that would go either. Check out the hardware version on my page though! its finished
im starting work on the radiobuttons for interchangable personality to wrap up the project. im using placeholders so the face looks red if the radiobuttons are selected so it would look unpleasant to see but yeah
finally finished the 2nd personality. will be shipping my project. only thing left to do is fix bugs (i already scanned software and hardware for bugs. though the code seems somewhat contradictory to itself, it still works but please report bugs under this one’s comment and check out my submission and the demo video!
got mad countless times. Im doing my CAD for my project because youll now get permanently rejected if you miss it and i never knew. Im making the screen myself because i cant find it online. Below is a picture of how its assembled so far, and i would post the part im making right now but this just looks better. Also, does the CAD have to be fully accurate? ive never done a CAD before so parts i make myself may look off but ill try my best to make the measurements right.
Im very proud of my work! i finished up the screen, fixed misalignments, ensured precision, and in the end, everything fit perfectly!
Finished adding modules like the LEDs, resistors, etc. All i need now is the wiring which i heard is tedious
spent this hour troubleshooting and figuring out how to add wires. was super unsucessful and wasted my time. im pretty annoyed
Ships:
I made a tamagotchi pet (i am aware that throughout the project, the spelling of it has been inconsistent) But anyway, what i found most challenging was having to look through the loop constantly making adjustments based off minor errors during each test run and incorrect wiring making me feel like i had the code wrong. I am proud that I learned surprisingly a lot. The screenshot is merely just part of it and you should check it out yourself! both the source for the software and hardware is in there. The latest software build is in a separate branch and you may need to scope around for the latest hardware build. PLEASE note that all of the hardware additions - if you truly want to build it yourself, is pushing the limits of the esp32 so please run it while using a powerful cable....
|
1793004735.0102348
|
1793091135.0102348
|
|
10280
|
Space Shuttle by @CoolHotDog64 | Stardance
|
CoolHotDog64
|
1
|
52.0
|
920
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T18:27:21Z", "hours": 52.0, "multiplier": 19.22, "payout": 920, "blessing": "neutral", "text": "Space Shuttle I Created a Space Shuttle Using CAD (Computer Aided Design) How to use my project: You can visit the model of my space shuttle at https://cad.onshape.com/documents/0cc091979462d1f40116053c/w/ab82948fa33e8f748e0fcb44/e/4129cc439ac4ca6aab65041f?renderMode=0&uiState=6a565da1ab0f5b3c13bc4737 If this link says 403 Forbidden, you should select the address bar at the top of the screen and then press enter to refresh the page, which should fix the issue Step-by-step explanation: Select the address bar at the top of the screen Press enter/search Another way to fix this is copying the url and pasting it into another tab Step-by-step explanation: Select the address bar at the top of the screen Copy the address bar that you selected Paste the link in a different address bar (a new tab) How to download my project: First go through the link to visit my project Then select the download button After selecting the download, button a menu should appear where you can then select many options before you export the file Does this project support AMS (Multi-Color Printing)? Yes, this project should support AMS since it’s broken down into separate pieces instead of just coloring the visible faces on the rocket Why did I choose a space shuttle? This project was very hard to make and not many space shuttles are available, and they are usually not realistic. I wanted to make a space shuttle since it was the theme of the event, and I was interested in testing my CAD skills. I am so happy with the result and realism of my rocket. If you look at other designs online, a lot of them will be way less realistic than mine. For example, here is a link to a space shuttle on maker world. Comparing it to my rocket, you can see the difference in realism. https://makerworld.com/en/models/956260-space-shuttle#profileId-925247 What was the most difficult part of this project? One of the most difficult parts of this project was the back of my rocket. There were so many complex, intricate parts that I had to redo so many times that it took me countless hours just to get it right. What I learned from this project: I learned how to use multiple new tools that I’ve never used before, like the transform tool I learned how to copy off images and try to make the dimensions correct I learned how to use many tools better, like fillet tools I learned how to make complex sketches Thank you for viewing my ship! I had so much fun creating this project and I can’t wait to start my next project (which will probably be a space station!) My readme is easier to follow since it has multiple images so check that out if you are confused for the viewing and downloading process Check my readme out here: https://github.com/JaydenSeelo/CAD/blob/main/README.md", "repo": "https://github.com/JaydenSeelo/CAD", "demo": "https://cad.onshape.com/documents/0cc091979462d1f40116053c/w/ab82948fa33e8f748e0fcb44/e/4129cc439ac4ca6aab65041f?renderMode=0&uiState=6a565da1ab0f5b3c13bc4737"}]...
|
[{"post_id": 27783, "ts": "202 [{"post_id": 27783, "ts": "2026-07-13T17:18:19Z", "hours": 5.0453, "text": "I Finished My Space Shuttle! This has taken me so many hours and I’m very happy with the result What I did in the past 4 hours: I started and completed the large support that connects the body of the shuttle to the external tanks. I had to cut into the external tank and I used multiple tools to add realism like the extrude tool. After that, I created cylinder supports that i then connected using the transform and extrude tools. I started and completed the small support that connected the nose of the shuttle to the external tanks. I had to use many transform tools to make the correct shape but eventually I shaped it correctly. I added a liquid oxygen fuel line to the large external tank and connected it to the system tunnel with many supports. I mostly used the extrude tool for this step. This took the most time to complete in the 4 hours since my last devlog. ____________________________________________________________________________ What My Space Shuttle Includes Realistic external tanks Realistic rings surrounding the solid rocket boosters Realistic rocket booster shape Small realistic features like an access door and forward booster separation modules Realistic supports that carry the rocket Realistic external tank Realistic LO2 feedline and LO2 feedline fairing Realistic stringers Realistic ring frames A realistic rocket Realistic wings Realistic nose with small features like the cockpit window and star tracker doors Realistic vertical stabilizer Realistic body shape Realistic Aft fuselage, which includes the space shuttle’s main engines and also includes the orbital maneuvering system and the RCS thrusters Thanks for the support on this project! I will likely do a space station for my next project. I will probably ship this project tomorrow, and then it should be available for printing! I tried to design the shuttle for multicolor printing so you should be able to choose multiple colors. There should be a total of 3 different colors since I wanted to limit the amount of filament colors for printing. If you still have any suggestions, please leave them in the comments!"}, {"post_id": 24991, "ts": "2026-07-08T21:43:00Z", "hours": 6.4489, "text": "I Finished The Rocket Component Of My Space Shuttle This Was A Long And Hard Process But I was Finally Able To Complete The Rocket Component Of My Shuttle! This Is What I Have Done In The Past 6 Hours I fixed an error in the front of my rocket that made the front look less realistic (This took so long since I needed to fix an area with a curved shape. which is difficult to do) I remade the elevons of my rocket since they were unrealistic before I renamed my project from CAD to Space Shuttle for more clarity in what my project is What I Still Need To Do I still need to connect the rocket to the external tanks (They are hidden in this image) This Project Is So Close To Being Done! If You Have Any Suggestions To Make This Rocket Better, Please State Them In The Comments!"}, {"post_id": 21148, "ts": "2026-07-02T23:06:35Z", "hours": 3.9303, "text": "Almost Done The Back Of My Rocket! I Can’t Believe How Close I Really Am From Completing This Project. This Is All I Need To Do Before I Am Done: A quick fix to the wings of the space shuttle (this will probably take 10 minutes and then I will be done with the back of my rocket! Connect the fuel tanks to the rest of the build (They are hidden in this picture) Possibly fix one area on the front of my rocket (This Is Optional But Would Make The Rocket Look Much Better) What I Did Since Last Devlog: I completely remade the vertical stabilizer (also called the tail fin) of the space shuttle Remade and angled the oms pods since they were completely wrong before Moved up the oms engine nozzles (The bell looking component on the rocket) Redesigned the RCS thruster ports (They are beside the OMS engine nozzles) If you have any improvements that i could make to the space shuttle, please mention them in the comments!"}, {"post_id": 19221, "ts": "2026-06-30T14:17:17Z", "hours": 2.7025, "text": "I’m Done The Front Of My Space Shuttle! This Has Taken A Lot Of Hours But I Am Happy With This Iteration I was able to add: Much More Realism To The Front Of The Rocket Like Realistic Colors Added Some More Small Components Onto The Front Of The Rocket Added The Flight Deck Window To The Rocket Added More Material To The Middle Of The Rocket To Make The Base More Curved And Realistic (This Took The Longest Since I needed To Smooth It Out Realistically And It Took Forever To Find The Solution To Round It Perfectly) What I Still Need To Work On: I Still Need To Add Realistic Angle To The OMS Pods I also Need To Attach The OMS Pods To The Rocket, Which Includes Reshaping Them To The Right Dimensions I Need To Move The Body Of The Rocket Further Down Into The Rocket Boosters Since Right Now There Is A Gap I Have To Smooth Out The Enclosure Surrounding The Main Engines I Will Try And Fix The Connection Point On The Rocket To The Main Tanks (They Are Hidden In This Image) ______________________________________ I’m Estimating This Will Take 9 Hours To Complete. If You Have Any Suggestions To Improve This Model, Feel Free To Share Them In The Comments!"}, {"post_id": 16688, "ts": "2026-06-27T03:53:09Z", "hours": 3.0233, "text": "Almost done the front of my rocket! After 3 Hours, I Was Able To Troubleshoot Many Errors and Finally I Was Able to Make The Front Of My Rocket Much More Realistic. I was finally able to add: A realistic, smooth shape of the rocket that resulted in boosted realism A more round shape to the body of the rocket- Realistic features of the rocket’s nose I also removed the sharp edges on the front of the rocket that ruined the rocket’s overall image. My next goals: Working on the bottom of the rocket to add realistic color for AMS printing Smoothing out the transition between the body and the engines (Right now they are really messed up and look terrible) Adding realistic connections where the rocket attaches to the external tank (The tank is hidden in this image) I was able to make the rocket look so much more realistic (Look at my other devlogs to see the before and after) and I’m so happy about how it turned out so far! So far, I have made amazing progress on this ambitious project and I can’t wait to finish this off."}, {"post_id": 15392, "ts": "2026-06-25T00:55:03Z", "hours": 3.8297, "text": "I’m still working on my space shuttle! So Far, My Main Goal has been Editing The Front of My Shuttle Since it Was Lacking in Realism. This Includes: Smoothing down ruff corners Adding high detail to the front of the rocket (Haven’t done this yet, but I have enough experience from the previous design to edit this) Enlarging the base of the rocket to add more crucial detail Making the front shape of the rocket realistic (This is by far the hardest and most time-consuming part) Adding detail to the tip of the rocket and the window in the front of the rocket (I haven’t really started on this because it needs a lot of work) Adding realistic connections to the external tank (Right now it’s just sitting on top) Once I complete these main goals, I will likely be done! (The rest of the rocket in this image is hidden) Feel Free To Share Suggestions About The Rocket In The Comments!"}, {"post_id": 12270, "ts": "2026-06-20T01:06:13Z", "hours": 1.6928, "text": "Still Working on My Space Shuttle. I was able to add much more detail to the external tank like realistic panels, vents, and intertank ribs (The stripe pattern on the external tank). I also moved up the external tank and rocket since they were very low. I’m also planning on designing a better nose for the shuttle. After I do that, I’m am going to be very close to being done but the nose will take a while."}, {"post_id": 10371, "ts": "2026-06-17T01:42:15Z", "hours": 2.0058, "text": "Editing My Space Shuttle I mostly worked on adding the smaller details on the external tank. I was able to smooth out some areas to add more realism and this made the rocket more clean. I also realized that the front of my rocket isn’t very realistic, and I’m going to try and fix it. I’m also planning on adding other details. Sadly, it seems like my project will take much longer than expected, but I’m willing to pour in more time to make this ship accurate. I’ll try to add much more detail over these past few days. I might also design a stand so you can display this rocket (You should be able to print it once I ship the project, and it should also support multicolor printing) Let me know if you want me to make a stand in the comments!"}, {"post_id": 9515, "ts": "2026-06-15T21:41:01Z", "hours": 4.1583, "text": "My Space Shuttle is Almost Done! My Estimate is That it Will be Done Tomorrow The main goals I have worked on since my last devlog are: Added the same realism on the left rocket as the right rocket. This included adding multiple realistic rings and other complex shapes. Added much more detail on the solid rocket boosters, like accurate connection points to the external tank. This was necessary so that the tank would actually connect to the rocket boosters when printing the rocket, and this also made the rocket look much more realistic. Smoothed out the bottom of the external tank to increase realism since before it was just a block. Moved up both solid rocket boosters since they were very low. I had to move them up since they were very wonky and moving them up made the overall image of the rocket much better and more accurate (You can see what it looked like before with the messed-up tank on the other devlogs). Added a black stripe to the wings of the rocket (Wasn’t too noticeable but after completing this edit the wings looked much cleaner). Hollowed out the bottom of both rocket boosters, since before it was just a block before. I also added subsections on the rocket boosters. This created subtle realism, and it made the boosters look less empty. What I still need to work on: I still need to add realism to the external tank since it currently looks empty. This whole build took way too long since i made many mistakes and errors during this whole process but I learned a lot and I’m very happy with the result! If you see my shipped project, feel free to check it out!"}, {"post_id": 8484, "ts": "2026-06-14T03:26:37Z", "hours": 3.3347, "text": "I’ve Finally Designed The Back of My Space Shuttle. I was able to add very crucial details like: Angle on the RS-25 engines (Space Shuttle Engines) Added much more detail and realism to the OMS Engines (Smaller Steering Engines) Fixed the overall shape of the backside of the shuttle Added an RCS thruster port My Next Goal is to Finish off the Left Solid Rocket Booster, and Then I’m Going to add More Detail to the External Fuel Tank. If you have any suggestions on how to make the rocket better, feel free to send suggestions in the comments!"}, {"post_id": 7832, "ts": "2026-06-13T02:15:24Z", "hours": 1.7161, "text": "I Completed The First Side of The Rocket For My Shuttle I still need to do the other side so I will work on that next and then I will almost be completed this project!"}, {"post_id": 7789, "ts": "2026-06-13T00:24:54Z", "hours": 14.3428, "text": "I’m Designing A Space Shuttle Completely From Scratch This involved many steps Finding a picture that I could base the rocket off of Making countless sketches (28 right now to be exact) Extruding these sketches (this was one of the hardest parts since I needed everything perfect and it took 73 extrudes) Using multiple tools to smooth it out and add realistic dimensions (I used 18 fillets, 33 splits, 14 drafts, 1 chamfer and finally 1 shell) I’m Now Working On Adding More Details To The Fuel Tanks and Other Large Components"}]...
|
Title: Space Shuttle by @CoolHotDog64 | Stardance
Title: Space Shuttle by @CoolHotDog64 | Stardance
Devlogs:
I’m Designing A Space Shuttle Completely From Scratch This involved many steps Finding a picture that I could base the rocket off of Making countless sketches (28 right now to be exact) Extruding these sketches (this was one of the hardest parts since I needed everything perfect and it took 73 extrudes) Using multiple tools to smooth it out and add realistic dimensions (I used 18 fillets, 33 splits, 14 drafts, 1 chamfer and finally 1 shell) I’m Now Working On Adding More Details To The Fuel Tanks and Other Large Components
I Completed The First Side of The Rocket For My Shuttle I still need to do the other side so I will work on that next and then I will almost be completed this project!
I’ve Finally Designed The Back of My Space Shuttle. I was able to add very crucial details like: Angle on the RS-25 engines (Space Shuttle Engines) Added much more detail and realism to the OMS Engines (Smaller Steering Engines) Fixed the overall shape of the backside of the shuttle Added an RCS thruster port My Next Goal is to Finish off the Left Solid Rocket Booster, and Then I’m Going to add More Detail to the External Fuel Tank. If you have any suggestions on how to make the rocket better, feel free to send suggestions in the comments!
My Space Shuttle is Almost Done! My Estimate is That it Will be Done Tomorrow The main goals I have worked on since my last devlog are: Added the same realism on the left rocket as the right rocket. This included adding multiple realistic rings and other complex shapes. Added much more detail on the solid rocket boosters, like accurate connection points to the external tank. This was necessary so that the tank would actually connect to the rocket boosters when printing the rocket, and this also made the rocket look much more realistic. Smoothed out the bottom of the external tank to increase realism since before it was just a block. Moved up both solid rocket boosters since they were very low. I had to move them up since they were very wonky and moving them up made the overall image of the rocket much better and more accurate (You can see what it looked like before with the messed-up tank on the other devlogs). Added a black stripe to the wings of the rocket (Wasn’t too noticeable but after completing this edit the wings looked much cleaner). Hollowed out the bottom of both rocket boosters, since before it was just a block before. I also added subsections on the rocket boosters. This created subtle realism, and it made the boosters look less empty. What I still need to work on: I still need to add realism to the external tank since it currently looks empty. This whole build took way too long since i made many mistakes and errors during this whole process but I learned a lot and I’m very happy with the result! If you see my shipped project, feel free to check it out!
Editing My Space Shuttle I mostly worked on adding the smaller details on the external tank. I was able to smooth out some areas to add more realism and this made the rocket more clean. I also realized that the front of my rocket isn’t very realistic, and I’m going to try and fix it. I’m also planning on adding other details. Sadly, it seems like my project will take much longer than expected, but I’m willing to pour in more time to make this ship accurate. I’ll try to add much more detail over these past few days. I might also design a stand so you can display this rocket (You should be able to print it once I ship the project, and it should also support multicolor printing) Let me know if you want me to make a stand in the comments!
Still Working on My Space Shuttle. I was able to add much more detail to the external tank like realistic panels, vents, and intertank ribs (The stripe pattern on the external tank). I also moved up the external tank and rocket since they were very low. I’m also planning on designing a better nose for the shuttle. After I do that, I’m am going to be very close to being done but the nose will take a while.
I’m still working on my space shuttle! So Far, My Main Goal has been Editing The Front of My Shuttle Since it Was Lacking in Realism. This Includes: Smoothing down ruff corners Adding high detail to the front of the rocket (Haven’t done this yet, but I have enough experience from the previous design to edit this) Enlarging the base of the rocket to add more crucial detail Making the front shape of the rocket realistic (This is by far the hardest and most time-consuming part) Adding detail to the tip of the rocket and the window in the front of the rocket (I haven’t really started on this because it needs a lot of work) Adding realistic connections to the external tank (Right now it’s just sitting on top) Once I complete these main goals, I will likely be done! (The rest of the rocket in this image is hidden) Feel Free To Share Suggestions About The Rocket In The Comments!
Almost done the front of my rocket! After 3 Hours, I Was Able To Troubleshoot Many Errors and Finally I Was Able to Make The Front Of My Rocket Much More Realistic. I was finally able to add: A realistic, smooth shape of the rocket that resulted in boosted realism A more round shape to the body of the rocket- Realistic features of the rocket’s nose I also removed the sharp edges on the front of the rocket that ruined the rocket’s overall image. My next goals: Working on the bottom of the rocket to add realistic color for AMS printing Smoothing out the transition between the body and the engines (Right now they are really messed up and look terrible) Adding realistic connections where the rocket attaches to the external tank (The tank is hidden in this image) I was able to make the rocket look so much more realistic (Look at my other devlogs to see the before and after) and I’m so happy about how it turned out so far! So far, I have made amazing progress on this ambitious project and I can’t wait to finish this off.
I’m Done The Front Of My Space Shuttle! This Has Taken A Lot Of Hours But I Am Happy With This Iteration I was able to add: Much More Realism To The Front Of The Rocket Like Realistic Colors Added Some More Small Components Onto The Front Of The Rocket Added The Flight Deck Window To The Rocket Added More Material To The Middle Of The Rocket To Make The Base More Curved And Realistic (This Took The Longest Since I needed To Smooth It Out Realistically And It Took Forever To Find The Solution To Round It Perfectly) What I Still Need To Work On: I Still Need To Add Realistic Angle To The OMS Pods I also Need To Attach The OMS Pods To The Rocket, Which Includes Reshaping Them To The Right Dimensions I Need To Move The Body Of The Rocket Further Down Into The Rocket Boosters Since Right Now There Is A Gap I Have To Smooth Out The Enclosure Surrounding The Main Engines I Will Try And Fix The Connection Point On The Rocket To The Main Tanks (They Are Hidden In This Image) ______________________________________ I’m Estimating This Will Take 9 Hours To Complete. If You Have Any Suggestions To Improve This Model, Feel Free To Share Them In The Comments!
Almost Done The Back Of My Rocket! I Can’t Believe How Close I Really Am From Completing This Project. This Is All I Need To Do Before I Am Done: A quick fix to the wings of the space shuttle (this will probably take 10 minutes and then I will be done with the back of my rocket! Connect the fuel tanks to the rest of the build (They are hidden in this picture) Possibly fix one area on the front of my rocket (This Is Optional But Would Make The Rocket Look Much Better) What I Did Since Last Devlog: I completely remade the vertical stabilizer (also called the tail fin) of the space shuttle Remade and angled the oms pods since they were completely wrong before Moved up the oms engine nozzles (The bell looking component on the rocket) Redesigned the RCS thruster ports (They are beside the OMS engine nozzles) If you have any improvements that i could make to the space shuttle, please mention them in the comments!
I Finished The Rocket Component Of My Space Shuttle This Was A Long And Hard Process But I was Finally Able To Complete The Rocket Component Of My Shuttle! This Is What I Have Done In The Past 6 Hours I fixed an error in the front of my rocket that made the front look less realistic (This took so long since I needed to fix an area with a curved shape. which is difficult to do) I remade the elevons of my rocket since they were unrealistic before I renamed my project from CAD to Space Shuttle for more clarity in what my project is What I Still Need To Do I still need to connect the rocket to the external tanks (They are hidden in this image) This Project Is So Close To Being Done! If You Have Any Suggestions To Make This Rocket Better, Please State Them In The Comments!
I Finished My Space Shuttle! This has taken me so many hours and I’m very happy with the result What I did in the past 4 hours: I started and completed the large support that connects the body of the shuttle to the external tanks. I had to cut into the external tank and I used multiple tools to add realism like the extrude tool. After that, I created cylinder supports that i then connected using the transform and extrude tools. I started and completed the small support that connected the nose of the shuttle to the external tanks. I had to use many transform tools to make the correct shape but eventually I shaped it correctly. I added a liquid oxygen fuel line to the large external tank and connected it to the system tunnel with many supports. I mostly used the extrude tool for this step. This took the most time to complete in the 4 hours since my last devlog. ____________________________________________________________________________ What My Space Shuttle Includes Realistic external tanks Realistic rings surrounding the solid rocket boosters Realistic rocket booster shape Small realistic features like an access door and forward booster separation modules Realistic supports that carry the rocket Realistic external tank Realistic LO2 feedline and LO2 feedline fairing Realistic stringers Realistic ring frames A realistic rocket Realistic wings Realistic nose with small features like the cockpit window and star tracker doors Realistic vertical stabilizer Realistic body shape Realistic Aft fuselage, which includes the space shuttle’s main engines and also includes the orbital maneuvering system and the RCS thrusters Thanks for the support on this project! I will likely do a space station for my next project. I will probably ship this project tomorrow, and then it should be available for printing! I tried to design the shuttle for multicolor printing so you should be able to choose multiple colors. There should be a total of 3 different colors since I wanted to limit the amount of filament colors for printing. If you still have any suggestions, please leave them in the comments!
Ships:
Space Shuttle I Created a Space Shuttle Using CAD (Computer Aided Design) How to use my project: You can visit the model of my space shuttle at https://cad.onshape.com/documents/0cc091979462d1f40116053c/w/ab82948fa33e8f748e0fcb44/e/4129cc439ac4ca6aab65041f?renderMode=0&uiState=6a565da1ab0f5b3c13bc4737 If this link says 403 Forbidden, you should select the address bar at the top of the screen and then press enter to refresh the page, which should fix the issue Step-by-step explanation: Select the address bar at the top of the screen Press enter/search Another way to fix this is copying the url and pasting it into another tab Step-by-step explanation: Select the address bar at the top of the screen Copy the address bar that you selected Paste the link in a different address bar (a new tab) How to download my project: First go through the link to visit my project Then select the download button After selecting the download, button a menu should appear where you can then select many options before you export the file Does this project support AMS (Multi-Color Printing)? Yes, this project should support AMS since it’s broken down into separate pieces instead of just coloring the visible faces on the rocket Why did I choose a space shuttle? This project was very hard to make and not many space shuttles are available, and they are usually not realistic. I wanted to make a space shuttle since it was the theme of the event, and I was interested in testing my CAD skills. I am so happy with the result and realism of my rocket. If you look at other designs online, a lot of them will be way less realistic than mine. For example, here is a link to a space shuttle on maker world. Comparing it to my rocket, you can see the difference in realism. https://makerworld.com/en/models/956260-space-shuttle#profileId-925247 What was the most difficult part of this project? One of the most difficult parts of this project was the back of my rocket. There were so many complex, intricate parts that I had to redo so many times that it took me countless hours just to get it right. What I learned from this project: I learned how to use multiple new tools that I’ve never used before, like the transform tool I learned how to copy off images and try to make the dimensions correct I learned how to use many tools better, like fillet tools I learned how to make complex sketches Thank you for viewing my ship! I had so much fun creating this project and I can’t wait to start my next project (which will probably be a space station!) My readme is easier to follow since it has multiple images so check that out if you are confused for the viewing and downloading process Check my readme out here: https://github.com/JaydenSeelo/CAD/blob/main/README.md...
|
1793087750.0521188
|
1793174150.0521188
|
|
25499
|
Dynamic Notch for Windows by @polo | Stardance
|
polo
|
1
|
52.0
|
809
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T21:17:43Z", "hours": 52.0, "multiplier": 19.82, "payout": 809, "blessing": "neutral", "text": "I am proud to announce Dynamic Notch for Windows Release 1 is out! Dynamic Notch is an Apple-inspired concept. Think of it as a Dynamic Island in a notch form for Windows computers. What does it do? Well, a LOT.You can: View the time and battery indicator Search directly on it Control music Play YouTube videos in the notch while you do something else Get messages from your phone onto the notch Get calls and answer them Use voice search See widgets Weather AND Stoinks! more coming soon Display timers See voice recording indicators And the best part? I am constantly adding more stuff to it, making it better, and fixing bugs.", "repo": "https://github.com/Aaravdalal/DynamicNotch", "demo": "https://github.com/Aaravdalal/DynamicNotch/releases/tag/v1.0.3"}]...
|
[{"post_id": 45424, "ts": "202 [{"post_id": 45424, "ts": "2026-08-11T21:13:00Z", "hours": 21.5547, "text": "Basically I worked on it (over 21 more hours) in macondo but I decided to switch to Stardance so basically to update ya’ll the project is done! I fine-tuned it and it looks really nice so down below let me put everyone up to date! I also am thankful for getting a superstar and the 22 people that are following me! Thanks for that. I added so much. Here is all my new journals to get everyone up to speed. Here is all my Added new Stocks Widget! Revamped brightness and volume notch and camera. I added a brand new stocks widget which shows either markets of the world (Down Jones etc.) or your watchlist of stocks like example Google, Nvidia etc. I also added quick camera so you can see how you look like quickly. I also revamped UI of Quick start and calendar so it is SO much better. I also updated brightness and volume notches to look better.CAMERA IS BLURRED IN IMAGE FOR PRIVACY.Next time I will focus on seamlessness and usability glitch fixes. Most importantly I actually got the logic for message sending to work. Essentially the core logic is I have a “ghost window” open that intercepts and redirects messages you get with your paired phone to the notch displaying them. The only problem was I couldn’t find a way to reply to messages I could see them but not reply, but I figured it out by whatever I type in the box and send the ghost process types that same message in messages and sends it (google messages doesn’t even need to be open!). So I was super happy to have figured that out and added it! I redesigned the weather widget to be cleaner and more apple like using a public weather API called Mateo. I also made search optimization better because I realized that when I voice search or google search on the notch the problem was it was slow. When I did some digging I found out that it resorted to the chrome browser only so I made it resort to whatever your default search engine is for windows and it is so fast now. SORRY FOR THE BLURRY SCREENSHOTS IDK WHY THEY BLURRY MY COMPUTER IS ACTING UP"}, {"post_id": 29311, "ts": "2026-07-16T05:05:16Z", "hours": 4.0881, "text": "Devlog 7: I fixed a lot of bugs and fixed the hello animation by making it fade instead of play backwards. I also made hovering in and out work properly and fixed an error where the qr code wasn’t appearing properly. Now I am working on adding phone detection as I got past the hurdle of messaging I thought I can do phone calls to."}, {"post_id": 24930, "ts": "2026-07-08T20:07:45Z", "hours": 2.2639, "text": "Devlog #7: Today I worked on a startup animation because jumping straight into the program isn’t as fun. So I added a welcome screen on the notch and after that I added the classic apple Hello animation that plays on apple devices when you first get the device.The hello is not a png it is an animation. I also added a startup sound to be specific the same sound that plays on mac computers when you start them for the first time.As always if you have any suggestions drop them below and thanks for reading and following my journey!"}, {"post_id": 23212, "ts": "2026-07-06T01:03:55Z", "hours": 5.8206, "text": "Devlog 6: Ok after trying and trying and trying to implement messaging features non-stop for 5 hours I finally did it. The problem was google is super strict on third party’s reading messages but I found a way to make it work. Essentially you have to pair your phone messages with a qr code that appears (not third party qr code all Google implemented so its official and safe) and any message someone sends you you have the ability to see it appear in mini view and then if you hover over it say if its a long message you can see the full message and reply to it with even sending attachments. The persons name and profile picture also appears. Also I would just like to state Gemini helped me find what logic path I take as there were multiple and this was the most effective and easy to implement. And the pairing is ONE TIME so once paired messages with the computer you never have to pair it again. Phew that took a long time. Please note the UI I am still trying to fix, the logic was what I was really trying to make work. And yes I am fixing the weird height issue to make it dynamic (for the messages expanded view). I am right now working on fixing the UI for this as well as say if someone sends you an attachment or a video you can be able to view it in the notch! Anyways come back for Devlog 7 later and of course if you have any suggestions and advice of course say it. Take a look below at how it is."}, {"post_id": 21061, "ts": "2026-07-02T20:49:03Z", "hours": 1.8047, "text": "Devlog #5: I added new features into the notch. Shoutout to @firancly for these ideas. I added a dynamic recorder notch that indicates recording with accurate microphone/audio visualization. I also added a timer notch that stays on your screen taking up little space but very useful. I also added a volume notch. Up next I will add a download notch and also perhaps the ability to respond to messages and view notifications through the notch if allowed. Thanks for reading and as always feel free to drop suggestions or advice on what you want to see next!"}, {"post_id": 20555, "ts": "2026-07-02T05:13:53Z", "hours": 2.9275, "text": "Rehauled youtube/video controls. Added picture in picture so you can watch youtube videos on the notch while you complete some of your other tasks that u want. Work while watching. Stay tuned for today’s devlog. Tomorrow I will patch up a bunch of bugs to maybe do a beta ship. As always if you have any suggestions or advice on what to do next please state them in the comments. Thanks!"}, {"post_id": 18733, "ts": "2026-06-29T22:22:07Z", "hours": 6.2067, "text": "I accidentally did a hard git reset to old code so I had to recode a lot of stuff. But anyways here’s the updates I did including one major one: I added the ability to quickshare files and images from the notch. It basically is like this, you download a file say from google then you drag it into the notch into the tray. A tray that holds files and screenshots etc. then when you want to say use the file you can drag it out the tray into the place you want it or you can quickshare those images and files. Quickshare is built into every windows system and integrated into the notch so there is no downloading hassle. Also if you dont want a file in the tray just hover over the file and click the X. I also did a lot of bug fixes including one fixing a glitchy startup animation. Thanks for everyone’s interest and as always be sure to give feedback and suggestions on what to add next."}, {"post_id": 17155, "ts": "2026-06-27T20:55:07Z", "hours": 5.0208, "text": "Added widgets like weather widgets, stocks and sports. I also added the ability to use search google through the notch as well as voice search to use your voice to search. Holy the voice search took me forever to figure out. I also rehauled music player controls and look to be more “apple-like” and actually function properly. I also added ability to do “quick-swipe” where you take two fingers and swipe either way to play the next song or the previous song also took forever to implement that. For those that are new this is essentially a dynamic island but in a notch form for computers."}, {"post_id": 15982, "ts": "2026-06-25T23:10:59Z", "hours": 2.6603, "text": "I am working on an Dynamic Island for computers but in a notch style. I was inspired by the dynamic island on iphones. Features as of right now include music controlling volume and brightness controlling as well as calendar with reminder and the time date and battery. And of course please be sure to drop any advice or additions."}]...
|
Title: Dynamic Notch for Windows by @polo | Starda Title: Dynamic Notch for Windows by @polo | Stardance
Devlogs:
I am working on an Dynamic Island for computers but in a notch style. I was inspired by the dynamic island on iphones. Features as of right now include music controlling volume and brightness controlling as well as calendar with reminder and the time date and battery. And of course please be sure to drop any advice or additions.
Added widgets like weather widgets, stocks and sports. I also added the ability to use search google through the notch as well as voice search to use your voice to search. Holy the voice search took me forever to figure out. I also rehauled music player controls and look to be more “apple-like” and actually function properly. I also added ability to do “quick-swipe” where you take two fingers and swipe either way to play the next song or the previous song also took forever to implement that. For those that are new this is essentially a dynamic island but in a notch form for computers.
I accidentally did a hard git reset to old code so I had to recode a lot of stuff. But anyways here’s the updates I did including one major one: I added the ability to quickshare files and images from the notch. It basically is like this, you download a file say from google then you drag it into the notch into the tray. A tray that holds files and screenshots etc. then when you want to say use the file you can drag it out the tray into the place you want it or you can quickshare those images and files. Quickshare is built into every windows system and integrated into the notch so there is no downloading hassle. Also if you dont want a file in the tray just hover over the file and click the X. I also did a lot of bug fixes including one fixing a glitchy startup animation. Thanks for everyone’s interest and as always be sure to give feedback and suggestions on what to add next.
Rehauled youtube/video controls. Added picture in picture so you can watch youtube videos on the notch while you complete some of your other tasks that u want. Work while watching. Stay tuned for today’s devlog. Tomorrow I will patch up a bunch of bugs to maybe do a beta ship. As always if you have any suggestions or advice on what to do next please state them in the comments. Thanks!
Devlog #5: I added new features into the notch. Shoutout to @firancly for these ideas. I added a dynamic recorder notch that indicates recording with accurate microphone/audio visualization. I also added a timer notch that stays on your screen taking up little space but very useful. I also added a volume notch. Up next I will add a download notch and also perhaps the ability to respond to messages and view notifications through the notch if allowed. Thanks for reading and as always feel free to drop suggestions or advice on what you want to see next!
Devlog 6: Ok after trying and trying and trying to implement messaging features non-stop for 5 hours I finally did it. The problem was google is super strict on third party’s reading messages but I found a way to make it work. Essentially you have to pair your phone messages with a qr code that appears (not third party qr code all Google implemented so its official and safe) and any message someone sends you you have the ability to see it appear in mini view and then if you hover over it say if its a long message you can see the full message and reply to it with even sending attachments. The persons name and profile picture also appears. Also I would just like to state Gemini helped me find what logic path I take as there were multiple and this was the most effective and easy to implement. And the pairing is ONE TIME so once paired messages with the computer you never have to pair it again. Phew that took a long time. Please note the UI I am still trying to fix, the logic was what I was really trying to make work. And yes I am fixing the weird height issue to make it dynamic (for the messages expanded view). I am right now working on fixing the UI for this as well as say if someone sends you an attachment or a video you can be able to view it in the notch! Anyways come back for Devlog 7 later and of course if you have any suggestions and advice of course say it. Take a look below at how it is.
Devlog #7: Today I worked on a startup animation because jumping straight into the program isn’t as fun. So I added a welcome screen on the notch and after that I added the classic apple Hello animation that plays on apple devices when you first get the device.The hello is not a png it is an animation. I also added a startup sound to be specific the same sound that plays on mac computers when you start them for the first time.As always if you have any suggestions drop them below and thanks for reading and following my journey!
Devlog 7: I fixed a lot of bugs and fixed the hello animation by making it fade instead of play backwards. I also made hovering in and out work properly and fixed an error where the qr code wasn’t appearing properly. Now I am working on adding phone detection as I got past the hurdle of messaging I thought I can do phone calls to.
Basically I worked on it (over 21 more hours) in macondo but I decided to switch to Stardance so basically to update ya’ll the project is done! I fine-tuned it and it looks really nice so down below let me put everyone up to date! I also am thankful for getting a superstar and the 22 people that are following me! Thanks for that. I added so much. Here is all my new journals to get everyone up to speed. Here is all my Added new Stocks Widget! Revamped brightness and volume notch and camera. I added a brand new stocks widget which shows either markets of the world (Down Jones etc.) or your watchlist of stocks like example Google, Nvidia etc. I also added quick camera so you can see how you look like quickly. I also revamped UI of Quick start and calendar so it is SO much better. I also updated brightness and volume notches to look better.CAMERA IS BLURRED IN IMAGE FOR PRIVACY.Next time I will focus on seamlessness and usability glitch fixes. Most importantly I actually got the logic for message sending to work. Essentially the core logic is I have a “ghost window” open that intercepts and redirects messages you get with your paired phone to the notch displaying them. The only problem was I couldn’t find a way to reply to messages I could see them but not reply, but I figured it out by whatever I type in the box and send the ghost process types that same message in messages and sends it (google messages doesn’t even need to be open!). So I was super happy to have figured that out and added it! I redesigned the weather widget to be cleaner and more apple like using a public weather API called Mateo. I also made search optimization better because I realized that when I voice search or google search on the notch the problem was it was slow. When I did some digging I found out that it resorted to the chrome browser only so I made it resort to whatever your default search engine is for windows and it is so fast now. SORRY FOR THE BLURRY SCREENSHOTS IDK WHY THEY BLURRY MY COMPUTER IS ACTING UP
Ships:
I am proud to announce Dynamic Notch for Windows Release 1 is out! Dynamic Notch is an Apple-inspired concept. Think of it as a Dynamic Island in a notch form for Windows computers. What does it do? Well, a LOT.You can: View the time and battery indicator Search directly on it Control music Play YouTube videos in the notch while you do something else Get messages from your phone onto the notch Get calls and answer them Use voice search See widgets Weather AND Stoinks! more coming soon Display timers See voice recording indicators And the best part? I am constantly adding more stuff to it, making it better, and fixing bugs....
|
1792990064.0420408
|
1793076464.0420408
|
|
26918
|
Fossim by @nekename | Stardance
|
nekename
|
1
|
52.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T18:13:47Z", "hours": 52.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello! Fossim and Stardance were really fun for me as I finally got around to building something new, instead of spending a lot of time maintaining old projects for their users. If you read through the devlogs or code, you’ll see that building a whole new interface on GitHub’s APIs isn’t easy, because they don’t expose a fraction of the features they use on their own site. For example, instead of being able to receive events (e.g. someone else sent a message) in the client directly, I had to architect an entire multiplexed event forwarding/broadcast mechanism in a backend server. Or, since there’s no way to check how many messages the user hasn’t read when the app starts, I had to implement a database in the backend with counters that increment on new messages so that clients can compare their local values when they start. So, to answer ‘what I’m proud of’, it’s going to be working around the architectural API challenges rather than building a desktop app with a sweet UI, since I already knew I could do the latter. Fossim is a collaboration platform for open-source projects, but what makes it different from a platform like Discord, Matrix, Slack or Zulip is that it’s built on the software forge that projects are already using for source control. By using GitHub Discussions as the content index for your project’s community (note: Fossim is designed with support for different forges in mind, and the project would be very happy to accept contributions to add support for other platforms) with the Fossim application as an interface familiar to users of the platforms listed above, the discussions taking place in your community become indexable by search engines, you avoid splitting your community across multiple platforms and avoid requiring users to create new accounts, content like issues and pull requests can be referenced using convenient shorthand syntax, and you use a platform designed for the needs of open source, for example automatically displaying a project’s funding links on its Fossim community overview. Additionally, you avoid the common hassle of migrating users to a new platform, since Fossim is built fully on top of GitHub Discussions, which can be accessed directly from GitHub’s interface. Using Fossim, however, grants you access to all the communities you’re a member of in one place, easy to navigate between with a unified interface, system-level notifications for new messages including granular, per-community controls, and an interface more tailored to a chat platform than a curated discussion forum. Want to set up a Fossim community? Head over to the backend documentation at https://github.com/nekename/fossim-backend to learn how to set up an event source for your community.", "repo": "https://github.com/nekename/fossim-application", "demo": "https://github.com/nekename/fossim-application#installation"}]...
|
[{"post_id": 33621, "ts": "202 [{"post_id": 33621, "ts": "2026-07-23T18:02:50Z", "hours": 1.4597, "text": "got back home, wrote a README with overview, installation, support and contributing info, created a metainfo file in case I ever bother to publish this to Flathub and so it looks nice in Linux software stores, fixed a bug with missed event deliveries when reconnecting to the backend, wrote a github actions workflow for publishing on release and added a banner sending you to the FAQ after onboarding"}, {"post_id": 28783, "ts": "2026-07-15T08:56:42Z", "hours": 1.7419, "text": "I’m away right now so not making lightning speed progress like before, but I made the application integrate much better when installed, such as enforcing a maximum of one running instance, fixing the app’s display name, and improving the icon shown on macOS. then, I wrote an FAQ ( https://github.com/nekename/fossim-application/wiki/FAQ ) for the application to clarify missing features, answer hosting questions and address privacy concerns"}, {"post_id": 24970, "ts": "2026-07-08T21:14:24Z", "hours": 1.7503, "text": "Dockerfile written, github publish action written, backend container published 🎉 https://github.com/nekename/fossim-backend/pkgs/container/fossim-backend edit: oh yeah also update checker in the app and anonymous statistics collection"}, {"post_id": 24684, "ts": "2026-07-08T13:09:14Z", "hours": 1.1011, "text": "it’s all finishing touches in the client now! added support for minimising the app to the system tray when closed as well as a settings menu to control the behaviour pretty much just need to add some networked services like an update checker and statistics collection, write a readme and faq, and add a docker build for the backend"}, {"post_id": 24639, "ts": "2026-07-08T11:17:55Z", "hours": 0.6622, "text": "alright, as hinted before, Fossim now sends system notifications! (and of course i made sure it doesn’t send notifs when the channel is focussed and you’re actively chatting) (weird icon and name will be fixed when the app is properly installed (i hope))"}, {"post_id": 24612, "ts": "2026-07-08T10:13:47Z", "hours": 1.8769, "text": "comments referencing github items are now real links to make coordinating PRs and issues way easier (as well as linking to other discussions, although they don’t open in fossim) I also added a notif level setting which will be useful now as I’m about to implement system notifications, and you might not want a system notification for every thread in every community this is amidst some other UI/UX improvements like better error messages, automatic reconnection etc"}, {"post_id": 24215, "ts": "2026-07-07T17:06:33Z", "hours": 2.4011, "text": "with all the architectural stuff done, I’m working on all the cosmetic finishing touches community list now also shows the total unread notifs of all the community’s channels community config allows specifying name, icon and banner so that you can customise your community I even added a button to sponsor the community’s owner if the repository has funding links attached!"}, {"post_id": 23693, "ts": "2026-07-06T20:03:37Z", "hours": 3.2303, "text": "so, I’m back a little while later, and the app now shows unread message counters, not only incrementing while the app is open but also synchronising with the backend so that you can see how many messages have come in even when the app was closed. this required me to set up a database in the backend for tracking sequential message counters for each channel that the client can then subtract from its own records, I learnt some database stuff and also some stuff about making bulk HTTP requests, since I didn’t want to make a request per channel"}, {"post_id": 23405, "ts": "2026-07-06T10:46:48Z", "hours": 3.7539, "text": "alright, here we go! it was a lot of work (nearly 4h as you can see), but the Fossim client can now receive and handle every type of live update that the backend can receive from the GitHub webhook. this means that when others send, edit or delete messages, or a new channel or thread is created or an existing one edited, deleted, locked or unlocked, the client receives the update in real time. now it feels more like an instant messenger :) what’s left: showing notifications for unread messages, including finding some way to remember last read message and fetch how many new messages once the client restarts"}, {"post_id": 22945, "ts": "2026-07-05T16:34:22Z", "hours": 1.9489, "text": "worked my way through GitHub docs and figured out how to implement a webhook delivery handler, including verifying the secret, then implemented connecting to websocket channels for each community which get forwarded all the relevant webhook messages all that’ll be left now is to incorporate these updates into the frontend which shouldn’t be too hard"}, {"post_id": 22738, "ts": "2026-07-05T10:00:44Z", "hours": 0.7953, "text": "I added replying to messages that don’t already have a reply thread last night and I’ve just added reacting and unreacting, which completes all the basic message functions 🎉"}, {"post_id": 22459, "ts": "2026-07-04T22:36:37Z", "hours": 0.5753, "text": "you can now edit messages basically i’m speedrunning all the basic actions so that i can work on notifications which will be a huge task"}, {"post_id": 22397, "ts": "2026-07-04T21:14:37Z", "hours": 1.4183, "text": "you can now delete comments and replies, including proper handling of GitHub’s very weird logic flow for deleting comments that have replies - they get replaced with ghost comments until all of their replies are deleted - just an empty body without so much as an explanation (two windows here to demonstrate the modal and also the fact that the button appears on comment hover)"}, {"post_id": 22182, "ts": "2026-07-04T14:45:20Z", "hours": 1.4878, "text": "wow! you can now send messages from a delightfully previewable text box in other news, I improved the experience switching between communities, added highlighting for the active channel, fixed a performance problem and fixed a hang when loading an empty channel"}, {"post_id": 22091, "ts": "2026-07-04T10:54:50Z", "hours": 1.3803, "text": "you can now view full reply threads to every top-level message, including pagination (it loads 100 messages at a time)"}, {"post_id": 21773, "ts": "2026-07-03T21:32:40Z", "hours": 0.3969, "text": "code block highlighting, bug fix"}, {"post_id": 21708, "ts": "2026-07-03T20:04:27Z", "hours": 5.2114, "text": "5 hours later, and basically all of the requirements of the main-continuity message view have been implemented, including images, lists, links, alerts, reactions and placeholder buttons for opening reply threads! it even automatically loads more messages as you scroll upwards, but i dont have any long enough channels to demonstrate that (loads 100 messages at a time since that costs the minimum per request in terms of github rate limits) all that’s left now is taking actions (sending messages, reacting etc), and then getting realtime notifications from the backend"}, {"post_id": 21145, "ts": "2026-07-02T23:02:54Z", "hours": 3.2053, "text": "I’m having so much fun :) I’ve implemented the entire channel and thread list complete with thread pagination, dynamic icons based on locked/answered/answerable status, and a button to leave the community I also implemented a really satisfying shift, blur and shadow effect when switching between communities (edit: the issue in the video where the ‘select a community to start collaborating’ message wasn’t shown after leaving the community got fixed immediately after recording)"}, {"post_id": 20904, "ts": "2026-07-02T17:03:15Z", "hours": 1.7164, "text": "I learnt GraphQL and made my peace with it, then implemented listing channels and threads!"}, {"post_id": 19521, "ts": "2026-06-30T20:57:39Z", "hours": 0.5183, "text": "why is there no REST API for Discussions 😭 I’m going to have to learn GraphQL"}, {"post_id": 19465, "ts": "2026-06-30T19:56:15Z", "hours": 2.3078, "text": "auto-expanding sidebar drawer for communities you’re in, including a button and popup flow for joining new communities :) caching from previous step was useful here next step is listing channels and threads"}, {"post_id": 19100, "ts": "2026-06-30T10:13:40Z", "hours": 1.9489, "text": "added double-click to copy and added a loading ring animation to the device flow auth view added a note to the host confirmation view saying that the app only has limited access to act on your behalf and that in the local app, the access token never needs to be sent to the server cleaned up the database schema and implemented persisting added communities and obtained access tokens implemented caching host and client ID requests since those will be frequent in upcoming stuff"}, {"post_id": 18705, "ts": "2026-06-29T21:50:53Z", "hours": 1.4975, "text": "github device flow auth 👀 why oh why does device flow auth not work in browsers? I had to do either figure out how to make octokit.js use tauri-plugin-http, do the entire processs from the Rust side, or use the normal oauth web flow went with do it all from Rust because option 1 and 3 needed rust deps anyway (http plugin for 1, deep link/web server for 3), and option 1 needed figuring out and option 3 leaks the access token to the server unnecessarily"}, {"post_id": 18376, "ts": "2026-06-29T14:41:30Z", "hours": 3.1828, "text": "I implemented the necessary utils for making requests to the backend, and used fetching the client ID to test that (screenshot). I backtracked on the implementation and removed tauri-plugin-http as well as removing tauri-plugin-svelte from earlier so that the frontend is entirely self-contained and can be ported to just be a website for those who want that. on the backend, removing tauri-plugin-http required me to mess around with CORS settings for a while until the browser accepted its responses"}, {"post_id": 17656, "ts": "2026-06-28T15:18:15Z", "hours": 1.2564, "text": "I implemented fetching a community’s configured backend host from its repository when you click ‘Join’, then I created a skeleton OAuth explanation and confirmation modal view!"}, {"post_id": 17605, "ts": "2026-06-28T14:00:21Z", "hours": 1.6003, "text": "I set up tauri-plugin-svelte for data persistence, then I repurposed the i18n.ts localisation code from one of my other projects so that Fossim has translation support from the very beginning lastly, I created a skeleton onboarding view where you can input the first community you want to join or join Fossim’s own community as an example"}, {"post_id": 17199, "ts": "2026-06-27T22:11:10Z", "hours": 1.2208, "text": "spent forever trying to debug prettier-plugin-tailwindcss which is not how i wanted to spend my evening turns out it was just a bug and not a misconfiguration ( https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/464 ) this started while i was getting the onboarding working in the application and noticed my classes weren’t being sorted edit: looks like i uncovered a bug in Deno as well!! installing the insiders channel of prettier-plugin-tailwindcss using Deno resulted in the latest commit being added to package.json but a commit from 2023 actually being installed. had to remove the ^ from the version specifier"}, {"post_id": 17112, "ts": "2026-06-27T19:43:42Z", "hours": 2.5369, "text": "architecture has been planned out backend and client projects have been fully scaffolded necessary setup steps and permissions for the GitHub App have been determined and documented relevant GitHub APIs and processes have been researched most of my time was spent planning and researching today, that’s why only 2.5 hours coding"}]...
|
Title: Fossim by @nekename | Stardance
Devlogs:
a Title: Fossim by @nekename | Stardance
Devlogs:
architecture has been planned out backend and client projects have been fully scaffolded necessary setup steps and permissions for the GitHub App have been determined and documented relevant GitHub APIs and processes have been researched most of my time was spent planning and researching today, that’s why only 2.5 hours coding
spent forever trying to debug prettier-plugin-tailwindcss which is not how i wanted to spend my evening turns out it was just a bug and not a misconfiguration ( https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/464 ) this started while i was getting the onboarding working in the application and noticed my classes weren’t being sorted edit: looks like i uncovered a bug in Deno as well!! installing the insiders channel of prettier-plugin-tailwindcss using Deno resulted in the latest commit being added to package.json but a commit from 2023 actually being installed. had to remove the ^ from the version specifier
I set up tauri-plugin-svelte for data persistence, then I repurposed the i18n.ts localisation code from one of my other projects so that Fossim has translation support from the very beginning lastly, I created a skeleton onboarding view where you can input the first community you want to join or join Fossim’s own community as an example
I implemented fetching a community’s configured backend host from its repository when you click ‘Join’, then I created a skeleton OAuth explanation and confirmation modal view!
I implemented the necessary utils for making requests to the backend, and used fetching the client ID to test that (screenshot). I backtracked on the implementation and removed tauri-plugin-http as well as removing tauri-plugin-svelte from earlier so that the frontend is entirely self-contained and can be ported to just be a website for those who want that. on the backend, removing tauri-plugin-http required me to mess around with CORS settings for a while until the browser accepted its responses
github device flow auth 👀 why oh why does device flow auth not work in browsers? I had to do either figure out how to make octokit.js use tauri-plugin-http, do the entire processs from the Rust side, or use the normal oauth web flow went with do it all from Rust because option 1 and 3 needed rust deps anyway (http plugin for 1, deep link/web server for 3), and option 1 needed figuring out and option 3 leaks the access token to the server unnecessarily
added double-click to copy and added a loading ring animation to the device flow auth view added a note to the host confirmation view saying that the app only has limited access to act on your behalf and that in the local app, the access token never needs to be sent to the server cleaned up the database schema and implemented persisting added communities and obtained access tokens implemented caching host and client ID requests since those will be frequent in upcoming stuff
auto-expanding sidebar drawer for communities you’re in, including a button and popup flow for joining new communities :) caching from previous step was useful here next step is listing channels and threads
why is there no REST API for Discussions 😭 I’m going to have to learn GraphQL
I learnt GraphQL and made my peace with it, then implemented listing channels and threads!
I’m having so much fun :) I’ve implemented the entire channel and thread list complete with thread pagination, dynamic icons based on locked/answered/answerable status, and a button to leave the community I also implemented a really satisfying shift, blur and shadow effect when switching between communities (edit: the issue in the video where the ‘select a community to start collaborating’ message wasn’t shown after leaving the community got fixed immediately after recording)
5 hours later, and basically all of the requirements of the main-continuity message view have been implemented, including images, lists, links, alerts, reactions and placeholder buttons for opening reply threads! it even automatically loads more messages as you scroll upwards, but i dont have any long enough channels to demonstrate that (loads 100 messages at a time since that costs the minimum per request in terms of github rate limits) all that’s left now is taking actions (sending messages, reacting etc), and then getting realtime notifications from the backend
code block highlighting, bug fix
you can now view full reply threads to every top-level message, including pagination (it loads 100 messages at a time)
wow! you can now send messages from a delightfully previewable text box in other news, I improved the experience switching between communities, added highlighting for the active channel, fixed a performance problem and fixed a hang when loading an empty channel
you can now delete comments and replies, including proper handling of GitHub’s very weird logic flow for deleting comments that have replies - they get replaced with ghost comments until all of their replies are deleted - just an empty body without so much as an explanation (two windows here to demonstrate the modal and also the fact that the button appears on comment hover)
you can now edit messages basically i’m speedrunning all the basic actions so that i can work on notifications which will be a huge task
I added replying to messages that don’t already have a reply thread last night and I’ve just added reacting and unreacting, which completes all the basic message functions 🎉
worked my way through GitHub docs and figured out how to implement a webhook delivery handler, including verifying the secret, then implemented connecting to websocket channels for each community which get forwarded all the relevant webhook messages all that’ll be left now is to incorporate these updates into the frontend which shouldn’t be too hard
alright, here we go! it was a lot of work (nearly 4h as you can see), but the Fossim client can now receive and handle every type of live update that the backend can receive from the GitHub webhook. this means that when others send, edit or delete messages, or a new channel or thread is created or an existing one edited, deleted, locked or unlocked, the client receives the update in real time. now it feels more like an instant messenger :) what’s left: showing notifications for unread messages, including finding some way to remember last read message and fetch how many new messages once the client restarts
so, I’m back a little while later, and the app now shows unread message counters, not only incrementing while the app is open but also synchronising with the backend so that you can see how many messages have come in even when the app was closed. this required me to set up a database in the backend for tracking sequential message counters for each channel that the client can then subtract from its own records, I learnt some database stuff and also some stuff about making bulk HTTP requests, since I didn’t want to make a request per channel
with all the architectural stuff done, I’m working on all the cosmetic finishing touches community list now also shows the total unread notifs of all the community’s channels community config allows specifying name, icon and banner so that you can customise your community I even added a button to sponsor the community’s owner if the repository has funding links attached!
comments referencing github items are now real links to make coordinating PRs and issues way easier (as well as linking to other discussions, although they don’t open in fossim) I also added a notif level setting which will be useful now as I’m about to implement system notifications, and you might not want a system notification for every thread in every community this is amidst some other UI/UX improvements like better error messages, automatic reconnection etc
alright, as hinted before, Fossim now sends system notifications! (and of course i made sure it doesn’t send notifs when the channel is focussed and you’re actively chatting) (weird icon and name will be fixed when the app is properly installed (i hope))
it’s all finishing touches in the client now! added support for minimising the app to the system tray when closed as well as a settings menu to control the behaviour pretty much just need to add some networked services like an update checker and statistics collection, write a readme and faq, and add a docker build for the backend
Dockerfile written, github publish action written, backend container published 🎉 https://github.com/nekename/fossim-backend/pkgs/container/fossim-backend edit: oh yeah also update checker in the app and anonymous statistics collection
I’m away right now so not making lightning speed progress like before, but I made the application integrate much better when installed, such as enforcing a maximum of one running instance, fixing the app’s display name, and improving the icon shown on macOS. then, I wrote an FAQ ( https://github.com/nekename/fossim-application/wiki/FAQ ) for the application to clarify missing features, answer hosting questions and address privacy concerns
got back home, wrote a README with overview, installation, support and contributing info, created a metainfo file in case I ever bother to publish this to Flathub and so it looks nice in Linux software stores, fixed a bug with missed event deliveries when reconnecting to the backend, wrote a github actions workflow for publishing on release and added a banner sending you to the FAQ after onboarding
Ships:
Hello! Fossim and Stardance were really fun for me as I finally got around to building something new, instead of spending a lot of time maintaining old projects for their users. If you read through the devlogs or code, you’ll see that building a whole new interface on GitHub’s APIs isn’t easy, because they don’t expose a fraction of the features they use on their own site. For example, instead of being able to receive events (e.g. someone else sent a message) in the client directly, I had to architect an entire multiplexed event forwarding/broadcast mechanism in a backend server. Or, since there’s no way to check how many messages the user hasn’t read when the app starts, I had to implement a database in the backend with counters that increment on new messages so that clients can compare their local values when they start. So, to answer ‘what I’m proud of’, it’s going to be working around the architectural API challenges rather than building a desktop app with a sweet UI, since I already knew I could do the latter. Fossim is a collaboration platform for open-source projects, but what makes it different from a platform like Discord, Matrix, Slack or Zulip is that it’s built on the software forge that projects are already using for source control. By using GitHub Discussions as the content index for your project’s community (note: Fossim is designed with support for different forges in mind, and the project would be very happy to accept contributions to add support for other platforms) with the Fossim application as an interface familiar to users of the platforms listed above, the discussions taking place in your community become indexable by search engines, you avoid splitting your community across multiple platforms and avoid requiring users to create new accounts, content like issues and pull requests can be referenced using convenient shorthand syntax, and you use a platform designed for the needs of open source, for example automatically displaying a project’s funding links on its Fossim community overview. Additionally, you avoid the common hassle of migrating users to a new platform, since Fossim is built fully on top of GitHub Discussions, which can be accessed directly from GitHub’s interface. Using Fossim, however, grants you access to all the communities you’re a member of in one place, easy to navigate between with a unified interface, system-level notifications for new messages including granular, per-community controls, and an interface more tailored to a chat platform than a curated discussion forum. Want to set up a Fossim community? Head over to the backend documentation at https://github.com/nekename/fossim-backend to learn how to set up an event source for your community....
|
1793087840.8960714
|
1793174240.8960714
|
|
35911
|
Board-Like by @KIR_KOS | Stardance
|
KIR_KOS
|
1
|
52.0
|
702
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T19:07:54Z", "hours": 52.0, "multiplier": 13.53, "payout": 702, "blessing": "neutral", "text": "Board-Like Board-Like is a 2-4 player roguelike videogame where you compete with your friends to get the biggest level in a set amount of rounds. Here’s a quick description of the game loop: -Players throw dice and step on tiles giving buffs/debuffs on quick 1-3 minute rounds. They can save, sacrifice, sell their levels in orded to sabotage other players or gain more levels in the long run thanks to active cards, tiles and passive power-ups gained by the winner of the last round. After a set amount of rounds(5-20), the winner is the player with the highest level. Board-like is fun because of how many combinations you can have with multiple cards, tiles, power-ups and round modifiers making every game you play unique and interesting! You can try it out here: https://kir-kos.itch.io/board-like", "repo": "https://github.com/kirillkosarev79/Board-Like", "demo": "https://kir-kos.itch.io/board-like"}]...
|
[{"post_id": 68225, "ts": "202 [{"post_id": 68225, "ts": "2026-09-14T18:44:28Z", "hours": 3.0883, "text": "Devlog #17 - Last before shipping Hey there! No updates for a while, i decided to fix last bugs and add a bit of QoL features brefore shipping. I have been doing this for almost 2 weeks so i don’t really remember everything i did, this devlog will probably not be full. Changelog Added: New tile: Inverted shop. You can sell your items for levels Players can now set their nicknames, icons and colors before starting the game An option to go back to main menu after finishing a game instead of being softlocked on the scoreboard scene More back buttons instead of ESCAPE to improve itch.io QoL Changed: Main menu background changed to an original one instead of the one i donwloaded from the internet Music now plays in all scenes"}, {"post_id": 60938, "ts": "2026-09-03T16:41:37Z", "hours": 2.2725, "text": "Devlog #16 Hi! I realized I unfortunetely don’t have enough time to complete my project with an online mode, so I’m gonna ship it with one-device mode only. I’ll do a couple of updates polishing the game and adding a bit of content. Fully finishing the game is gonna be done outside of Stardance later. Changelog Added: Players now can choose their nicknames and colors before the game starts New tile: Again. Anyone stepping on it throws the dice again A little crown now appears next to the winner’s nickname at the end of the game Changed: Players are now sorted by level at the scoreboard Various bug fixes"}, {"post_id": 55451, "ts": "2026-08-27T09:29:06Z", "hours": 2.4692, "text": "Devlog #15 Hii! Added a pause menu and settings(you can only change the volume and toggle the console on/off for now). Also there are little cogs in the background of settings instead of dice! I plan to keep expanding already existing content for a bit and then get to making online mode work"}, {"post_id": 52575, "ts": "2026-08-22T19:13:47Z", "hours": 2.0097, "text": "Devlog #14 - ROUND MODIFICATORS An exciting update today! Round modificators! Now every round except the first one will have a randomely chosen round modificator which can affect your strategy while playing. Changelog : Added: Round modificator mechanic New round modificator: Action Time. No Next and Back tiles appear on the board New round modificator: Half dice. All dice rolls are divided by 2(rounded to the lower number) New round modificator: Double XP. All players gain double levels from all sources. New round modificator: No conditions. All tiles have no conditions, meaning their effects wiil be active no matter the player’s level. New debug console command: mod. It changes curent round’s modificator Changed: The tooltip will now change position when out of screen so it’s visible Fixed a bug that caused tooltip to not show up sometimes on the stat-bars for power-ups and cards. Slightly changed the confirm button and roll button’s positions"}, {"post_id": 52236, "ts": "2026-08-22T10:28:05Z", "hours": 1.5842, "text": "Devlog #13 Vectorized the confirm button, looks alot nicer now. But most importantly added a debug console to ease testing. It has a bunch of commands such as add_card, set_level, etc…(see attachement)"}, {"post_id": 50228, "ts": "2026-08-19T11:33:44Z", "hours": 1.6153, "text": "MORE DICE Decided to add an animation for additional dice you can obtain through the Dice power-up(up to 6). This also fixed that bug that crashed the game when it tried to find the texture for the main die with more than 6 dots. Here’s a showcase of what it looks like with all 6 additional dice"}, {"post_id": 48773, "ts": "2026-08-17T09:42:03Z", "hours": 1.2283, "text": "Devlog #12 Changed the roll button and added a proper anymation instead of a label changing numbers. Also made a few other tweaks and bug fixes. Added: A title on top of choice menus indicating which player is choosing Roll button animation Changed: New roll button texture Fixed the bug that caused the game to crash if a player picked a new power-up when they already have the maximum. Fixed the 6th power-up not displaying correctly Removed the label displaying the roll"}, {"post_id": 47358, "ts": "2026-08-15T08:01:13Z", "hours": 3.3764, "text": "Devlog #11 Hello everyone! A small update mostly fixing bugs. Also added a new mechanic. Changelog: Added: When a player gets stuck in a Next-Back loop, a sound effect plays and he skips his turns until the end of the round.(Combined with the Cross Road card this can be used to set traps). Changed: Fixed a bug that caused the power-up choice menu to pop up multiple times simultaneously at the end of the round. Fixed the Shop tile not working properly Fixed a bug that caused the first player to take two turns in a row at the start of the game."}, {"post_id": 46221, "ts": "2026-08-13T09:30:00Z", "hours": 3.7564, "text": "Devlog #10 Hi, no devlog for over a week, i got a bit tired of fixing all the bugs. But i’m back in the game and today’s devlog is mainly about VFX. Changelog Added: New power-up: Safety net. Increases minimal level by 1. New power-up: Assets. Gain 2 levels if you have 3 cards in the end of the round. Visual effect for pressing the roll button. Visual effect for stepping on tile"}, {"post_id": 41471, "ts": "2026-08-05T18:11:49Z", "hours": 3.71, "text": "Devlog #9 - Tiers Changed the weight system to the tier system. Every power-up, tile and card now have their own tier which decides how often they appear. Also added a Shop tile where you can buy power-ups and cards in exchange for levels. Changelog: Added: New tile: Shop. When you step on it, a menu pops-up with 3 random card and/or power-ups for a set price(based on their tiers). Changed: Improved certain card’s textures Updated the weight-based calculation method to use the new tier system. 1 being the most common one and 5 the rarest. Higher conditions now appear in later rounds. For example in round 1 most tiles don’t require any level, but on round 5 most common condition are levels 2-3 meaning you’ll need at least these levels to access most tiles."}, {"post_id": 40013, "ts": "2026-08-03T11:14:18Z", "hours": 2.5736, "text": "Devlog #8 Hi, took a little break after trying to convert some of the UI from pixel-art to vectorial graphics. (i ended up only changing the stat-bars,they look alot cleaner now). Changelog: Added: New card: Air Conditionning. Set any level condition on a tile of you choice. Changed: Changed the way conditions are set for tiles(a complete rework incoming, i want later rounds to have harsher conditions) New stat-bar texture Fixed a bug which caused the game to crash at the end of the round if multiple power-ups were given out"}, {"post_id": 38439, "ts": "2026-07-31T20:04:43Z", "hours": 2.9572, "text": "Devlog #7 - ARROWS! YAY! Hello everyone, worked on tiles and cards that concern arrows (the ones that make you advance or retreat). Also a bit of visual work. Check out Devlog #0 to learn about Board-Like Changelog: Added: New tile: Back. Oppositely to Next, it makes the player who stepped on it to retreat to the previous tile. Weight: 20 New card: Crossroad. Change any tile to Next or Back. Weight: 15 Changed: Completely changed the background’s palette, looks alot better imo Next got a new texture to match Back New portal animation and texture More work into the game’s internal structure improvement. Mostly concerning conditions this time around."}, {"post_id": 37822, "ts": "2026-07-30T19:31:58Z", "hours": 0.3494, "text": "A new portal texture👀"}, {"post_id": 37530, "ts": "2026-07-30T10:38:55Z", "hours": 1.9533, "text": "Devlog #6 - Higher definition textures and updated tooltip. Hello! A quick update focused on visuals. (If you want to know about Board-Like, check out Devlog #0) Changelog: Higher definition textures for the dice button and stat bars Randomize card is now called Rainbow Paint Randomize card has a new texture Tooltip’s border changes color depending on the type of object the cursor is hovering over Tooltip’s text is now centered Tooltip now also works when you hover over other player’s cards on stat bars."}, {"post_id": 36415, "ts": "2026-07-28T15:00:48Z", "hours": 3.5189, "text": "Devlog #5 - Tooltip! Hi! A pretty cool update today! Made a useful tooltip, whenever you hover over a card, a tile or even a power, a tooltip will pop-up to explain what this item does!(see attached video). Also added taxes to the game(beware the IRS) Changelog : Added: 🖱️A tooltip for cards, powers and tiles displaying their name, type and a description 🪙New card: Taxes. Everyone except you looses 1 level for each power-up and card they have.(Level can’t go below 0) Changed: 🤞Bonuses and cards now use the weight system for calculating chances to appear, similar to powers. Improved game sctructure: – 🧑💼Levels are now managed by the LevelManager node(before it was all over the place)"}, {"post_id": 36018, "ts": "2026-07-27T20:49:20Z", "hours": 4.1611, "text": "Devlog #4 Hi! Bringing another update to Board-Like. Now all tiles and power-ups have “weight”, which is their chance to appear. This allowes me to do a much more balanced game where better items appear rarer than others. Also added a new very cool tile, and a couple of power-ups, one of them being a reference to a little something😉 Changelog Added: 📄 New tile: Blank Tile . This tile is blank at the start of the round, whenever a player steps on it, it changes to the player’s color. When current round changes, the player who last stepped on Blank Tile gets an additional power-up. 🟢New power-up: Caesium-137. Player gains 1 level each time they pass through the portals(from any side)(stacking) 🎲New power-up: Another dice. Player now rolls 1 more dice(stacking) ✖️A cancel button when using certain cards Changed: Power-ups now have different weight(chance to appear): – 🦇Vampire: 20 – 🍀The Lucky Clover: 30 – 🎲Another dice: 10 – Caesium-137: 10 Tiles now have different weight(chance to appear): – ➡️Skip To Next: 40 – Level up: 40 – 🧲Magnet: 20 – 🃏Chest with cards: 20 – 📄Blank Tile: 5 🌟Choice menus(for example when choosing powers) now have a pop-up animation. 💊Fixed a lot of Sleeping Pill card related bugs."}, {"post_id": 34717, "ts": "2026-07-25T17:33:43Z", "hours": 3.5053, "text": "Devlog #3 - Screen issue fixed and a new card! Hey everyone, no updates for a little while cause i was out in Belgium to see The Odyssey in IMAX 70MM, truly a unique experience. Anyway, in this update i fixed a weird screen issue which was cutting off part of the screen on smaller displays. Here’s the full changelog: Added: New card: Sleeping Pill. You may sacrifice one level to make another player(or yourself!!!) skip their next turn. Changed: Fixed screen scaling issues Multiple small code fixes"}, {"post_id": 30272, "ts": "2026-07-17T18:22:51Z", "hours": 4.4367, "text": "Devlog#2 Heyy, alot of changes today! Finally changed the background which looks alot nicer than the previous one imo. Also added 2 and 4 player support, and an actual end to the game(tho it doesn’t sort players by their lvl yet). Changelog: Added: 🎚️Number of players slider 🎚️Number of rounds slider 🧮Round counter at the bottom left 📊Ending screen with a scoreboard 👀A neat animation and SFX when tiles appear at the beggining of every round Changed: The background is now glowing in different colors and there are scaling-up-n-down dices all over it. Now playable with 2,3 and 4 player parties! The game finally has a goal and is playable(not so much fun just yet tho, still missing 90% of power-ups and tiles. But most importantly ROUND MODIFIERS ) Included screenshots of the scoreboard, and an example of what the stat bars can look like after 5 rounds. Also a recording showcasing other changes"}, {"post_id": 30013, "ts": "2026-07-17T08:13:53Z", "hours": 2.9414, "text": "Devlog #1 - Power-ups Hello there! Today I’m bringing to life a very important part of Board-Like! Power ups. As i explained in Devlog #0, the winner of the round gets to choose one of 3 random power ups. They all have different effects and synergies.I included a little recording where you can see that all your power-ups are shown on your personal UI, or what i call them - the stat bars . Also wanted to show you some more content, so here’s the dice re-roll card! Here’s the changelog: Added: Power-up choice menu 🍀Lucky Clover power-up:all positive effect are now 15% more likely to happen 🧛Vampire: get a level-up every time you cast a negative effect on another player 🌟A subtle scale up effect on hover for cards(bottom right) and tiles(middle of the screen) Changed: 🗝️Add Card tile texture is now a chest that opens whenever someone steps on it. My next steps are gonna be changing the background because this one looks horrible, adding more cards, tiles and power-ups. If you want a detailed explanation to Board-Like you’re welcome to see Devlog#0 P.S.: You can hear Board-Like’s OST in the video"}, {"post_id": 29379, "ts": "2026-07-16T09:23:02Z", "hours": 0.3833, "text": "Devlog #0 In this post I explain what Board-Like is, it’s state right now, and most importantly what I’m planning to change and add. What’s Board-Like? Board-Like is [like excpected from the name] a rogue-like multiplayer board(style) videogame developped on Godot. The game loop idea is: Quick(1-3 minutes) turn-based rounds where players throw dice, step on tiles, use their cards(to help themselves or punish others) and gain levels The player that crosses the finish line first chooses one of 3(???) power-ups to keep through the whole game, and next round starts. The power ups can have synergies and different rarities. That’s where the “rogue-like” part comes in, every game will feel completely different depending on what power ups you and your friends choose! Well, who wins? The player with the highest level by the end of /to be determined/ rounds! You can gain levels from(but not only!) stepping on special tiles or triggering your power-ups. But it’s not that simple! Levels are very dynamic, you can(and probably will have to) lose, sacrifice or trade your levels in order to obtain even more! Try different tactics and anticipate the next rounds. Oh, and also… ROUND MODIFIERS! Cool, no? The state of the game. I started the developpement in Summer 2025, but quickly abandoned it to priorotize school(and videogames obv). Right now it looks insanely ugly, but also lacks 90% of all mentioned features above. It has 3 different working cards to use(return to start, reroll dice, and change any tile on the board to a random one), 4 tiles(tp to next tile, level up, magnet, and get a card ). No power-ups yet, round modifiers or even an end to the game. So no chaos, no fun, no game. Plans Well, there’s a lot of work to do. I am planning to add everything i mentioned in the first section, plus adding more music, making a complete visual overhaul, and the hardest for me: online multiplayer. I have never done anything with online multiplayer and that’s where i think I’ll meet the most issues. I have no idea where to start with it so if you have any tips feel free to share. Well anyway, there’s a lot to do before that. So, that’s Board-Like! See ya!(Btw the screenshot is what the game looks like rn)"}]...
|
Title: Board-Like by @KIR_KOS | Stardance
Devlogs Title: Board-Like by @KIR_KOS | Stardance
Devlogs:
Devlog #0 In this post I explain what Board-Like is, it’s state right now, and most importantly what I’m planning to change and add. What’s Board-Like? Board-Like is [like excpected from the name] a rogue-like multiplayer board(style) videogame developped on Godot. The game loop idea is: Quick(1-3 minutes) turn-based rounds where players throw dice, step on tiles, use their cards(to help themselves or punish others) and gain levels The player that crosses the finish line first chooses one of 3(???) power-ups to keep through the whole game, and next round starts. The power ups can have synergies and different rarities. That’s where the “rogue-like” part comes in, every game will feel completely different depending on what power ups you and your friends choose! Well, who wins? The player with the highest level by the end of /to be determined/ rounds! You can gain levels from(but not only!) stepping on special tiles or triggering your power-ups. But it’s not that simple! Levels are very dynamic, you can(and probably will have to) lose, sacrifice or trade your levels in order to obtain even more! Try different tactics and anticipate the next rounds. Oh, and also… ROUND MODIFIERS! Cool, no? The state of the game. I started the developpement in Summer 2025, but quickly abandoned it to priorotize school(and videogames obv). Right now it looks insanely ugly, but also lacks 90% of all mentioned features above. It has 3 different working cards to use(return to start, reroll dice, and change any tile on the board to a random one), 4 tiles(tp to next tile, level up, magnet, and get a card ). No power-ups yet, round modifiers or even an end to the game. So no chaos, no fun, no game. Plans Well, there’s a lot of work to do. I am planning to add everything i mentioned in the first section, plus adding more music, making a complete visual overhaul, and the hardest for me: online multiplayer. I have never done anything with online multiplayer and that’s where i think I’ll meet the most issues. I have no idea where to start with it so if you have any tips feel free to share. Well anyway, there’s a lot to do before that. So, that’s Board-Like! See ya!(Btw the screenshot is what the game looks like rn)
Devlog #1 - Power-ups Hello there! Today I’m bringing to life a very important part of Board-Like! Power ups. As i explained in Devlog #0, the winner of the round gets to choose one of 3 random power ups. They all have different effects and synergies.I included a little recording where you can see that all your power-ups are shown on your personal UI, or what i call them - the stat bars . Also wanted to show you some more content, so here’s the dice re-roll card! Here’s the changelog: Added: Power-up choice menu 🍀Lucky Clover power-up:all positive effect are now 15% more likely to happen 🧛Vampire: get a level-up every time you cast a negative effect on another player 🌟A subtle scale up effect on hover for cards(bottom right) and tiles(middle of the screen) Changed: 🗝️Add Card tile texture is now a chest that opens whenever someone steps on it. My next steps are gonna be changing the background because this one looks horrible, adding more cards, tiles and power-ups. If you want a detailed explanation to Board-Like you’re welcome to see Devlog#0 P.S.: You can hear Board-Like’s OST in the video
Devlog#2 Heyy, alot of changes today! Finally changed the background which looks alot nicer than the previous one imo. Also added 2 and 4 player support, and an actual end to the game(tho it doesn’t sort players by their lvl yet). Changelog: Added: 🎚️Number of players slider 🎚️Number of rounds slider 🧮Round counter at the bottom left 📊Ending screen with a scoreboard 👀A neat animation and SFX when tiles appear at the beggining of every round Changed: The background is now glowing in different colors and there are scaling-up-n-down dices all over it. Now playable with 2,3 and 4 player parties! The game finally has a goal and is playable(not so much fun just yet tho, still missing 90% of power-ups and tiles. But most importantly ROUND MODIFIERS ) Included screenshots of the scoreboard, and an example of what the stat bars can look like after 5 rounds. Also a recording showcasing other changes
Devlog #3 - Screen issue fixed and a new card! Hey everyone, no updates for a little while cause i was out in Belgium to see The Odyssey in IMAX 70MM, truly a unique experience. Anyway, in this update i fixed a weird screen issue which was cutting off part of the screen on smaller displays. Here’s the full changelog: Added: New card: Sleeping Pill. You may sacrifice one level to make another player(or yourself!!!) skip their next turn. Changed: Fixed screen scaling issues Multiple small code fixes
Devlog #4 Hi! Bringing another update to Board-Like. Now all tiles and power-ups have “weight”, which is their chance to appear. This allowes me to do a much more balanced game where better items appear rarer than others. Also added a new very cool tile, and a couple of power-ups, one of them being a reference to a little something😉 Changelog Added: 📄 New tile: Blank Tile . This tile is blank at the start of the round, whenever a player steps on it, it changes to the player’s color. When current round changes, the player who last stepped on Blank Tile gets an additional power-up. 🟢New power-up: Caesium-137. Player gains 1 level each time they pass through the portals(from any side)(stacking) 🎲New power-up: Another dice. Player now rolls 1 more dice(stacking) ✖️A cancel button when using certain cards Changed: Power-ups now have different weight(chance to appear): – 🦇Vampire: 20 – 🍀The Lucky Clover: 30 – 🎲Another dice: 10 – Caesium-137: 10 Tiles now have different weight(chance to appear): – ➡️Skip To Next: 40 – Level up: 40 – 🧲Magnet: 20 – 🃏Chest with cards: 20 – 📄Blank Tile: 5 🌟Choice menus(for example when choosing powers) now have a pop-up animation. 💊Fixed a lot of Sleeping Pill card related bugs.
Devlog #5 - Tooltip! Hi! A pretty cool update today! Made a useful tooltip, whenever you hover over a card, a tile or even a power, a tooltip will pop-up to explain what this item does!(see attached video). Also added taxes to the game(beware the IRS) Changelog : Added: 🖱️A tooltip for cards, powers and tiles displaying their name, type and a description 🪙New card: Taxes. Everyone except you looses 1 level for each power-up and card they have.(Level can’t go below 0) Changed: 🤞Bonuses and cards now use the weight system for calculating chances to appear, similar to powers. Improved game sctructure: – 🧑💼Levels are now managed by the LevelManager node(before it was all over the place)
Devlog #6 - Higher definition textures and updated tooltip. Hello! A quick update focused on visuals. (If you want to know about Board-Like, check out Devlog #0) Changelog: Higher definition textures for the dice button and stat bars Randomize card is now called Rainbow Paint Randomize card has a new texture Tooltip’s border changes color depending on the type of object the cursor is hovering over Tooltip’s text is now centered Tooltip now also works when you hover over other player’s cards on stat bars.
A new portal texture👀
Devlog #7 - ARROWS! YAY! Hello everyone, worked on tiles and cards that concern arrows (the ones that make you advance or retreat). Also a bit of visual work. Check out Devlog #0 to learn about Board-Like Changelog: Added: New tile: Back. Oppositely to Next, it makes the player who stepped on it to retreat to the previous tile. Weight: 20 New card: Crossroad. Change any tile to Next or Back. Weight: 15 Changed: Completely changed the background’s palette, looks alot better imo Next got a new texture to match Back New portal animation and texture More work into the game’s internal structure improvement. Mostly concerning conditions this time around.
Devlog #8 Hi, took a little break after trying to convert some of the UI from pixel-art to vectorial graphics. (i ended up only changing the stat-bars,they look alot cleaner now). Changelog: Added: New card: Air Conditionning. Set any level condition on a tile of you choice. Changed: Changed the way conditions are set for tiles(a complete rework incoming, i want later rounds to have harsher conditions) New stat-bar texture Fixed a bug which caused the game to crash at the end of the round if multiple power-ups were given out
Devlog #9 - Tiers Changed the weight system to the tier system. Every power-up, tile and card now have their own tier which decides how often they appear. Also added a Shop tile where you can buy power-ups and cards in exchange for levels. Changelog: Added: New tile: Shop. When you step on it, a menu pops-up with 3 random card and/or power-ups for a set price(based on their tiers). Changed: Improved certain card’s textures Updated the weight-based calculation method to use the new tier system. 1 being the most common one and 5 the rarest. Higher conditions now appear in later rounds. For example in round 1 most tiles don’t require any level, but on round 5 most common condition are levels 2-3 meaning you’ll need at least these levels to access most tiles.
Devlog #10 Hi, no devlog for over a week, i got a bit tired of fixing all the bugs. But i’m back in the game and today’s devlog is mainly about VFX. Changelog Added: New power-up: Safety net. Increases minimal level by 1. New power-up: Assets. Gain 2 levels if you have 3 cards in the end of the round. Visual effect for pressing the roll button. Visual effect for stepping on tile
Devlog #11 Hello everyone! A small update mostly fixing bugs. Also added a new mechanic. Changelog: Added: When a player gets stuck in a Next-Back loop, a sound effect plays and he skips his turns until the end of the round.(Combined with the Cross Road card this can be used to set traps). Changed: Fixed a bug that caused the power-up choice menu to pop up multiple times simultaneously at the end of the round. Fixed the Shop tile not working properly Fixed a bug that caused the first player to take two turns in a row at the start of the game.
Devlog #12 Changed the roll button and added a proper anymation instead of a label changing numbers. Also made a few other tweaks and bug fixes. Added: A title on top of choice menus indicating which player is choosing Roll button animation Changed: New roll button texture Fixed the bug that caused the game to crash if a player picked a new power-up when they already have the maximum. Fixed the 6th power-up not displaying correctly Removed the label displaying the roll
MORE DICE Decided to add an animation for additional dice you can obtain through the Dice power-up(up to 6). This also fixed that bug that crashed the game when it tried to find the texture for the main die with more than 6 dots. Here’s a showcase of what it looks like with all 6 additional dice
Devlog #13 Vectorized the confirm button, looks alot nicer now. But most importantly added a debug console to ease testing. It has a bunch of commands such as add_card, set_level, etc…(see attachement)
Devlog #14 - ROUND MODIFICATORS An exciting update today! Round modificators! Now every round except the first one will have a randomely chosen round modificator which can affect your strategy while playing. Changelog : Added: Round modificator mechanic New round modificator: Action Time. No Next and Back tiles appear on the board New round modificator: Half dice. All dice rolls are divided by 2(rounded to the lower number) New round modificator: Double XP. All players gain double levels from all sources. New round modificator: No conditions. All tiles have no conditions, meaning their effects wiil be active no matter the player’s level. New debug console command: mod. It changes curent round’s modificator Changed: The tooltip will now change position when out of screen so it’s visible Fixed a bug that caused tooltip to not show up sometimes on the stat-bars for power-ups and cards. Slightly changed the confirm button and roll button’s positions
Devlog #15 Hii! Added a pause menu and settings(you can only change the volume and toggle the console on/off for now). Also there are little cogs in the background of settings instead of dice! I plan to keep expanding already existing content for a bit and then get to making online mode work
Devlog #16 Hi! I realized I unfortunetely don’t have enough time to complete my project with an online mode, so I’m gonna ship it with one-device mode only. I’ll do a couple of updates polishing the game and adding a bit of content. Fully finishing the game is gonna be done outside of Stardance later. Changelog Added: Players now can choose their nicknames and colors before the game starts New tile: Again. Anyone stepping on it throws the dice again A little crown now appears next to the winner’s nickname at the end of the game Changed: Players are now sorted by level at the scoreboard Various bug fixes
Devlog #17 - Last before shipping Hey there! No updates for a while, i decided to fix last bugs and add a bit of QoL features brefore shipping. I have been doing this for almost 2 weeks so i don’t really remember everything i did, this devlog will probably not be full. Changelog Added: New tile: Inverted shop. You can sell your items for levels Players can now set their nicknames, icons and colors before starting the game An option to go back to main menu after finishing a game instead of being softlocked on the scoreboard scene More back buttons instead of ESCAPE to improve itch.io QoL Changed: Main menu background changed to an original one instead of the one i donwloaded from the internet Music now plays in all scenes
Ships:
Board-Like Board-Like is a 2-4 player roguelike videogame where you compete with your friends to get the biggest level in a set amount of rounds. Here’s a quick description of the game loop: -Players throw dice and step on tiles giving buffs/debuffs on quick 1-3 minute rounds. They can save, sacrifice, sell their levels in orded to sabotage other players or gain more levels in the long run thanks to active cards, tiles and passive power-ups gained by the winner of the last round. After a set amount of rounds(5-20), the winner is the player with the highest level. Board-like is fun because of how many combinations you can have with multiple cards, tiles, power-ups and round modifiers making every game you play unique and interesting! You can try it out here: https://kir-kos.itch.io/board-like...
|
1793004708.3871732
|
1793091108.3871732
|
|
38941
|
Alien Arena (3d FPS) by @ar-bh | Stardance
|
ar-bh
|
2
|
52.0
|
679
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-26T21:08:23Z", "hours": 3.0, "multiplier": 11.59, "payout": 30, "blessing": "neutral", "text": "Alien FPS! 👽🔫 — Ship #2 an exploration alien shooter made in Godot by arjun bhumula! this is my 2nd ship for Stardance. still my first 3D project and i’m proud of it — after Ship #1 i actually listened to the feedback and fixed a bunch of stuff. What I changed from feedback made it run better on weaker computers enemies don’t spawn on top of trees/objects anymore eye monsters now show up in the plains too cleaned up some gameplay / UX issues people pointed out The game arena shooter — axe + pistol, enemies spawn across different biomes. scoring eye monster 👁️ — 200 (400 with axe) snowman (creeper-like) — 250 (500 with axe) enemies get stronger the longer you survive. die at 0 HP or by falling off the map. have fun! AI disclosure ⚠️ NO AI WAS USED FOR CODE. I only used AI to help me learn Blender + Godot since this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY", "repo": "https://github.com/ar-bh/alien-fps", "demo": "https://arjun-bhumula.itch.io/alien-fps"}, {"ship_num": 2, "ts": "2026-08-14T17:51:43Z", "hours": 49.0, "multiplier": 13.27, "payout": 649, "blessing": "neutral", "text": "Alien FPS! 👽 🔫 an exploration alien shooter game made in Godot by arjun bhumula! this is my first ever 3d project, and I’m very proud of it! Alien FPS is kind of like an arena shooter (ig) where you are given an axe and a pistol and you have to fend for yourself. In the biomes surrounding you, enemies are spawning everywhere: (the following is from the readme) The enemies include: eye monster 👁️ : 200 points, but 400 if you use your axe to kill it snowman (creeper like minecraft: 250 points, but 500 if you use your axe to kill it Enemies keep getting stronger as your score builds up, so be careful! You can either die by getting your health down to 0 or falling off the map somehow Have fun! AI DISCLOSURE! ⚠️ NO AI IS USED FOR CODE! However, I used AI to walk me through the process of using Blender and Godot together because this this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY", "repo": "https://github.com/ar-bh/alien-fps", "demo": "https://arjun-bhumula.itch.io/alien-fps"}]...
|
[{"post_id": 53074, "ts": "202 [{"post_id": 53074, "ts": "2026-08-23T14:10:30Z", "hours": 0.5214, "text": "I reviewed everyone’s previous ship feedback and made a few changes! ready to re-ship, wish me luck!"}, {"post_id": 50960, "ts": "2026-08-20T13:01:39Z", "hours": 2.0472, "text": "hi everyone! before you rate, let me just clarify about a few things before you rate my project the game takes a little time to load, so please be patient 🙏 look at the devlogs while you wait! i’m on mac so I haven’t tested the windows download, try to play in-browser i’m pretty sure it’s fixed but sometimes pressing W can move backwards and S moves forward. this is because you may have accidentally breached the limit on looking up and down. if this happens, slowly keep looking up or down (both work) until its fixed happy shipping!"}, {"post_id": 47047, "ts": "2026-08-14T17:24:42Z", "hours": 1.4333, "text": "pre-devlog ship! please give me a good review guys 🙏 get playing! just updated: Changelog added a score axe sound tried to fix enemy shooting, not sure if I really did though menu and death screen bigger map that has slightly random generation enemies get bigger and stronger as score gets up and you survive for longer Next steps: ship! Notes: please give me a good score!"}, {"post_id": 46648, "ts": "2026-08-14T01:48:58Z", "hours": 0.8333, "text": "demo finally out! press to play give me feedback!!! i’ve already gotten reports that the game gets very laggy when you look at the trees (its because of complex shaders that are post-processing), will fix soon"}, {"post_id": 46543, "ts": "2026-08-13T20:56:12Z", "hours": 1.9333, "text": "added creepers to my fps Changelog imported the snowman monster model (only idle and walk animation so I had to manage) make the snowman go towards the player gave the snowman the same mechanics as a minecraft creeper Next steps more mobs more guns Notes my last devlog flopped why"}, {"post_id": 46028, "ts": "2026-08-12T22:54:36Z", "hours": 7.8339, "text": "if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks also my BIGGEST devlog yet, press read more! 🙏 (added guns 🔫🔫) actual devlog below TONS OF NEW CHANGES! 🔫 Changelog (there’s so many, I couldn’t do it by memory and had to go to git history added collision shapes to the environments! this includes the trees, the rocks, the glaciers, cacti, etc. not sure if I included this in the last devlog but WIP winter field biome exported player speed (probably also in the last) INVENTORY!!! so far it has the axe, the pistol, and the rest is empty but I successfully built it so it is very easy to add to and implement into the game a whole pistol 🔫🔫🔫🔫🔫 took a while (mostly the reason why this devlog is so long) it took SO LONG to get the blender model working because: very unfortunate news The person who I was getting ALL of my models from on sketchfab, @levraicoincoin DELETED their sketchfab account no idea why, crazy coincidence that it happpened the day after I published using their models. So it took so long to find someone else’s models (thank you new person who I dont want to delete their models 🙏). and this new person’s models are very different and it took me a very long time to get adjusted to this and figure out how to use it. @levraicoincoin was so simple, this one is not. all of the animations were packed into one action, and I did not know about Godot’s slice (wtv its called) feature, so I was trying to import them seperately through blender. huge fail, but finally figured it out so I guess it’s a success 👑 and another plus is that this person does have more models that are similar, and I’ve figured out how to use them so it won’t be that big of a struggle next time anyway back to changelog sucessfully got the pistol’s animations working added an AudioBus that has signals of things like axe swung and shot fired added a GameAudio node that uses the signals from AudioBus and plays a sound made the pistol sound this part was super tedious made it so the player’s arms were unshaded (took so long and had to use my broken UnshadedLayer node from earlier, HUGE pain removed the outline of everything I guess that’s about it (probably a bit more that I’m forgetting but it’s fine, this devlog is huge) Next steps (hopefully not as long) more weapons! will not take nearly as much time I hope 🙏 add more enemies fix some gun bugs because I don’t think it’s working that well when moving right now find the best spot for health and inventory, probably bottom left corner get an audio for the axe get background music, meaning probably make a start and death menu vehicle Notes if you really read everything, I appreciate it a LOT. all of my work related to this devlog took SO MUCH time, but I’ve gotten a lot of support. super grateful probably best news so far, @tejaswa got unbanned after mistakenly being banned for fraud! 🎉 he inspired this project a lot, so I’m really happy for him, his project, and grateful for the support he gave me that’s all, thanks! reposting liking and comment help a lot!"}, {"post_id": 45314, "ts": "2026-08-11T18:02:27Z", "hours": 1.2333, "text": "added health bar Changelog health bar created a unshadedlayer node using subviewports where if you add a child to it, that child will be unaffected by shading like cel shading and pixel art (it doesn’t work that well yet, i’ll have to improve it) changed player health to 5 Next steps make something happen when you die which will probably involve creating a menu inventory improve the shading system Notes ignore the roblox thing"}, {"post_id": 44876, "ts": "2026-08-10T22:22:10Z", "hours": 1.7669, "text": "blending and more environment stuff Changelog made the player speed exportable (I did this so I could travel over a ton of chunks faster when debugging to see how it looks like on runtime) created a blendchunk node created a giantblendchunk node which is just 3 blendchunk s the blendchunk s properly detect any chunks near them and change their texture using a shader to make it look like a seamless transition (although I’ll admit that it could use some work because the cel shading makes it pretty weird) changing the files made the github weird so I had to create a new local repo and fix all of the problems that showed up Next Steps maybe add a car because player on its own is too small? lots of people said to add foliage and more immersive environments by adding falling things and stuff automatic enemy spawning make the worldenvironment color change in a blendchunk rather than having to actually go to the solid one Notes really hope I get an xbox so if you see this, please repost like comment whatever so this project is seen more, and also if your rating give me a perfect score! 🙏"}, {"post_id": 44749, "ts": "2026-08-10T18:34:12Z", "hours": 0.6003, "text": "lazy devlog: changed my file directory idk why it took so long but I can’t track it all"}, {"post_id": 44657, "ts": "2026-08-10T15:57:21Z", "hours": 2.065, "text": "improved enemy finite state machine + environment Changelog made it so the eye monster explores and moves around the chunk, waits a second before choosing a new target destination on the chunk automatically changes albedo color depending on the chunk it was spawned in, so if it was spawned in glacier, it adopts a dark blue tone fields biome with a tree and actual grass rather than a carpet-like texture idk if I mentioned in the last devlog so I’ll just generalize and say a lot more Next steps make environments less blocky and go smoothly into each other foliage and more immersive environments, reccomended by @tejaswa and a few others more enemies secondary axe attack new weapons Notes: it pmo to see how people will just completely ai literally EVERYTHING and still think they can get stardust for it. like literally everything, the code, the idea, the devlogs for some reason, and the readme. how lazy can you be? i know exactly who this is directed towards"}, {"post_id": 44076, "ts": "2026-08-09T16:26:55Z", "hours": 1.1667, "text": "lots of environment changes! (clean switching + new desert biome! 🏜️) – Changelog added ways for the player to detect which chunk and biome it is on main (root) node script that runs these player functions and also pulls the biome information added an environment color variable to the biome data resources, and added appopriate colors for each biome root node uses tweens to make the environment color correct upon switching biomes desert biome! (just a cactus) added two new contents to the wastelands temporarily made the eye monster blue to look native to glacier biome Next steps edit eye monster fsm add variants to the eye monster (my only enemy right now) that are native to each biomes by changing albedo color like the temporary change I just did make chunks spawn enemies automatically like minecraft use hdr to make a better sky and environment in general Notes i think it’s really coming together now, and this project now has the highest amount of hours so I guess that’s nice i like the minion thing"}, {"post_id": 43691, "ts": "2026-08-09T03:08:11Z", "hours": 1.6886, "text": "if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below biomes using resources (finally made proper environments ) Changelog first, I used a dictionary that would have all the information about each biome, like name, ground texture, things that are available to spawn, amount of things that can spawn, and size variation of things that can spawn after it was getting efficient (i was plan on changing the method regardless), I used resources made a chunk node which is 50x50 and takes a biome variable, so I can just import biome resources into it and it automatically gets updated 👏 created biome_data.gd and made it extend resources made wasteland_biome.tres and ’glacier_biome.tres`, both resources with all the information above and all I have to do is attach it to a chunk made the contents spawn in random locations in the chunk with varying amounts, varying types (for example there are 2 kinds of dead trees in the wasteland so each one is a random type), and varying sizes Next steps make enemies native to certain biomes where they spawn automatically in their biome make biomes go smoothly into each other, maybe using a river in between add more wasteland enemies more content variation for wasteland and glacier edit the eye monster fsm so it walks around when it doesnt see the player something else that i forgot Notes Remember how a while ago I said I hate resources, well now they’re my favorite thing, they’re really useful and in this context, a giant lifesaver. the 3rd video shows how easy I made the process using resources. great progress so far, i think I can really get an xbox soon"}, {"post_id": 43599, "ts": "2026-08-08T23:11:36Z", "hours": 1.85, "text": "tell me what you think about the new cel shading! 👍 FPS + environment (pre-alpha) Changelog added a small FPS counter in the top left that would not get affected by the shaders by putting it in its own canvaslayer made the fps cap 60 made the world environment have a orange theme, trying to mimic a volcano after-effect or something like that got “alien planet” textures from the internet (i will credit in my readme) added a chunk scene which is the ground that the player stands on in the video, it has customizable size texture, and albedo av1 scale and the transformations adjust to make the top layer flat on the plane using a little bit of math adjusted the cel shading to make outlines bigger, not exaggerate dark colors, and get rid of foreign unrelated colors Next steps edit the eye monster enemy fsn so instead of staying in one place while idle, it moves around and kind of explores for each chunk, randomly place 3-5 items along it like burnt trees or rocks for this volcano-like theme, those items will be different in different biomes make chunks load when necessary and be able to load different biomes, probably split by a river or something health tracker inventory + new weapons Notes nothing much except I think I need some feedback on the new cel shading and environment. does it look good?"}, {"post_id": 43016, "ts": "2026-08-08T01:36:25Z", "hours": 0.7339, "text": "upcoming boss hopefully just 45m of playing around and seeing what a giant boss would look like. if you don’t understand the image, the blue platform is a large version of where the player fights the regular enemies so imagine the scale"}, {"post_id": 42883, "ts": "2026-08-07T20:44:39Z", "hours": 1.9947, "text": "Thank you so much for the support everyone! I got the most likes, views, comments, and overall support in my last devlog (and in this project as a whole) then ever before! 🙏 super thankful, but still, I hope you keep it coming! like and follow (actual devlog below ) actual devlog below a lot of enemy progress! Changelog set up the enemy finite state machine: enemies can walk towards the player (or run) enemies can attack the player hit state overrides everything so an enemy can be hit in the middle of attacking and the player will not recieve damage don’t know how to do proper nested bullet points so bear with me blended all enemy animations together so they flow properly added health tracking to the player added health tracking to the eye monster enemy game quits upon player death (temporary death) Next steps add the world, procedurally or randomly generated alien planet terrain add more animation-depth to the axe maybe? Notes to be honest right now, I don’t really know what the next steps are but my progress skyrocketed in the past few days so I think I’m gonna take a break. thanks for the support!"}, {"post_id": 42649, "ts": "2026-08-07T14:19:51Z", "hours": 1.2575, "text": "if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below Successfully added more and blended axe animations hooray (probably pre-alpha) Changelog added trauma based screenshake upon hitting an enemy. it is easy to change the intensity of the trauma based on which enemy is hit added jump start, falling, and jump end animations blended all animations together (blending means that animations will not be snappy and flow properly into each other for realism) made the godot run scene thing always open in full screen which is how I want the game to be played Next steps again nearly everything in last 2 devlogs mostly for now just enemy fsms and AI – Notes: Again, still pretty proud of my progress, lots of people showed interest so that’s nice."}, {"post_id": 42397, "ts": "2026-08-07T02:46:26Z", "hours": 1.9917, "text": "Added eye monster enemies (pre-alpha still don’t know) Changelog changed a platfrom from green to purple i guess, not permanent added three enemies that spawn on the temporary platforms. the three enemies are of random size and health with a bit more conditions that I’m not gonna explain. so far, you are able to hit them and they have idle, die, and corpse animations but right now all they do is stare at you and get beat up Next steps add a map basically everything in the last devlog learn about fsn (finite state machines, the most popular way to code enemy AIs) implement fsns Notes surprised I finished whole enemies in around 2 hours, thought it would be longer for my first ever 3d enemy. planning to add a super big boss that uses the same model which you need a gun to kill because whats an axe gonna do against it. really proud of my progress so far"}, {"post_id": 42272, "ts": "2026-08-06T22:04:24Z", "hours": 1.7728, "text": "First weapon + shaders (still pre-alpha?) Changelog before I was using a third person controller but I updated it so the main files were first person instead of the “test” files like before got blender axe model with imported animations from sketchfab (levraicoincoin) i’m going to use most of my fps models from him and I am very grateful for him so yeah imported axe from blender to godot (thank you levraicoincoin for the process to be so easy) added a cel shader theme added a retro (pixelated) theme the hands looked really weird with the cel shader theme so I overrode the material for a solid color which I think looks pretty good also I guess changed the game idea once again to an unknown planet exploration game, and I guess only 3d now not 2.5d small thing but changed the map layout to rid of overlap of csg’s Next steps add more weapons! add enemies add a boss add a start screen, inspired by @tejaswa (got banned for some reason)’s Into the cosmos game which I really liked Notes: I really want feedback on how this looks so tell me what you think. there’s not really as much notes as last time except I’m really proud of how the game turned out right now."}, {"post_id": 41647, "ts": "2026-08-06T00:26:17Z", "hours": 2.8422, "text": "FPS Setup (pre-alpha version i guess idkbro) Changelog (i saw someone else doing this so I’m going to do it now) I made a test scene and dedicated nodes to make an FPS controller instead of a third person controller uh did some research for fsm (finite state machines) which I’m gonna need probably oh yeah I also did a ton of reconsideration for my project to change the theme so ultimately I think I’m going for a space themed FPS shooter where the character has to escape an alien prison and they can either take a rocket ship back home or probably stay and explore Next steps i want the game to be 2.5D so I’m gonna need to draw gun assets that are gonna be 2d (shouldn’t be too hard) 2.5D alien assets gun combat and gun variety eventually a bit more but I’ll think about that in future devlogs Notes so this section has a lot. I’m gonna change the way I write devlogs because it’s cooler this way and also more professoinal so I’ll do better in the storytelling part of the ship. I went through a ton of like thinking and game ideas until I finally found one, and that process took so long I have no idea why. I went to a different state so I couldn’t work much then and I also watched bnd which was nice. so yeah I think I’m a lot more excited about the game now, why are emoticons no longer supported? :spiderman: see so yeah dont forget to comment and smash that like button"}, {"post_id": 37972, "ts": "2026-07-31T01:30:45Z", "hours": 0.6308, "text": "bruh a lot of reconsideration made me not want to take the route of my current game so far and go with a new one I know what I need to in order to build some version of a 3d game so after I polish my skills better, I get started on that. hopefully an fps"}, {"post_id": 37757, "ts": "2026-07-30T17:48:45Z", "hours": 3.7817, "text": "Fetched animations from blender and sucessfully got them into godot! This is day 10 somehow and for this devlog, I definiteily got a ton of progress. I stayed up until midnight trying to figure out how to get blender animations into Godot and I finally figured it out today morning. The reason it took so long is because the materials were not exporting properly and there was also a lot of small suff I had to fix like getting rid of blender’s unnecessary default animations and also managing the size of the item. I had to make tee animation twice because it was corrupted by size and positioning in the first one. I also made this model like a year ago and not knowing where all the files were in my computer did not help 🤦 But at the end I guess I finally did it There is still a lot left to do like Just making it look better in general figuring out why the head is always the same color as the environment adding character select (going to be a huge pain to add new characters) outline to make it look visually appealing idk blend the animations also make the running jump and falling animations I have a lot of work set out for me so please smash that like button and also just follow while you’re here thanks"}, {"post_id": 37389, "ts": "2026-07-30T02:19:23Z", "hours": 1.3969, "text": "Day 9! (part 4) Made a walking animation! Used Blender to make a nice walking animation! And I did some coding which is why there is a lot more time logged. What really took the longest was getting EpicFigRig to work because it does not work for the current Blender model and it took me a while to figure that out and go to an old version. Will try to implement it in the game next, do not know how that will work out with epicfigrig"}, {"post_id": 37278, "ts": "2026-07-29T21:25:13Z", "hours": 1.5611, "text": "Day 9 (part 3)! In this larger session, I made a working character using capsules and capsule shaped hurtboxes which can move around, look around, and jump. I used filler boxes and basically filler everything becasue I haven’t imported my models to blender yet. Don’t forget to smash that like button and subscribe"}, {"post_id": 37169, "ts": "2026-07-29T17:53:06Z", "hours": 0.3017, "text": "Day 9 (part 2): made my platform, that’s all character next!"}, {"post_id": 37013, "ts": "2026-07-29T14:07:08Z", "hours": 0.2611, "text": "Day 9! just got more practice as usual"}, {"post_id": 36703, "ts": "2026-07-28T22:37:26Z", "hours": 0.7933, "text": "Day 8 (i missed yesterday because I went somewhere)"}, {"post_id": 35437, "ts": "2026-07-26T20:55:26Z", "hours": 1.3453, "text": "Day 7 part 2 ! This time I got another hour of work. I worked on projectiles in my game. I’m not gonna attach a video though because it’s going to mess up my storytelling score upon ship for having irrelevant devlogs (cuz people will not put the time and effort to actually grade stuff. I did decide on a potential theme though. I have tons of experience with lego animation and legos also don’t have many bones that I have to take care of, so I can easily animate them for my game. The main restriction I have anyway is the models like creation and animation and using lego can make all of that easier you can see some of my work Link youtube channel the image is some of my work from last summer"}, {"post_id": 35294, "ts": "2026-07-26T16:36:09Z", "hours": 1.3189, "text": "Day 7! One week of development! 🎉 I am so happy to have rerolled + 5. what a great day I got a lot of practice and progress towards a prototype of a 3D game today, but still not the one that I want to be the most relevant to this project. I learend a lot about how to make cameras work in 3D by converting 2d coordinates into 3D. this also taught me how to use Input.get_vector() which returns a Vector2D and convert it into a Vector3D I guess I also learned how to use markdown better 🤷 To be honest I still haven’t decided what kind of 3D game I want to make but I know I’m putting a lot of hours into it (because I want an xbox ) I’m thinking most likely an FPS but there are tons of those and it wont be creative. I could also do a arena shooter or fighter using the Gobot open source 3d model, which I’ve already been implementing in my game right now. That’s it I think I have lots of motivation so this project will definitely have passion. Gdquest is the best"}, {"post_id": 34949, "ts": "2026-07-26T02:10:51Z", "hours": 0.2869, "text": "Day 6 (part 2) Just doing a little more because I am testing stardance’s time tracker and it’s behaving very weirdly when I add new projects. also for some reason they aren’t counting my streak when it CLEARLY says 16 minutes logged today for this devlogs. Fix your website stardance devs"}, {"post_id": 34934, "ts": "2026-07-26T01:34:22Z", "hours": 0.2594, "text": "Day 6! I got a lot of work done today! I know it only says 15 minutes, but it was because I was experimenting and figuring out how to use something 3d on a different file, and I forgot to turn on the time tracking for a large majority of it. I’m really excited to move on now that I finished this step. Also, regarding the thing I said would be hard yesterday, it was too difficult for me to do, so I set it aside for now. I will get back to it when I think I am ready. I found out that stardance only lets you make new lines on google chrome but not safari? it’s really weird so I had to switch browsers for this"}, {"post_id": 34379, "ts": "2026-07-25T01:28:25Z", "hours": 0.3656, "text": "Day 5 (part 2) I hate resources, they are so annoying to use but I have to learn how if I want to build my game why does stardance keep messing up their text editors, I can’t even make a new line"}, {"post_id": 34352, "ts": "2026-07-24T23:35:54Z", "hours": 0.4039, "text": "Day 5! I wasn’t able to get a lot of progress in today because I had other work to do. I’m kind of curious/afraid what will happen tomorrow because my learning plan has something very difficult which I really want to get over with so I can move on to the more fun parts. WHY DOES STARDANCE NOT LET YOU DO SHIFT + ENTER ANYMORE TO MAKE A NEW LINE?? the image is here because I’m a big fan of the outlines in the art style so when the game is being created, you will definitely see them"}, {"post_id": 33806, "ts": "2026-07-24T01:25:37Z", "hours": 3.2047, "text": "Hello! 👋 This devlog marks the start of my 3d game. I still have no idea what it is yet unfortunately but all I know is that this is going to be my first three dimensional game, and I think it is going to be a lot of fun to build. I’m using Godot! I don’t even know the version I think it’s like 4.6 or something So you’re wondering why I have 3+ hours logged already Well I don’t have the actual game built yet but I’ve been spending these 3 hours just learning what I need to know to get started. I only have experience with 2D so far so all of these tutorials and documents that I’m reading and watching will help me get some practice and knowledge or whatever I need for a successful game. What do I want my game to be like? I don’t know at all. :/ probably a gun game but there are so many like that so I want to have some unique mechanic movement-wise I’m excited to build controller support- especially in 3D I feel like that’s what really defines a game and triggers the pride in me that I actually build a real game What do I want for the future? I really hope this project turns into a long-term one that I can always just work on on the side. I want to publish to steam and make money 💰💰💰 I’m bored of writing now so here are some pictures of my practices (unrelated to the relevant 3d game of this project) (i’m writing super long devlogs so I can get a good storytelling score because I really want an xbox)"}]...
|
Title: Alien Arena (3d FPS) by @ar-bh | Stardance
Title: Alien Arena (3d FPS) by @ar-bh | Stardance
Devlogs:
Hello! 👋 This devlog marks the start of my 3d game. I still have no idea what it is yet unfortunately but all I know is that this is going to be my first three dimensional game, and I think it is going to be a lot of fun to build. I’m using Godot! I don’t even know the version I think it’s like 4.6 or something So you’re wondering why I have 3+ hours logged already Well I don’t have the actual game built yet but I’ve been spending these 3 hours just learning what I need to know to get started. I only have experience with 2D so far so all of these tutorials and documents that I’m reading and watching will help me get some practice and knowledge or whatever I need for a successful game. What do I want my game to be like? I don’t know at all. :/ probably a gun game but there are so many like that so I want to have some unique mechanic movement-wise I’m excited to build controller support- especially in 3D I feel like that’s what really defines a game and triggers the pride in me that I actually build a real game What do I want for the future? I really hope this project turns into a long-term one that I can always just work on on the side. I want to publish to steam and make money 💰💰💰 I’m bored of writing now so here are some pictures of my practices (unrelated to the relevant 3d game of this project) (i’m writing super long devlogs so I can get a good storytelling score because I really want an xbox)
Day 5! I wasn’t able to get a lot of progress in today because I had other work to do. I’m kind of curious/afraid what will happen tomorrow because my learning plan has something very difficult which I really want to get over with so I can move on to the more fun parts. WHY DOES STARDANCE NOT LET YOU DO SHIFT + ENTER ANYMORE TO MAKE A NEW LINE?? the image is here because I’m a big fan of the outlines in the art style so when the game is being created, you will definitely see them
Day 5 (part 2) I hate resources, they are so annoying to use but I have to learn how if I want to build my game why does stardance keep messing up their text editors, I can’t even make a new line
Day 6! I got a lot of work done today! I know it only says 15 minutes, but it was because I was experimenting and figuring out how to use something 3d on a different file, and I forgot to turn on the time tracking for a large majority of it. I’m really excited to move on now that I finished this step. Also, regarding the thing I said would be hard yesterday, it was too difficult for me to do, so I set it aside for now. I will get back to it when I think I am ready. I found out that stardance only lets you make new lines on google chrome but not safari? it’s really weird so I had to switch browsers for this
Day 6 (part 2) Just doing a little more because I am testing stardance’s time tracker and it’s behaving very weirdly when I add new projects. also for some reason they aren’t counting my streak when it CLEARLY says 16 minutes logged today for this devlogs. Fix your website stardance devs
Day 7! One week of development! 🎉 I am so happy to have rerolled + 5. what a great day I got a lot of practice and progress towards a prototype of a 3D game today, but still not the one that I want to be the most relevant to this project. I learend a lot about how to make cameras work in 3D by converting 2d coordinates into 3D. this also taught me how to use Input.get_vector() which returns a Vector2D and convert it into a Vector3D I guess I also learned how to use markdown better 🤷 To be honest I still haven’t decided what kind of 3D game I want to make but I know I’m putting a lot of hours into it (because I want an xbox ) I’m thinking most likely an FPS but there are tons of those and it wont be creative. I could also do a arena shooter or fighter using the Gobot open source 3d model, which I’ve already been implementing in my game right now. That’s it I think I have lots of motivation so this project will definitely have passion. Gdquest is the best
Day 7 part 2 ! This time I got another hour of work. I worked on projectiles in my game. I’m not gonna attach a video though because it’s going to mess up my storytelling score upon ship for having irrelevant devlogs (cuz people will not put the time and effort to actually grade stuff. I did decide on a potential theme though. I have tons of experience with lego animation and legos also don’t have many bones that I have to take care of, so I can easily animate them for my game. The main restriction I have anyway is the models like creation and animation and using lego can make all of that easier you can see some of my work Link youtube channel the image is some of my work from last summer
Day 8 (i missed yesterday because I went somewhere)
Day 9! just got more practice as usual
Day 9 (part 2): made my platform, that’s all character next!
Day 9 (part 3)! In this larger session, I made a working character using capsules and capsule shaped hurtboxes which can move around, look around, and jump. I used filler boxes and basically filler everything becasue I haven’t imported my models to blender yet. Don’t forget to smash that like button and subscribe
Day 9! (part 4) Made a walking animation! Used Blender to make a nice walking animation! And I did some coding which is why there is a lot more time logged. What really took the longest was getting EpicFigRig to work because it does not work for the current Blender model and it took me a while to figure that out and go to an old version. Will try to implement it in the game next, do not know how that will work out with epicfigrig
Fetched animations from blender and sucessfully got them into godot! This is day 10 somehow and for this devlog, I definiteily got a ton of progress. I stayed up until midnight trying to figure out how to get blender animations into Godot and I finally figured it out today morning. The reason it took so long is because the materials were not exporting properly and there was also a lot of small suff I had to fix like getting rid of blender’s unnecessary default animations and also managing the size of the item. I had to make tee animation twice because it was corrupted by size and positioning in the first one. I also made this model like a year ago and not knowing where all the files were in my computer did not help 🤦 But at the end I guess I finally did it There is still a lot left to do like Just making it look better in general figuring out why the head is always the same color as the environment adding character select (going to be a huge pain to add new characters) outline to make it look visually appealing idk blend the animations also make the running jump and falling animations I have a lot of work set out for me so please smash that like button and also just follow while you’re here thanks
bruh a lot of reconsideration made me not want to take the route of my current game so far and go with a new one I know what I need to in order to build some version of a 3d game so after I polish my skills better, I get started on that. hopefully an fps
FPS Setup (pre-alpha version i guess idkbro) Changelog (i saw someone else doing this so I’m going to do it now) I made a test scene and dedicated nodes to make an FPS controller instead of a third person controller uh did some research for fsm (finite state machines) which I’m gonna need probably oh yeah I also did a ton of reconsideration for my project to change the theme so ultimately I think I’m going for a space themed FPS shooter where the character has to escape an alien prison and they can either take a rocket ship back home or probably stay and explore Next steps i want the game to be 2.5D so I’m gonna need to draw gun assets that are gonna be 2d (shouldn’t be too hard) 2.5D alien assets gun combat and gun variety eventually a bit more but I’ll think about that in future devlogs Notes so this section has a lot. I’m gonna change the way I write devlogs because it’s cooler this way and also more professoinal so I’ll do better in the storytelling part of the ship. I went through a ton of like thinking and game ideas until I finally found one, and that process took so long I have no idea why. I went to a different state so I couldn’t work much then and I also watched bnd which was nice. so yeah I think I’m a lot more excited about the game now, why are emoticons no longer supported? :spiderman: see so yeah dont forget to comment and smash that like button
First weapon + shaders (still pre-alpha?) Changelog before I was using a third person controller but I updated it so the main files were first person instead of the “test” files like before got blender axe model with imported animations from sketchfab (levraicoincoin) i’m going to use most of my fps models from him and I am very grateful for him so yeah imported axe from blender to godot (thank you levraicoincoin for the process to be so easy) added a cel shader theme added a retro (pixelated) theme the hands looked really weird with the cel shader theme so I overrode the material for a solid color which I think looks pretty good also I guess changed the game idea once again to an unknown planet exploration game, and I guess only 3d now not 2.5d small thing but changed the map layout to rid of overlap of csg’s Next steps add more weapons! add enemies add a boss add a start screen, inspired by @tejaswa (got banned for some reason)’s Into the cosmos game which I really liked Notes: I really want feedback on how this looks so tell me what you think. there’s not really as much notes as last time except I’m really proud of how the game turned out right now.
Added eye monster enemies (pre-alpha still don’t know) Changelog changed a platfrom from green to purple i guess, not permanent added three enemies that spawn on the temporary platforms. the three enemies are of random size and health with a bit more conditions that I’m not gonna explain. so far, you are able to hit them and they have idle, die, and corpse animations but right now all they do is stare at you and get beat up Next steps add a map basically everything in the last devlog learn about fsn (finite state machines, the most popular way to code enemy AIs) implement fsns Notes surprised I finished whole enemies in around 2 hours, thought it would be longer for my first ever 3d enemy. planning to add a super big boss that uses the same model which you need a gun to kill because whats an axe gonna do against it. really proud of my progress so far
if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below Successfully added more and blended axe animations hooray (probably pre-alpha) Changelog added trauma based screenshake upon hitting an enemy. it is easy to change the intensity of the trauma based on which enemy is hit added jump start, falling, and jump end animations blended all animations together (blending means that animations will not be snappy and flow properly into each other for realism) made the godot run scene thing always open in full screen which is how I want the game to be played Next steps again nearly everything in last 2 devlogs mostly for now just enemy fsms and AI – Notes: Again, still pretty proud of my progress, lots of people showed interest so that’s nice.
Thank you so much for the support everyone! I got the most likes, views, comments, and overall support in my last devlog (and in this project as a whole) then ever before! 🙏 super thankful, but still, I hope you keep it coming! like and follow (actual devlog below ) actual devlog below a lot of enemy progress! Changelog set up the enemy finite state machine: enemies can walk towards the player (or run) enemies can attack the player hit state overrides everything so an enemy can be hit in the middle of attacking and the player will not recieve damage don’t know how to do proper nested bullet points so bear with me blended all enemy animations together so they flow properly added health tracking to the player added health tracking to the eye monster enemy game quits upon player death (temporary death) Next steps add the world, procedurally or randomly generated alien planet terrain add more animation-depth to the axe maybe? Notes to be honest right now, I don’t really know what the next steps are but my progress skyrocketed in the past few days so I think I’m gonna take a break. thanks for the support!
upcoming boss hopefully just 45m of playing around and seeing what a giant boss would look like. if you don’t understand the image, the blue platform is a large version of where the player fights the regular enemies so imagine the scale
tell me what you think about the new cel shading! 👍 FPS + environment (pre-alpha) Changelog added a small FPS counter in the top left that would not get affected by the shaders by putting it in its own canvaslayer made the fps cap 60 made the world environment have a orange theme, trying to mimic a volcano after-effect or something like that got “alien planet” textures from the internet (i will credit in my readme) added a chunk scene which is the ground that the player stands on in the video, it has customizable size texture, and albedo av1 scale and the transformations adjust to make the top layer flat on the plane using a little bit of math adjusted the cel shading to make outlines bigger, not exaggerate dark colors, and get rid of foreign unrelated colors Next steps edit the eye monster enemy fsn so instead of staying in one place while idle, it moves around and kind of explores for each chunk, randomly place 3-5 items along it like burnt trees or rocks for this volcano-like theme, those items will be different in different biomes make chunks load when necessary and be able to load different biomes, probably split by a river or something health tracker inventory + new weapons Notes nothing much except I think I need some feedback on the new cel shading and environment. does it look good?
if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below biomes using resources (finally made proper environments ) Changelog first, I used a dictionary that would have all the information about each biome, like name, ground texture, things that are available to spawn, amount of things that can spawn, and size variation of things that can spawn after it was getting efficient (i was plan on changing the method regardless), I used resources made a chunk node which is 50x50 and takes a biome variable, so I can just import biome resources into it and it automatically gets updated 👏 created biome_data.gd and made it extend resources made wasteland_biome.tres and ’glacier_biome.tres`, both resources with all the information above and all I have to do is attach it to a chunk made the contents spawn in random locations in the chunk with varying amounts, varying types (for example there are 2 kinds of dead trees in the wasteland so each one is a random type), and varying sizes Next steps make enemies native to certain biomes where they spawn automatically in their biome make biomes go smoothly into each other, maybe using a river in between add more wasteland enemies more content variation for wasteland and glacier edit the eye monster fsm so it walks around when it doesnt see the player something else that i forgot Notes Remember how a while ago I said I hate resources, well now they’re my favorite thing, they’re really useful and in this context, a giant lifesaver. the 3rd video shows how easy I made the process using resources. great progress so far, i think I can really get an xbox soon
lots of environment changes! (clean switching + new desert biome! 🏜️) – Changelog added ways for the player to detect which chunk and biome it is on main (root) node script that runs these player functions and also pulls the biome information added an environment color variable to the biome data resources, and added appopriate colors for each biome root node uses tweens to make the environment color correct upon switching biomes desert biome! (just a cactus) added two new contents to the wastelands temporarily made the eye monster blue to look native to glacier biome Next steps edit eye monster fsm add variants to the eye monster (my only enemy right now) that are native to each biomes by changing albedo color like the temporary change I just did make chunks spawn enemies automatically like minecraft use hdr to make a better sky and environment in general Notes i think it’s really coming together now, and this project now has the highest amount of hours so I guess that’s nice i like the minion thing
improved enemy finite state machine + environment Changelog made it so the eye monster explores and moves around the chunk, waits a second before choosing a new target destination on the chunk automatically changes albedo color depending on the chunk it was spawned in, so if it was spawned in glacier, it adopts a dark blue tone fields biome with a tree and actual grass rather than a carpet-like texture idk if I mentioned in the last devlog so I’ll just generalize and say a lot more Next steps make environments less blocky and go smoothly into each other foliage and more immersive environments, reccomended by @tejaswa and a few others more enemies secondary axe attack new weapons Notes: it pmo to see how people will just completely ai literally EVERYTHING and still think they can get stardust for it. like literally everything, the code, the idea, the devlogs for some reason, and the readme. how lazy can you be? i know exactly who this is directed towards
lazy devlog: changed my file directory idk why it took so long but I can’t track it all
blending and more environment stuff Changelog made the player speed exportable (I did this so I could travel over a ton of chunks faster when debugging to see how it looks like on runtime) created a blendchunk node created a giantblendchunk node which is just 3 blendchunk s the blendchunk s properly detect any chunks near them and change their texture using a shader to make it look like a seamless transition (although I’ll admit that it could use some work because the cel shading makes it pretty weird) changing the files made the github weird so I had to create a new local repo and fix all of the problems that showed up Next Steps maybe add a car because player on its own is too small? lots of people said to add foliage and more immersive environments by adding falling things and stuff automatic enemy spawning make the worldenvironment color change in a blendchunk rather than having to actually go to the solid one Notes really hope I get an xbox so if you see this, please repost like comment whatever so this project is seen more, and also if your rating give me a perfect score! 🙏
added health bar Changelog health bar created a unshadedlayer node using subviewports where if you add a child to it, that child will be unaffected by shading like cel shading and pixel art (it doesn’t work that well yet, i’ll have to improve it) changed player health to 5 Next steps make something happen when you die which will probably involve creating a menu inventory improve the shading system Notes ignore the roblox thing
if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks also my BIGGEST devlog yet, press read more! 🙏 (added guns 🔫🔫) actual devlog below TONS OF NEW CHANGES! 🔫 Changelog (there’s so many, I couldn’t do it by memory and had to go to git history added collision shapes to the environments! this includes the trees, the rocks, the glaciers, cacti, etc. not sure if I included this in the last devlog but WIP winter field biome exported player speed (probably also in the last) INVENTORY!!! so far it has the axe, the pistol, and the rest is empty but I successfully built it so it is very easy to add to and implement into the game a whole pistol 🔫🔫🔫🔫🔫 took a while (mostly the reason why this devlog is so long) it took SO LONG to get the blender model working because: very unfortunate news The person who I was getting ALL of my models from on sketchfab, @levraicoincoin DELETED their sketchfab account no idea why, crazy coincidence that it happpened the day after I published using their models. So it took so long to find someone else’s models (thank you new person who I dont want to delete their models 🙏). and this new person’s models are very different and it took me a very long time to get adjusted to this and figure out how to use it. @levraicoincoin was so simple, this one is not. all of the animations were packed into one action, and I did not know about Godot’s slice (wtv its called) feature, so I was trying to import them seperately through blender. huge fail, but finally figured it out so I guess it’s a success 👑 and another plus is that this person does have more models that are similar, and I’ve figured out how to use them so it won’t be that big of a struggle next time anyway back to changelog sucessfully got the pistol’s animations working added an AudioBus that has signals of things like axe swung and shot fired added a GameAudio node that uses the signals from AudioBus and plays a sound made the pistol sound this part was super tedious made it so the player’s arms were unshaded (took so long and had to use my broken UnshadedLayer node from earlier, HUGE pain removed the outline of everything I guess that’s about it (probably a bit more that I’m forgetting but it’s fine, this devlog is huge) Next steps (hopefully not as long) more weapons! will not take nearly as much time I hope 🙏 add more enemies fix some gun bugs because I don’t think it’s working that well when moving right now find the best spot for health and inventory, probably bottom left corner get an audio for the axe get background music, meaning probably make a start and death menu vehicle Notes if you really read everything, I appreciate it a LOT. all of my work related to this devlog took SO MUCH time, but I’ve gotten a lot of support. super grateful probably best news so far, @tejaswa got unbanned after mistakenly being banned for fraud! 🎉 he inspired this project a lot, so I’m really happy for him, his project, and grateful for the support he gave me that’s all, thanks! reposting liking and comment help a lot!
added creepers to my fps Changelog imported the snowman monster model (only idle and walk animation so I had to manage) make the snowman go towards the player gave the snowman the same mechanics as a minecraft creeper Next steps more mobs more guns Notes my last devlog flopped why
demo finally out! press to play give me feedback!!! i’ve already gotten reports that the game gets very laggy when you look at the trees (its because of complex shaders that are post-processing), will fix soon
pre-devlog ship! please give me a good review guys 🙏 get playing! just updated: Changelog added a score axe sound tried to fix enemy shooting, not sure if I really did though menu and death screen bigger map that has slightly random generation enemies get bigger and stronger as score gets up and you survive for longer Next steps: ship! Notes: please give me a good score!
hi everyone! before you rate, let me just clarify about a few things before you rate my project the game takes a little time to load, so please be patient 🙏 look at the devlogs while you wait! i’m on mac so I haven’t tested the windows download, try to play in-browser i’m pretty sure it’s fixed but sometimes pressing W can move backwards and S moves forward. this is because you may have accidentally breached the limit on looking up and down. if this happens, slowly keep looking up or down (both work) until its fixed happy shipping!
I reviewed everyone’s previous ship feedback and made a few changes! ready to re-ship, wish me luck!
Ships:
Alien FPS! 👽 🔫 an exploration alien shooter game made in Godot by arjun bhumula! this is my first ever 3d project, and I’m very proud of it! Alien FPS is kind of like an arena shooter (ig) where you are given an axe and a pistol and you have to fend for yourself. In the biomes surrounding you, enemies are spawning everywhere: (the following is from the readme) The enemies include: eye monster 👁️ : 200 points, but 400 if you use your axe to kill it snowman (creeper like minecraft: 250 points, but 500 if you use your axe to kill it Enemies keep getting stronger as your score builds up, so be careful! You can either die by getting your health down to 0 or falling off the map somehow Have fun! AI DISCLOSURE! ⚠️ NO AI IS USED FOR CODE! However, I used AI to walk me through the process of using Blender and Godot together because this this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY
Alien FPS! 👽🔫 — Ship #2 an exploration alien shooter made in Godot by arjun bhumula! this is my 2nd ship for Stardance. still my first 3D project and i’m proud of it — after Ship #1 i actually listened to the feedback and fixed a bunch of stuff. What I changed from feedback made it run better on weaker computers enemies don’t spawn on top of trees/objects anymore eye monsters now show up in the plains too cleaned up some gameplay / UX issues people pointed out The game arena shooter — axe + pistol, enemies spawn across different biomes. scoring eye monster 👁️ — 200 (400 with axe) snowman (creeper-like) — 250 (500 with axe) enemies get stronger the longer you survive. die at 0 HP or by falling off the map. have fun! AI disclosure ⚠️ NO AI WAS USED FOR CODE. I only used AI to help me learn Blender + Godot since this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY...
|
1792990411.8932495
|
1793076811.8932495
|
|
39282
|
Pass n’ Play by @ReuTheNetizen | Stardance
|
ReuTheNetizen
|
1
|
52.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T21:14:35Z", "hours": 52.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? Pass n’ Play is a website that serves as a party game hub for all ages in which a group can play 4 unique social deduction games by passing a single device around the table. The site is inspired by a neo-brutalist design, caters towards mobile devices, and is meant to look more like an app than a standard website. What are you proud of? I am most proud of the third game I made, Signal Jam. It has the most unique features out of all 4 games and really pushed me to finalize my aesthetic of my website. It was also the game I had most fun with when play-testing with my family. Furthermore it was not a game I had drafted in my prior failed attempt of this project so I had no codebase to fall back on. What was challenging? I was shocked by how long it took me to formulate a design style for the website that consistently looks well formatted and neat. Creating this neo-brutalist inspired style was much harder than expected and I feel as though a few pages could still use some improvement. Feedback on the design and game flow of the website would be greatly appreciated by reviewers. Another thing that took most of my brainpower was figuring out the JavaScript. Unlike my CSS, it had no globalized file. Reviewers, if you are reading this, please let me know if there are better programming languages, libraries or software that are more appropriate for making a project like this. I would love to further improve my programming skills and spend less time correcting mistakes due to my inefficiencies. What should people know so you can test your project? This is a purely frontend website, so just click the “Try Project” button to explore the site. I would recommend trying to playtest a game with nearby friends or relatives if possible. If you want a quick overview of my development process, just read the initial section and bolded text of the longer devlogs. They kinda serve as a TL;DR of the project’s progress.", "repo": "https://github.com/ReuTheCoder/pass-n-play", "demo": "https://reuthecoder.github.io/pass-n-play/"}]...
|
[{"post_id": 75698, "ts": "202 [{"post_id": 75698, "ts": "2026-09-30T19:43:57Z", "hours": 1.5586, "text": "Devlog #09 I got some spare time to work today, so I thought I would add a few tiny features to elevate the Pass n’ Play experience. I think this project is ready to ship; each game is fully playable and I think now is a good time where feedback can help me greatly improve each game so it provides the best experience possible! Completed Work: Parties With a lot of assistance from AI (when figuring out how to properly get my localStorage function working), I have incorporated a new “Party” system into each game! It allows a group to save all of their names as a “Party” to their device so that they can quickly fill in every player’s name upon loading a new game. The new system supports up to 8 parties, which can each be given a unique name. Aside from making it easier to switch games, because of its localStorage usage, if the same group of friends regularly use my website, they can skip the step of inputting their names every time they decide to play. This idea was inspired by a similar feature I saw on an app (I can’t find its name) that was very similar to Imposter Who . Right now, the system is built into each game’s game setup screen, but I am considering moving it to the home screen so that each game screen is a bit more clean. If you are a reviewer reading this, let me know if the “Party” system gets in the way. Completed Work: Round Timer I also added the option for a round timer to the Imposter game. It was relatively simple as I just had to move around the timer code I used for Signal Jam. The CSS was moved to my global CSS file and I copied over and adjusted the HTML and JS. While I was at it, I made a few more polishes, such as adding a custom designed scroll bar . Next Steps: I am going to ship the project today. I already have my README drafted, I just need to make a few edits. I am not done with this project. I’m going to wait and see what feedback I get, but some plans I have for the future are making a globalized JavaScript file, adding a custom word/prompt bank feature to most games, adding more prompts to each game, adding more party games that can be played on one screen and adding a filter and sort system to the homepage. Thanks for reading!"}, {"post_id": 74701, "ts": "2026-09-28T01:09:48Z", "hours": 7.2839, "text": "Devlog #08 Development has really slowed down now that I am entering the thick of it at school. Regardless, over the past two weekends, I finished Signal Jam and started the fourth (and final) game before shipping, The Outsider! Completed Work: Signal Jam Finishing this up was quick and smooth. I don’t remember exactly how long it took, but it was fast enough that I decided to wait until completing the idea I had sitting in the back of my mind (The Outsider) before posting another devlog. I reused the Results screen code from the previous games, tweaked the content to be specific to the game, and added a few extra if statements since this game has more win conditions. After playtesting, I made some small polish changes and committed everything. Completed Work: The Outsider This game’s flow was inspired by Chameleon. I went in expecting it to make a quick reskin of Imposter with a new word grid feature, but building that grid took more time than planned. Getting the grid to look good on both mobile and desktop was tricky. I eventually decided to lock mobile players into landscape mode so the grid would have more space and be easier to see when everyone’s looking at the same screen. Then, I had to figure out wrapping and line break issues to ensure the words were consistently displayed neatly. One technical highlight I would like to share is that, originally, I thought about storing the selected word index using a data-selected-index attribute on the grid container, but since attributes only store strings, handling 0 (the first cell index) would have required extra checks to avoid false negatives. Instead, I used a closure variable ( selectedIndex ) inside the function that built the word grid. This clean solution enables it to reset automatically each time the grid renders, which also clears the previous selection. Next Steps: The project is basically ready to ship! I’ll make one more devlog to add some localStorage features and wrap things up before release. Thanks for reading!"}, {"post_id": 67455, "ts": "2026-09-13T15:45:07Z", "hours": 9.9003, "text": "Devlog #07 The CSS Revamp is complete and the third game for Pass n’ Play is in development. After this devlog, I’m going to make sure I post more frequent devlogs. I keep procrastinating… Completed Work: Finished Polishing Website After the last devlog, I spent 4 more hours finishing up the CSS and the Imposter Game. The second installment to Pass n’ Play is now fully functional, with 156 different words to play with. It is also fully polished to a level I am ready to present, both in game flow and aesthetics. I think one thing that made this process longer than I had initially thought it would be is the fact many minute details needed adjustments throughout all my code. Since I had copied over the secret saboteur code for the imposter game before changing up the UI, I had to ensure I properly transferred the new style changes I made to the HTML and JS of the imposter game (since only my css is globalized). I finally think I have locked in the style that I would like to use for this website and that my code is a lot more organized than before. This should hopefully make development quicker in the future. Completed Work: New Game Also continuing from my last devlog, I have begun working on the third party game for Pass n’ Play: Signal Jam. Its fundamental gameplay is similar to the classic 20 Questions, however it has specialized roles which I believe create interesting dynamics and increase the fun. The game flow was inspired by another party game called Werewords. So far I have my game information, game setup, main discussion and voting screens done. It currently has 75 unique words as game prompts. I’m finding it a bit hard to add additional insightful details because I am basically repeating the process I had to make the Imposter. So, I’m going to describe how I have refined my process to work a bit faster than with the Imposter game. I first made the Game Information page so I have all the rules established. Each game is its own file that keeps all files specific to the game within it. So in order to write the game information I copied the Secret Saboteur info.html and edited the content to explain the rules for Signal Jam. This page has no JavaScript and was already linked to my generalized info.css file, so I did not have to do anything else. After that, I started building the game in sections, starting with all the code I would need up to the discussion screen. For the HTML, I would copy over individual blocks of code I knew I could reuse (often editing them to fit the language of the new game), note what new components I needed, and research how I could add it to the game. For instance, this game has a round timer, which no other game had, so I had to add a few new HTML and JS elements. Also, to keep things organized, instead of adding more stuff to the main game.css file, I used a separate style.css page. Once everything was polished to a level I was happy with, I started on the next chunk of my game. I continued this process until the game was completed. This was much better than what I did before for the Imposter game where I basically duplicated all the code for Secret Saboteur and then scoured through it to see what I needed to change and remove. Next Steps: I primarily need to complete the game (which is almost done, I just need to make the Results Screen!) Afterwards, I want to add a custom word bank feature to the game that saves with localStorage and an option to add a round timer to the discussion screen. Finally, I got to think of one more game to add before I ship. Thanks for reading!"}, {"post_id": 63127, "ts": "2026-09-06T19:12:46Z", "hours": 10.0089, "text": "Devlog #06 It certainly has been a while since my last devlog! I paused development for a few weeks in order to finish another website idea I had been working on. I honestly then procrastinated on working on this again once I realized I had to readjust and familiarize myself to the inner workings of my old code. It was definitely more disorganised than I had remembered leaving it. When I did eventually start, school was also beginning, so I have only been able to work on it in small intervals throughout the week. This slow development, combined with the roadblocks I stumbled upon (as described below) made the past 10 hours of development time come quite unexpectedly. Completed Work: Imposter Game Functionality As I said in the last devlog, I would begin to work on my second game: Imposter. I got the HTML done relatively quickly. I would say about half of my time was spent finishing the game logic for my Imposter game, which is now fully functional. It honestly took longer than I thought because my code for Secret Saboteur did not translate as smoothly as I thought it would to the imposter game. Directly copy-pasting the Secret Saboteur code for the Imposter game led to a few errors, and I spent a lot of time combing through the imposter code to figure out what needed to be changed or removed from the secret saboteur code. I definitely need to figure out a better approach for adding new games. Fortunately, I have been able to implement Secret Sabouter’s CSS without many issues. Completed Work: Design Revamp As I was working on Imposter, I had been brainstorming ways to improve the UI and had settled on a few ideas. So before polishing the CSS for the Imposter game, I decided to revamp and finalize the UI for the secret saboteur game. With my old design, I felt as though everything was competing for attention. I think I used the card style way too often, which did not bring much diversity to the design and made organization a bit fuzzy. With my new design changes, I believe my design now has more breathing room and utilizes each game’s accent colors more directly. I also tried to make my shadow sizes, border radii and spacing a bit more consistent. Instead of using emojis, I have been trying to complete SVG icons. I sourced them from Lucide’s Lucide and Bootstrap’s icon libraries. This definitely took up most of my time. Completing this took a lot longer than I was expecting. I think one reason time flew by so quickly is because when I first tried to change up my design, I messed up a lot of things. Midway through the process, I was questioning if doing this was a mistake, because I had ruined the look of Secret Saboteur and caused its game flow to stop working due to inconsistently changing a few class names. If I had to do this again, I would take note of exactly what I changed so I can easily work through errors and debugging. I also found that as I was redoing my design, I ended up cleaning up a bit of my Javascript and CSS in the process. There was quite a bit of code from abandoned ideas still hanging around. Next Steps: I would not say the Imposter Game or the design changes are completely done. Those 10 hours snuck up on me; I think I need to spend a bit more time getting each of my games the level of polish I would like. However, I don;t think it will take too long, as I am really close to finishing this “polishing” process. After that, I’m going to try and add two more games before making my first ship. You’ll have to wait until the next devlog to see what party game I add next. By the way, feel free to suggest any games and I’ll try to see if I can add them. Thanks for reading! - 2026/09/06"}, {"post_id": 42324, "ts": "2026-08-07T00:19:28Z", "hours": 6.3547, "text": "Devlog #05 The first Pass n’ Play game is now fully playable and polished! The core functionality was finished shortly after posting the last devlog (about 3.5 hours of coding in), but the real work happened afterward. In order to make the game feel more polished and actually part of the Pass n’ Play design system I had to tighten the layout, fix hierarchy inconsistencies, and clean up the UI. Completed Work: Javascript Right after posting the last devlog, I realized I had completely forgotten to implement the Guesser role. Once I added it, I noticed I had accidentally configured the game so the first player always became the guesser. This meant rewriting a section of my assignRoles() function so roles actually randomize correctly. After that, I finished the Javascript for both the guessing screen and the results screen. The biggest friction point was the saboteur button layout. I originally formatted them in a column, but switching to rows made the spacing and logic behave properly. The longest debugging issue came from something small. I had removed a header from the info popup in my HTML, but forgot to delete the Javascript function that controlled it. This “ghost” function caused a whole section of my script to stop working, and I kept thinking I had broken other functions. Once I finally noticed and removed the unused function, everything went back to normal. Completed Work: CSS Once the game was functional, I felt the CSS still looked unpolished. The text inside <main> did not feel like part of the same physical UI system as the buttons and headers. I rebuilt these text blocks into proper card badges so they look like real components instead of raw HTML. I also inverted the text hierarchy for the game header, removed redundant labels, and cleaned up the popup by removing the extra close anchor and header (which caused the Javascript issue mentioned earlier). I also spent time making sure the design would translate well to mobile. With some research and AI help (which only confirmed formatting issues and did not write code), I updated my layout so everything uses a unified 600px max‑width. This prevents the header from overflowing on smaller screens and makes the whole app feel like a cohesive handheld interface. The button grids now collapse into balanced two‑column stacks on narrow displays. While doing this, I adjusted a few element styles, reorganized the setup elements into a clean vertical column grid, and grouped Play Again and New Game into a structural wrapper so their spacing is predictable. Overall, making the spacing and alignment more intentional helped the entire interface feel more cohesive. Next Steps I am now starting work on Pass n’ Play’s second game: Imposter, based on the “Imposter Who?” party game that was popular earlier this year. I am also still unhappy with how the Game Setup screen looks, so I will probably adjust it soon. Any advice on improving the design would be greatly appreciated. Thanks for reading! - 2026/08/06"}, {"post_id": 41139, "ts": "2026-08-05T04:50:09Z", "hours": 8.1986, "text": "Devlog #04 I have almost finished the first party game for Play n’ Play the past few days. I completed almost all of the game CSS, did most of the JavaScript and made some additional edits and fixes. For instance, after reviewing the HTML my sleep deprived mind wrote last devlog I realized I had copied the old game layout a bit too closely to my liking; including parts I specifically wanted to improve. With a clearer head the next morning, I redesigned the setup screen. One change I made, for instance, replaced the bulky button grid with compact quantity selectors for choosing the player and saboteur count. It was at this moment I realized I should go back into my planning doc and finalize my notes on game logic. Some of the mechanics I originally wrote down didn’t match the flow I wanted anymore, so I rewrote those sections and made sure the updated logic was reflected in my JavaScript structure. This redesign also helped me clarify how players move through the game (especially the setup and guessing phases) which made the later coding steps feel more intentional. JavaScript Progress I said in the last devlog that I would update once the JavaScript was finished, but my logged time was approaching the 10‑hour cap, so I wanted to post earlier to be safe. Right now, the JS is fully implemented up to the guessing screen, which puts me at roughly 3/5 of the game logic completed. My workflow looked like this: I explained my game logic to an AI (ChatGPT) and asked it to describe the functions I would need, just to outline their purpose (it did not write the actual code for me). With those descriptions and my own research, I drafted the most of JS file in commented sections like game setup , discussion , and event listeners . You can even see these comments in the JS screenshot. After that, I wrote the actual functions myself, discovering how each piece worked as I went. I should also note I used AI for some tedious tasks, like checking the game’s 105 discussion prompts (most of which I derived from the oold game version) for duplicates or adjusting ones that weren’t broad enough for a general audience. Completing CSS Even though I started with JavaScript, I eventually drifted into CSS (partly because I wanted a break, and partly because I wasn’t sure how clean my HTML structure was). I swapped back and forth between working on JS and CSS until I accidentally completed most of the styling. Implementing the CSS helped me see where I needed more classes or where the markup was missing hooks for interactivity. For instance, writing the CSS made it easy to envision and test how the progression button would look when disabled or enabled (depending on if all the required information on the game setup screen was complete). I’m hoping developing future games for this project will go faster now that I’m more familiar with this workflow. Additional Reflections Working on this project has taught me a lot about VSCode shortcuts I didn’t know before; small things that make typing and navigating code much faster. Learning JavaScript has definitely harder for me than learning HTML and CSS, but I’ve noticed some similarities to C++, which I’ve used for past hardware projects. That familiarity makes the learning curve feel a bit less steep. As for the website design… something still feels slightly “off.” I can’t pinpoint it yet, but I think the aesthetic could be improved. If you have suggestions, I would greatly appreciate feedback in the comments. Next Steps My plan is to finish the JavaScript completely, then polish everything afterward and commit my updates to GitHub. If all goes well, the next devlog will cover the finished, playable version of Secret Saboteur. Thanks for reading! — 2026/08/04"}, {"post_id": 39198, "ts": "2026-08-02T00:06:21Z", "hours": 3.3308, "text": "Devlog #03 Built the main HTML structure for Secret Saboteur (my first game) today . I was able to speed my planning process up by referencing the layout I had set up in my previous draft, making sure to not directly copy my old code. I may add a few more additional components as I work on the JS and CSS later on. I found that writing a big block of HTML at once makes it a lot harder to find typos, which I often made. Another thing I spent a lot of time on was cleaning my HTML structure so adding JavaScript later won’t turn into a mess. The hardest part was preparing the markup for JavaScript. I’m used to only setting things up for CSS, but after researching JS (and getting debugging hints from AI), I realized I needed to specify waayyy more classes than usual. Now that the foundation is finally in place, my next step will be making the game actually functionable by bringing it to life with JavaScript. Thanks for reading! - 2026/08/01"}, {"post_id": 38537, "ts": "2026-08-01T00:04:57Z", "hours": 1.8419, "text": "Devlog #02 Added consistent styling to both game instruction pages. I styled the instructions for the first game, Secret Saboteur, on my site and added a new instructions page for another game - Imposter (based on Imposter Who? ). I reused the homepage’s layout and visual identity, but the fun part was making the accent colors fully customizable. By turning the accent colors into CSS variables, I could swap themes right from the HTML without touching the stylesheet! I think this small change made the site feel cohesive while keeping customization effortless. It’s satisfying seeing design consistency emerge from my use of variables and general coding structure. Thanks for reading! - 2026/07/29-30"}, {"post_id": 37429, "ts": "2026-07-30T04:50:17Z", "hours": 3.1317, "text": "Devlog #01 Today, I worked on making and styling the homepage. I also drafted the info page for one of my games, Secret Saboteur, in html. The hardest part today was trying to organize my code so that I could easily add more games in the future. Much time was spent fixing a few syntax errors I made that broke my CSS design. Pass n’ Play will be a website that hosts multiple party games that can all be played on one device (preferably a phone). It will be great for times when a group of friends want to play a game but have no board or card games handy. It avoids the issue of playing over a poor connection or not everyone having their own device, which many online multiplayer games have. Project Inspiration During school at lunch, my friends and I used to play Imposter Who? at lunch. However, we eventually got bored of the categories and didn’t want to pay for the expanded word banks. This made me wonder if I could code my own version of the game that had its own categories - which led me to create a quite scrappy version, heavily influenced with AI and super disorganized (the whole game crammed into a single, 2375 lined, html file). I also started to add a super buggy version of Secret Saboteur , based on a Smosh Games video I had recently watched. So I decided that I would reattempt making those games from scratch for the Stardance challenge. This time, much more organized and with no AI. The only thing I will be borrowing from the previous version is some word banks I made. Completed Work In my previous version, the instructions were cramped onto one screen and honestly were not that clear, so I gave each game a dedicated info screen in the new remake. Additionally, the games did not really have an identity of their own. The CSS was pretty basic (the only other color was cyan). The new design draws partial inspiration from Nintendo and heavily from neo‑brutalism web design. A guide I found on Medium I read that really helped me capture the aesthetic. Each game will share the same overall style but have its own emoji and accent color, giving it a distinct identity while keeping the ecosystem cohesive. Next Steps The next devlog will probably be when I finish styling the info page for Secret Sabotuer, which will be the first game I will make functional. I’m also compiling a list of party games that work well on one device. So far I’m planning to include Chameleon and my own game, Role Roulette. If you have any suggestions for fun one‑screen party games, I’d love to hear them! Thanks for reading! - 2026/07/29"}]...
|
Title: Pass n’ Play by @ReuTheNetizen | Stardance
Title: Pass n’ Play by @ReuTheNetizen | Stardance
Devlogs:
Devlog #01 Today, I worked on making and styling the homepage. I also drafted the info page for one of my games, Secret Saboteur, in html. The hardest part today was trying to organize my code so that I could easily add more games in the future. Much time was spent fixing a few syntax errors I made that broke my CSS design. Pass n’ Play will be a website that hosts multiple party games that can all be played on one device (preferably a phone). It will be great for times when a group of friends want to play a game but have no board or card games handy. It avoids the issue of playing over a poor connection or not everyone having their own device, which many online multiplayer games have. Project Inspiration During school at lunch, my friends and I used to play Imposter Who? at lunch. However, we eventually got bored of the categories and didn’t want to pay for the expanded word banks. This made me wonder if I could code my own version of the game that had its own categories - which led me to create a quite scrappy version, heavily influenced with AI and super disorganized (the whole game crammed into a single, 2375 lined, html file). I also started to add a super buggy version of Secret Saboteur , based on a Smosh Games video I had recently watched. So I decided that I would reattempt making those games from scratch for the Stardance challenge. This time, much more organized and with no AI. The only thing I will be borrowing from the previous version is some word banks I made. Completed Work In my previous version, the instructions were cramped onto one screen and honestly were not that clear, so I gave each game a dedicated info screen in the new remake. Additionally, the games did not really have an identity of their own. The CSS was pretty basic (the only other color was cyan). The new design draws partial inspiration from Nintendo and heavily from neo‑brutalism web design. A guide I found on Medium I read that really helped me capture the aesthetic. Each game will share the same overall style but have its own emoji and accent color, giving it a distinct identity while keeping the ecosystem cohesive. Next Steps The next devlog will probably be when I finish styling the info page for Secret Sabotuer, which will be the first game I will make functional. I’m also compiling a list of party games that work well on one device. So far I’m planning to include Chameleon and my own game, Role Roulette. If you have any suggestions for fun one‑screen party games, I’d love to hear them! Thanks for reading! - 2026/07/29
Devlog #02 Added consistent styling to both game instruction pages. I styled the instructions for the first game, Secret Saboteur, on my site and added a new instructions page for another game - Imposter (based on Imposter Who? ). I reused the homepage’s layout and visual identity, but the fun part was making the accent colors fully customizable. By turning the accent colors into CSS variables, I could swap themes right from the HTML without touching the stylesheet! I think this small change made the site feel cohesive while keeping customization effortless. It’s satisfying seeing design consistency emerge from my use of variables and general coding structure. Thanks for reading! - 2026/07/29-30
Devlog #03 Built the main HTML structure for Secret Saboteur (my first game) today . I was able to speed my planning process up by referencing the layout I had set up in my previous draft, making sure to not directly copy my old code. I may add a few more additional components as I work on the JS and CSS later on. I found that writing a big block of HTML at once makes it a lot harder to find typos, which I often made. Another thing I spent a lot of time on was cleaning my HTML structure so adding JavaScript later won’t turn into a mess. The hardest part was preparing the markup for JavaScript. I’m used to only setting things up for CSS, but after researching JS (and getting debugging hints from AI), I realized I needed to specify waayyy more classes than usual. Now that the foundation is finally in place, my next step will be making the game actually functionable by bringing it to life with JavaScript. Thanks for reading! - 2026/08/01
Devlog #04 I have almost finished the first party game for Play n’ Play the past few days. I completed almost all of the game CSS, did most of the JavaScript and made some additional edits and fixes. For instance, after reviewing the HTML my sleep deprived mind wrote last devlog I realized I had copied the old game layout a bit too closely to my liking; including parts I specifically wanted to improve. With a clearer head the next morning, I redesigned the setup screen. One change I made, for instance, replaced the bulky button grid with compact quantity selectors for choosing the player and saboteur count. It was at this moment I realized I should go back into my planning doc and finalize my notes on game logic. Some of the mechanics I originally wrote down didn’t match the flow I wanted anymore, so I rewrote those sections and made sure the updated logic was reflected in my JavaScript structure. This redesign also helped me clarify how players move through the game (especially the setup and guessing phases) which made the later coding steps feel more intentional. JavaScript Progress I said in the last devlog that I would update once the JavaScript was finished, but my logged time was approaching the 10‑hour cap, so I wanted to post earlier to be safe. Right now, the JS is fully implemented up to the guessing screen, which puts me at roughly 3/5 of the game logic completed. My workflow looked like this: I explained my game logic to an AI (ChatGPT) and asked it to describe the functions I would need, just to outline their purpose (it did not write the actual code for me). With those descriptions and my own research, I drafted the most of JS file in commented sections like game setup , discussion , and event listeners . You can even see these comments in the JS screenshot. After that, I wrote the actual functions myself, discovering how each piece worked as I went. I should also note I used AI for some tedious tasks, like checking the game’s 105 discussion prompts (most of which I derived from the oold game version) for duplicates or adjusting ones that weren’t broad enough for a general audience. Completing CSS Even though I started with JavaScript, I eventually drifted into CSS (partly because I wanted a break, and partly because I wasn’t sure how clean my HTML structure was). I swapped back and forth between working on JS and CSS until I accidentally completed most of the styling. Implementing the CSS helped me see where I needed more classes or where the markup was missing hooks for interactivity. For instance, writing the CSS made it easy to envision and test how the progression button would look when disabled or enabled (depending on if all the required information on the game setup screen was complete). I’m hoping developing future games for this project will go faster now that I’m more familiar with this workflow. Additional Reflections Working on this project has taught me a lot about VSCode shortcuts I didn’t know before; small things that make typing and navigating code much faster. Learning JavaScript has definitely harder for me than learning HTML and CSS, but I’ve noticed some similarities to C++, which I’ve used for past hardware projects. That familiarity makes the learning curve feel a bit less steep. As for the website design… something still feels slightly “off.” I can’t pinpoint it yet, but I think the aesthetic could be improved. If you have suggestions, I would greatly appreciate feedback in the comments. Next Steps My plan is to finish the JavaScript completely, then polish everything afterward and commit my updates to GitHub. If all goes well, the next devlog will cover the finished, playable version of Secret Saboteur. Thanks for reading! — 2026/08/04
Devlog #05 The first Pass n’ Play game is now fully playable and polished! The core functionality was finished shortly after posting the last devlog (about 3.5 hours of coding in), but the real work happened afterward. In order to make the game feel more polished and actually part of the Pass n’ Play design system I had to tighten the layout, fix hierarchy inconsistencies, and clean up the UI. Completed Work: Javascript Right after posting the last devlog, I realized I had completely forgotten to implement the Guesser role. Once I added it, I noticed I had accidentally configured the game so the first player always became the guesser. This meant rewriting a section of my assignRoles() function so roles actually randomize correctly. After that, I finished the Javascript for both the guessing screen and the results screen. The biggest friction point was the saboteur button layout. I originally formatted them in a column, but switching to rows made the spacing and logic behave properly. The longest debugging issue came from something small. I had removed a header from the info popup in my HTML, but forgot to delete the Javascript function that controlled it. This “ghost” function caused a whole section of my script to stop working, and I kept thinking I had broken other functions. Once I finally noticed and removed the unused function, everything went back to normal. Completed Work: CSS Once the game was functional, I felt the CSS still looked unpolished. The text inside <main> did not feel like part of the same physical UI system as the buttons and headers. I rebuilt these text blocks into proper card badges so they look like real components instead of raw HTML. I also inverted the text hierarchy for the game header, removed redundant labels, and cleaned up the popup by removing the extra close anchor and header (which caused the Javascript issue mentioned earlier). I also spent time making sure the design would translate well to mobile. With some research and AI help (which only confirmed formatting issues and did not write code), I updated my layout so everything uses a unified 600px max‑width. This prevents the header from overflowing on smaller screens and makes the whole app feel like a cohesive handheld interface. The button grids now collapse into balanced two‑column stacks on narrow displays. While doing this, I adjusted a few element styles, reorganized the setup elements into a clean vertical column grid, and grouped Play Again and New Game into a structural wrapper so their spacing is predictable. Overall, making the spacing and alignment more intentional helped the entire interface feel more cohesive. Next Steps I am now starting work on Pass n’ Play’s second game: Imposter, based on the “Imposter Who?” party game that was popular earlier this year. I am also still unhappy with how the Game Setup screen looks, so I will probably adjust it soon. Any advice on improving the design would be greatly appreciated. Thanks for reading! - 2026/08/06
Devlog #06 It certainly has been a while since my last devlog! I paused development for a few weeks in order to finish another website idea I had been working on. I honestly then procrastinated on working on this again once I realized I had to readjust and familiarize myself to the inner workings of my old code. It was definitely more disorganised than I had remembered leaving it. When I did eventually start, school was also beginning, so I have only been able to work on it in small intervals throughout the week. This slow development, combined with the roadblocks I stumbled upon (as described below) made the past 10 hours of development time come quite unexpectedly. Completed Work: Imposter Game Functionality As I said in the last devlog, I would begin to work on my second game: Imposter. I got the HTML done relatively quickly. I would say about half of my time was spent finishing the game logic for my Imposter game, which is now fully functional. It honestly took longer than I thought because my code for Secret Saboteur did not translate as smoothly as I thought it would to the imposter game. Directly copy-pasting the Secret Saboteur code for the Imposter game led to a few errors, and I spent a lot of time combing through the imposter code to figure out what needed to be changed or removed from the secret saboteur code. I definitely need to figure out a better approach for adding new games. Fortunately, I have been able to implement Secret Sabouter’s CSS without many issues. Completed Work: Design Revamp As I was working on Imposter, I had been brainstorming ways to improve the UI and had settled on a few ideas. So before polishing the CSS for the Imposter game, I decided to revamp and finalize the UI for the secret saboteur game. With my old design, I felt as though everything was competing for attention. I think I used the card style way too often, which did not bring much diversity to the design and made organization a bit fuzzy. With my new design changes, I believe my design now has more breathing room and utilizes each game’s accent colors more directly. I also tried to make my shadow sizes, border radii and spacing a bit more consistent. Instead of using emojis, I have been trying to complete SVG icons. I sourced them from Lucide’s Lucide and Bootstrap’s icon libraries. This definitely took up most of my time. Completing this took a lot longer than I was expecting. I think one reason time flew by so quickly is because when I first tried to change up my design, I messed up a lot of things. Midway through the process, I was questioning if doing this was a mistake, because I had ruined the look of Secret Saboteur and caused its game flow to stop working due to inconsistently changing a few class names. If I had to do this again, I would take note of exactly what I changed so I can easily work through errors and debugging. I also found that as I was redoing my design, I ended up cleaning up a bit of my Javascript and CSS in the process. There was quite a bit of code from abandoned ideas still hanging around. Next Steps: I would not say the Imposter Game or the design changes are completely done. Those 10 hours snuck up on me; I think I need to spend a bit more time getting each of my games the level of polish I would like. However, I don;t think it will take too long, as I am really close to finishing this “polishing” process. After that, I’m going to try and add two more games before making my first ship. You’ll have to wait until the next devlog to see what party game I add next. By the way, feel free to suggest any games and I’ll try to see if I can add them. Thanks for reading! - 2026/09/06
Devlog #07 The CSS Revamp is complete and the third game for Pass n’ Play is in development. After this devlog, I’m going to make sure I post more frequent devlogs. I keep procrastinating… Completed Work: Finished Polishing Website After the last devlog, I spent 4 more hours finishing up the CSS and the Imposter Game. The second installment to Pass n’ Play is now fully functional, with 156 different words to play with. It is also fully polished to a level I am ready to present, both in game flow and aesthetics. I think one thing that made this process longer than I had initially thought it would be is the fact many minute details needed adjustments throughout all my code. Since I had copied over the secret saboteur code for the imposter game before changing up the UI, I had to ensure I properly transferred the new style changes I made to the HTML and JS of the imposter game (since only my css is globalized). I finally think I have locked in the style that I would like to use for this website and that my code is a lot more organized than before. This should hopefully make development quicker in the future. Completed Work: New Game Also continuing from my last devlog, I have begun working on the third party game for Pass n’ Play: Signal Jam. Its fundamental gameplay is similar to the classic 20 Questions, however it has specialized roles which I believe create interesting dynamics and increase the fun. The game flow was inspired by another party game called Werewords. So far I have my game information, game setup, main discussion and voting screens done. It currently has 75 unique words as game prompts. I’m finding it a bit hard to add additional insightful details because I am basically repeating the process I had to make the Imposter. So, I’m going to describe how I have refined my process to work a bit faster than with the Imposter game. I first made the Game Information page so I have all the rules established. Each game is its own file that keeps all files specific to the game within it. So in order to write the game information I copied the Secret Saboteur info.html and edited the content to explain the rules for Signal Jam. This page has no JavaScript and was already linked to my generalized info.css file, so I did not have to do anything else. After that, I started building the game in sections, starting with all the code I would need up to the discussion screen. For the HTML, I would copy over individual blocks of code I knew I could reuse (often editing them to fit the language of the new game), note what new components I needed, and research how I could add it to the game. For instance, this game has a round timer, which no other game had, so I had to add a few new HTML and JS elements. Also, to keep things organized, instead of adding more stuff to the main game.css file, I used a separate style.css page. Once everything was polished to a level I was happy with, I started on the next chunk of my game. I continued this process until the game was completed. This was much better than what I did before for the Imposter game where I basically duplicated all the code for Secret Saboteur and then scoured through it to see what I needed to change and remove. Next Steps: I primarily need to complete the game (which is almost done, I just need to make the Results Screen!) Afterwards, I want to add a custom word bank feature to the game that saves with localStorage and an option to add a round timer to the discussion screen. Finally, I got to think of one more game to add before I ship. Thanks for reading!
Devlog #08 Development has really slowed down now that I am entering the thick of it at school. Regardless, over the past two weekends, I finished Signal Jam and started the fourth (and final) game before shipping, The Outsider! Completed Work: Signal Jam Finishing this up was quick and smooth. I don’t remember exactly how long it took, but it was fast enough that I decided to wait until completing the idea I had sitting in the back of my mind (The Outsider) before posting another devlog. I reused the Results screen code from the previous games, tweaked the content to be specific to the game, and added a few extra if statements since this game has more win conditions. After playtesting, I made some small polish changes and committed everything. Completed Work: The Outsider This game’s flow was inspired by Chameleon. I went in expecting it to make a quick reskin of Imposter with a new word grid feature, but building that grid took more time than planned. Getting the grid to look good on both mobile and desktop was tricky. I eventually decided to lock mobile players into landscape mode so the grid would have more space and be easier to see when everyone’s looking at the same screen. Then, I had to figure out wrapping and line break issues to ensure the words were consistently displayed neatly. One technical highlight I would like to share is that, originally, I thought about storing the selected word index using a data-selected-index attribute on the grid container, but since attributes only store strings, handling 0 (the first cell index) would have required extra checks to avoid false negatives. Instead, I used a closure variable ( selectedIndex ) inside the function that built the word grid. This clean solution enables it to reset automatically each time the grid renders, which also clears the previous selection. Next Steps: The project is basically ready to ship! I’ll make one more devlog to add some localStorage features and wrap things up before release. Thanks for reading!
Devlog #09 I got some spare time to work today, so I thought I would add a few tiny features to elevate the Pass n’ Play experience. I think this project is ready to ship; each game is fully playable and I think now is a good time where feedback can help me greatly improve each game so it provides the best experience possible! Completed Work: Parties With a lot of assistance from AI (when figuring out how to properly get my localStorage function working), I have incorporated a new “Party” system into each game! It allows a group to save all of their names as a “Party” to their device so that they can quickly fill in every player’s name upon loading a new game. The new system supports up to 8 parties, which can each be given a unique name. Aside from making it easier to switch games, because of its localStorage usage, if the same group of friends regularly use my website, they can skip the step of inputting their names every time they decide to play. This idea was inspired by a similar feature I saw on an app (I can’t find its name) that was very similar to Imposter Who . Right now, the system is built into each game’s game setup screen, but I am considering moving it to the home screen so that each game screen is a bit more clean. If you are a reviewer reading this, let me know if the “Party” system gets in the way. Completed Work: Round Timer I also added the option for a round timer to the Imposter game. It was relatively simple as I just had to move around the timer code I used for Signal Jam. The CSS was moved to my global CSS file and I copied over and adjusted the HTML and JS. While I was at it, I made a few more polishes, such as adding a custom designed scroll bar . Next Steps: I am going to ship the project today. I already have my README drafted, I just need to make a few edits. I am not done with this project. I’m going to wait and see what feedback I get, but some plans I have for the future are making a globalized JavaScript file, adding a custom word/prompt bank feature to most games, adding more prompts to each game, adding more party games that can be played on one screen and adding a filter and sort system to the homepage. Thanks for reading!
Ships:
What did you make? Pass n’ Play is a website that serves as a party game hub for all ages in which a group can play 4 unique social deduction games by passing a single device around the table. The site is inspired by a neo-brutalist design, caters towards mobile devices, and is meant to look more like an app than a standard website. What are you proud of? I am most proud of the third game I made, Signal Jam. It has the most unique features out of all 4 games and really pushed me to finalize my aesthetic of my website. It was also the game I had most fun with when play-testing with my family. Furthermore it was not a game I had drafted in my prior failed attempt of this project so I had no codebase to fall back on. What was challenging? I was shocked by how long it took me to formulate a design style for the website that consistently looks well formatted and neat. Creating this neo-brutalist inspired style was much harder than expected and I feel as though a few pages could still use some improvement. Feedback on the design and game flow of the website would be greatly appreciated by reviewers. Another thing that took most of my brainpower was figuring out the JavaScript. Unlike my CSS, it had no globalized file. Reviewers, if you are reading this, please let me know if there are better programming languages, libraries or software that are more appropriate for making a project like this. I would love to further improve my programming skills and spend less time correcting mistakes due to my inefficiencies. What should people know so you can test your project? This is a purely frontend website, so just click the “Try Project” button to explore the site. I would recommend trying to playtest a game with nearby friends or relatives if possible. If you want a quick overview of my development process, just read the initial section and bolded text of the longer devlogs. They kinda serve as a TL;DR of the project’s progress....
|
1793004814.5147586
|
1793091214.5147586
|
|
56871
|
Sentinel by @kaveeshkrishna | Stardance
|
kaveeshkrishna
|
1
|
51.86
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T19:41:59Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Sentinel , a self-hosted AI infrastructure engineer for a Linux server. Sentinel continuously monitors a server, detects incidents such as crashed containers, stopped services, high memory usage, and high load, then follows an Observe → Diagnose → Plan → Act → Verify loop. It can investigate the problem, propose an exact fix, wait for my approval, execute the fix through a restricted root agent, and then verify that the problem actually recovered. The most challenging part was making the AI useful without giving it a shell . Sentinel is split into two privilege boundaries: the main web application has no server access, while a separate root agent exposes only 27 named tools with fixed risk levels. Every action is checked again by the agent, and anything that changes the server requires approval. There is deliberately no arbitrary command execution. I’m especially proud that this is not just an AI demo. It is a real, production-running system with a live dashboard, incident history, deployments and rollbacks, container/service management, Discord/Slack approval, Ask Sentinel for natural-language read-only diagnostics, encrypted API keys, an installer, CLI, database migrations, and tests that guard against shell execution. It runs in under 120 MB RAM, uses under 2% CPU while idle, and starts in under 2 seconds. To test it: open the demo URL, explore the dashboard, incidents, and Ask Sentinel interface. The demo is designed so it can be explored without access to my actual server. For the full project, the source code and setup instructions are available in the public repository. The biggest idea behind Sentinel is simple: AI should be able to help operate real infrastructure without being handed unrestricted control of it.", "repo": "https://github.com/KaveeshKrishna/sentinel", "demo": "https://sentineldemo.kaveeshkrishna.in"}]...
|
[{"post_id": 64352, "ts": "202 [{"post_id": 64352, "ts": "2026-09-08T17:31:50Z", "hours": 8.9403, "text": "DEVLOG_11: Ok, so this is probably the last devlog before my second and potentially final ship of Sentinel. I pushed myself today to fix all the remaining bugs and to add a few more important feature. I am tired working on Sentinel now so I’m now gonna take break from this project and move to a new one :] Here is everything updated: Bug fixes: Any additional storage devices connected to the server other than the primary one was not getting detected. Ask sentinel chat was getting randomly freezed with no way of knowing what exactly is wrong (now it shows proper error msg). New features: Added options to stop and restart docker containers via sentinel itself. Recordings now also records the Disk Growth during the recording time period. Auto Remediation setting now lists all the important services running on the vps automatically to choose from."}, {"post_id": 64052, "ts": "2026-09-08T05:42:06Z", "hours": 6.6056, "text": "DEVLOG_10: The deployments page now allows you to pull any new git pushes using Sentinel itself and you can also see logs for each deployment. I have also added some new info to the networks page like individual data of all the different network interfaces your vps is connected to like LAN or WIFI. It now also shows the number of SSH connections live at the moment :]"}, {"post_id": 63682, "ts": "2026-09-07T16:45:15Z", "hours": 3.7558, "text": "DEVLOG_9: In this update I have added restart and start/stop buttons to the services which are identified and listed in the Sentinel’s Services page. So now you can use Sentinel to also stop or restart all the services running on your server like caddy, docker etc. Also now Ask Sentinel chat remembers the chat context, so you can ask follow up questions and the AI will know where we left the chat :]"}, {"post_id": 63326, "ts": "2026-09-07T02:55:15Z", "hours": 5.5344, "text": "DEVLOG_8: Ok now I have also added a setting to manually set allowed paths in which Sentinel can look into and see files in order to give you more personalized responses in Ask Sentinel chat bot, any folder path not selected here won’t be accessed by Sentinel. Also I have added support for Slack Webhook and also any other generic Webhook. Previously it only supported Discord Webhook for notifications. :]"}, {"post_id": 63019, "ts": "2026-09-06T16:13:01Z", "hours": 2.2011, "text": "DEVLOG_7: In the activity page previously it was showing all the activities infinitely. I have now added a limit of top 50 activities anything above that will automatically be deleted. Also fixed the bug in the recordings page in which downloading the data as csv file was not working properly and all of the recorded data was not getting captured in the file :]"}, {"post_id": 62786, "ts": "2026-09-06T09:37:36Z", "hours": 1.3344, "text": "DEVLOG_6: Now the auto incident detection also keeps track of the previous ways of fixing the problem. So now if the same problem arises again instead of again consuming AI tokens, it will try using the previously used method to solve it :]"}, {"post_id": 62660, "ts": "2026-09-06T04:09:36Z", "hours": 5.4933, "text": "DEVLOG_5: Fixed a few errors in the Sentinel Health page, now it properly shows the number of tokens used by all the AI APIs added. also in the settings page now you can rearrange the usage priority of different AI models you have added :]"}, {"post_id": 61728, "ts": "2026-09-04T19:29:39Z", "hours": 9.9158, "text": "DEVLOG_4: Added Ask Sentinel and Incident tracking feature. along with a lot of other micro features. The way Incident tracking works is quite smart: the backend services (very lightweight) actively searches for any kind of error affecting the VPS. It then loges an incident and sends me a msg via discord webhook. I can approve the incident and then Sentinel will collect information like what as the problem the possible areas affected and stuff like that and after the report is compiled it is sent to the AI model of your choice which then generates an AI diagnosis and a list of process to fix the problem."}, {"post_id": 59357, "ts": "2026-09-01T03:15:00Z", "hours": 3.02, "text": "DEVLOG_3: Added this specific hardware stats page where the real time data related to the CPU and Memory is displayed."}, {"post_id": 59285, "ts": "2026-09-01T00:10:52Z", "hours": 4.0578, "text": "DEVLOG_2: Initially Sentinel was just a view only dashboard to see some stats of my VPS, but now I am working on a AI chat system as well called “Ask Sentinel”"}, {"post_id": 59118, "ts": "2026-08-31T19:03:22Z", "hours": 0.7739, "text": "DEVLOG_1: I recently made a home server using my 7 year old laptop!! And now I am planning to develop an AI assisted dashboard for it which will help me manage my server remotely. Any suggestions will be appreciated :]"}]...
|
Title: Sentinel by @kaveeshkrishna | Stardance
De Title: Sentinel by @kaveeshkrishna | Stardance
Devlogs:
DEVLOG_1: I recently made a home server using my 7 year old laptop!! And now I am planning to develop an AI assisted dashboard for it which will help me manage my server remotely. Any suggestions will be appreciated :]
DEVLOG_2: Initially Sentinel was just a view only dashboard to see some stats of my VPS, but now I am working on a AI chat system as well called “Ask Sentinel”
DEVLOG_3: Added this specific hardware stats page where the real time data related to the CPU and Memory is displayed.
DEVLOG_4: Added Ask Sentinel and Incident tracking feature. along with a lot of other micro features. The way Incident tracking works is quite smart: the backend services (very lightweight) actively searches for any kind of error affecting the VPS. It then loges an incident and sends me a msg via discord webhook. I can approve the incident and then Sentinel will collect information like what as the problem the possible areas affected and stuff like that and after the report is compiled it is sent to the AI model of your choice which then generates an AI diagnosis and a list of process to fix the problem.
DEVLOG_5: Fixed a few errors in the Sentinel Health page, now it properly shows the number of tokens used by all the AI APIs added. also in the settings page now you can rearrange the usage priority of different AI models you have added :]
DEVLOG_6: Now the auto incident detection also keeps track of the previous ways of fixing the problem. So now if the same problem arises again instead of again consuming AI tokens, it will try using the previously used method to solve it :]
DEVLOG_7: In the activity page previously it was showing all the activities infinitely. I have now added a limit of top 50 activities anything above that will automatically be deleted. Also fixed the bug in the recordings page in which downloading the data as csv file was not working properly and all of the recorded data was not getting captured in the file :]
DEVLOG_8: Ok now I have also added a setting to manually set allowed paths in which Sentinel can look into and see files in order to give you more personalized responses in Ask Sentinel chat bot, any folder path not selected here won’t be accessed by Sentinel. Also I have added support for Slack Webhook and also any other generic Webhook. Previously it only supported Discord Webhook for notifications. :]
DEVLOG_9: In this update I have added restart and start/stop buttons to the services which are identified and listed in the Sentinel’s Services page. So now you can use Sentinel to also stop or restart all the services running on your server like caddy, docker etc. Also now Ask Sentinel chat remembers the chat context, so you can ask follow up questions and the AI will know where we left the chat :]
DEVLOG_10: The deployments page now allows you to pull any new git pushes using Sentinel itself and you can also see logs for each deployment. I have also added some new info to the networks page like individual data of all the different network interfaces your vps is connected to like LAN or WIFI. It now also shows the number of SSH connections live at the moment :]
DEVLOG_11: Ok, so this is probably the last devlog before my second and potentially final ship of Sentinel. I pushed myself today to fix all the remaining bugs and to add a few more important feature. I am tired working on Sentinel now so I’m now gonna take break from this project and move to a new one :] Here is everything updated: Bug fixes: Any additional storage devices connected to the server other than the primary one was not getting detected. Ask sentinel chat was getting randomly freezed with no way of knowing what exactly is wrong (now it shows proper error msg). New features: Added options to stop and restart docker containers via sentinel itself. Recordings now also records the Disk Growth during the recording time period. Auto Remediation setting now lists all the important services running on the vps automatically to choose from.
Ships:
I built Sentinel , a self-hosted AI infrastructure engineer for a Linux server. Sentinel continuously monitors a server, detects incidents such as crashed containers, stopped services, high memory usage, and high load, then follows an Observe → Diagnose → Plan → Act → Verify loop. It can investigate the problem, propose an exact fix, wait for my approval, execute the fix through a restricted root agent, and then verify that the problem actually recovered. The most challenging part was making the AI useful without giving it a shell . Sentinel is split into two privilege boundaries: the main web application has no server access, while a separate root agent exposes only 27 named tools with fixed risk levels. Every action is checked again by the agent, and anything that changes the server requires approval. There is deliberately no arbitrary command execution. I’m especially proud that this is not just an AI demo. It is a real, production-running system with a live dashboard, incident history, deployments and rollbacks, container/service management, Discord/Slack approval, Ask Sentinel for natural-language read-only diagnostics, encrypted API keys, an installer, CLI, database migrations, and tests that guard against shell execution. It runs in under 120 MB RAM, uses under 2% CPU while idle, and starts in under 2 seconds. To test it: open the demo URL, explore the dashboard, incidents, and Ask Sentinel interface. The demo is designed so it can be explored without access to my actual server. For the full project, the source code and setup instructions are available in the public repository. The biggest idea behind Sentinel is simple: AI should be able to help operate real infrastructure without being handed unrestricted control of it....
|
1793065907.757227
|
1793152307.757227
|
|
25181
|
Keep morro happy by @ducki | Stardance
|
ducki
|
0
|
51.66
|
0
|
[]
|
[{"post_id": 25841, "ts": "202 [{"post_id": 25841, "ts": "2026-07-10T10:03:13Z", "hours": 7.6439, "text": "I NEED YOUR HELP I have no idea how fun my game is. So after thinking for a bit, i have thrown together a downloadable demo for people to play test. The game is a chaotic speedrunning game, where you have to do mini tasks while taking care of your annoying cat. If that is something that catches your attention any type of feedback is appreciated. Check out the game at https://duc-k.itch.io/keep-morro-happy (Warning: the difficulty is very unbalanced)"}, {"post_id": 23454, "ts": "2026-07-06T13:24:02Z", "hours": 10.225, "text": "My little game is finally about to release in a few days. Finaly finished all of the possible tasks in the game, the art needs to be reworked, but that will be left for the final end (I suck at art) Also the gameplay loop has been finished with an ending screen that evaluates if you have compleated all the tasks your parents left. On to the last stretch. While making this I have realised games with a timer instead of a set goal are very very hard to make. I am now impressed by people who are able to make them."}, {"post_id": 15009, "ts": "2026-06-24T12:00:43Z", "hours": 33.7872, "text": "Almost have completed my small game about speedrunning chores before your parents get back home, all while taking care of you annoying cat. it took waaaay too long to have finished and fully polished one of the minigames you have to do. Only 3 more left :/. Will this game end up being fun? Will have to find out. For now i have implemented character movement, map generation, both cat movement, “prototypes” of 5 tasks you will have to do, item system."}]...
|
Title: Keep morro happy by @ducki | Stardance
Dev Title: Keep morro happy by @ducki | Stardance
Devlogs:
Almost have completed my small game about speedrunning chores before your parents get back home, all while taking care of you annoying cat. it took waaaay too long to have finished and fully polished one of the minigames you have to do. Only 3 more left :/. Will this game end up being fun? Will have to find out. For now i have implemented character movement, map generation, both cat movement, “prototypes” of 5 tasks you will have to do, item system.
My little game is finally about to release in a few days. Finaly finished all of the possible tasks in the game, the art needs to be reworked, but that will be left for the final end (I suck at art) Also the gameplay loop has been finished with an ending screen that evaluates if you have compleated all the tasks your parents left. On to the last stretch. While making this I have realised games with a timer instead of a set goal are very very hard to make. I am now impressed by people who are able to make them.
I NEED YOUR HELP I have no idea how fun my game is. So after thinking for a bit, i have thrown together a downloadable demo for people to play test. The game is a chaotic speedrunning game, where you have to do mini tasks while taking care of your annoying cat. If that is something that catches your attention any type of feedback is appreciated. Check out the game at https://duc-k.itch.io/keep-morro-happy (Warning: the difficulty is very unbalanced)...
|
1792705877.604628
|
1793310677.604628
|
|
68681
|
the stupidest website OAT by @stellenium | Stardan the stupidest website OAT by @stellenium | Stardance...
|
stellenium
|
0
|
51.63
|
0
|
[]
|
[{"post_id": 77940, "ts": "202 [{"post_id": 77940, "ts": "2026-10-08T21:10:49Z", "hours": 51.6322, "text": "test devlog"}]...
|
Title: the stupidest website OAT by @stellenium | Title: the stupidest website OAT by @stellenium | Stardance
Devlogs:
test devlog...
|
1792472075.8107016
|
1793076875.8107016
|
|
44511
|
Beacon by @zeinN | Stardance
|
zeinN
|
0
|
51.58
|
0
|
[]
|
[{"post_id": 53758, "ts": "202 [{"post_id": 53758, "ts": "2026-08-24T13:13:21Z", "hours": 3.645, "text": "Beacon Devlog #8 Anyone with skill in Fusion, would appreciate help! Quick one today after a break yesterday: got to work learning Fusion to design a shell. After I discovered Control Point Spline and the Mirror tool, the front came together quite quickly. I’ve made a 3D model of my main PCB, and found a 3D model for a display case, which I’ll try to work into the design’s base. If anyone has any resources for creating 3D printable buttons that I could take a look at, it’d be much appreciated. Additionally, as in the screenshot, I can’t seem to bevel this edge (or the opposite edge) with the Fillet tool. Changing the distance does nothing, and neither does changing the corner type or tangency weight. Would love any advice!"}, {"post_id": 52591, "ts": "2026-08-22T19:49:49Z", "hours": 6.7333, "text": "Beacon Devlog #7: PRIMARY PCB COMPLETE! This one took about 20 hours, so I’ll go over the primary setbacks here: initial schematic didn’t really consider high threshold voltage of warm white LEDs - trying to power them off of the primary 3.3v rail would result in manufacturing differences just killing some of them most likely. I instead connected the MOSFETs which power the breakouts directly to the battery regulator voltage, which should hover closer to 4V. A couple of my components (e.g. a 3.3v i2s MEMS microphone) had faulty footprints when downloaded through vendors like DigiKey, which took me embarrassingly long to work out My last post shows a comical amount of errors: these stem from many of my footprints for smaller components (e.g. TVS diode array) having small pads with low distances between each other. I downloaded custom design rules for JLCPCB without really understanding what they did, and had to shuffle with them a bit to get round the 300 warnings (down to about 9 now, I think they’re safe to ignore) Finding suitable headers for the breakout boards (the 2 8-pins at the top) took a while, given how little room I’m working with. Every connector on the board posed a major routing challenge until I realised that I could change my schematic in response to a dead end on the PCB. On a related note, I’m mixing and matching connectors here to fit the few components I already own (e.g. standard 2.54mm headers for my E-Ink) Working out differential pairs was less than fun About 4 hours of work didn’t record while I was working out how to use an old spare monitor with my laptop: not the end of the world, but a shame This is my first project with KiCad: the resolution’s not great, but if you spot any issues please mention them What’s Next Before I apply for funding, I need to make a 3D model of the enclosure, design the LED breakout boards, and make a proper GitHub repo out of these. I hope to have that done in the next 5 days or so, so I can focus more on school when it starts up again. When it’s done, hope you guys give it a try!"}, {"post_id": 51121, "ts": "2026-08-20T16:50:11Z", "hours": 1.0, "text": "might be cooked see you guys in 10 hours"}, {"post_id": 51063, "ts": "2026-08-20T15:25:47Z", "hours": 9.6006, "text": "Beacon Devlog #6 PCB neeeeearly finished: you can see how much space I gave myself that I didn’t end up needing I think if I were to restart now I could tidy it up a bit more: with me not having done this before I underestimated just how much I need to clean up the rats nets first, and have ended up compensating with soooooooo many vias Also need to finalise connector types: mixing and matching for the minute because my AliExpress e-ink uses the nichest connector known to man"}, {"post_id": 49945, "ts": "2026-08-18T22:42:21Z", "hours": 4.0622, "text": "Beacon Devlog #5 just discovered how to get more than one line in here, thanks gang Main board schematic complete! Since the last update, I’ve added an on/off switch to the battery controller, made use of all available IO and finalised the links to the LED breakouts (need to design later, should be simple in comparison) shift register’s doing some heavy liftingg Also spent far too long getting the 3d models and footprints for every part, so working on PCB should be seamless tomorrow."}, {"post_id": 49500, "ts": "2026-08-18T11:25:37Z", "hours": 8.4744, "text": "anyone with PCB design experience, would greatly appreciate if you gave this a quick check, as it’s my first time working on a circuit. beacon devlog #4: aside from some peripheral buttons (maybe a potentiometer) and the shift register/output LEDs, schematic is complete!"}, {"post_id": 47676, "ts": "2026-08-15T19:04:49Z", "hours": 3.9219, "text": "Devlog 3: if anyone knows how to put line breaks in these dev logs pleeeease let me know - started work on the enclosure model, and began working out the logic of the whole circuit: attached is a simulated circuit which should(!) let me control about 40 LEDs with just 3 ESP32 GPIO pins"}, {"post_id": 46466, "ts": "2026-08-13T18:06:45Z", "hours": 6.0831, "text": "ticker devlog 2: got a little distracted from the whole metronome thing when my e-ink display came in the mail - developed an algorithm that draws a random constellation to use as a startup/sleep screen. might implement some different shapes of stars later: only wrote code to handle truncated regular polygons. if I stick to any kind of plan, next up should be learning CAD or KiCAD!"}, {"post_id": 45479, "ts": "2026-08-12T00:01:49Z", "hours": 8.0628, "text": "First dev post on Ticker (name needs work): a metronome which counts along to your beat. About half of my logged time has been spent on a rough design, with the other half being research. The plan is to have the device analyse the signal from an internal microphone to detect beats and determine BPM, and so I’m learning how to implement FFT in C++ (and how to use C++ in general!). Below is today’s design work; my initial idea was to mimic analog/pendulum metronomes with a motor, but I couldn’t think of a clean way to implement it. White strips on front will instead light up in time (having 7 allows us to represent compound times, although may be confusing for harder polyrhythms)"}]...
|
Title: Beacon by @zeinN | Stardance
Devlogs:
Firs Title: Beacon by @zeinN | Stardance
Devlogs:
First dev post on Ticker (name needs work): a metronome which counts along to your beat. About half of my logged time has been spent on a rough design, with the other half being research. The plan is to have the device analyse the signal from an internal microphone to detect beats and determine BPM, and so I’m learning how to implement FFT in C++ (and how to use C++ in general!). Below is today’s design work; my initial idea was to mimic analog/pendulum metronomes with a motor, but I couldn’t think of a clean way to implement it. White strips on front will instead light up in time (having 7 allows us to represent compound times, although may be confusing for harder polyrhythms)
ticker devlog 2: got a little distracted from the whole metronome thing when my e-ink display came in the mail - developed an algorithm that draws a random constellation to use as a startup/sleep screen. might implement some different shapes of stars later: only wrote code to handle truncated regular polygons. if I stick to any kind of plan, next up should be learning CAD or KiCAD!
Devlog 3: if anyone knows how to put line breaks in these dev logs pleeeease let me know - started work on the enclosure model, and began working out the logic of the whole circuit: attached is a simulated circuit which should(!) let me control about 40 LEDs with just 3 ESP32 GPIO pins
anyone with PCB design experience, would greatly appreciate if you gave this a quick check, as it’s my first time working on a circuit. beacon devlog #4: aside from some peripheral buttons (maybe a potentiometer) and the shift register/output LEDs, schematic is complete!
Beacon Devlog #5 just discovered how to get more than one line in here, thanks gang Main board schematic complete! Since the last update, I’ve added an on/off switch to the battery controller, made use of all available IO and finalised the links to the LED breakouts (need to design later, should be simple in comparison) shift register’s doing some heavy liftingg Also spent far too long getting the 3d models and footprints for every part, so working on PCB should be seamless tomorrow.
Beacon Devlog #6 PCB neeeeearly finished: you can see how much space I gave myself that I didn’t end up needing I think if I were to restart now I could tidy it up a bit more: with me not having done this before I underestimated just how much I need to clean up the rats nets first, and have ended up compensating with soooooooo many vias Also need to finalise connector types: mixing and matching for the minute because my AliExpress e-ink uses the nichest connector known to man
might be cooked see you guys in 10 hours
Beacon Devlog #7: PRIMARY PCB COMPLETE! This one took about 20 hours, so I’ll go over the primary setbacks here: initial schematic didn’t really consider high threshold voltage of warm white LEDs - trying to power them off of the primary 3.3v rail would result in manufacturing differences just killing some of them most likely. I instead connected the MOSFETs which power the breakouts directly to the battery regulator voltage, which should hover closer to 4V. A couple of my components (e.g. a 3.3v i2s MEMS microphone) had faulty footprints when downloaded through vendors like DigiKey, which took me embarrassingly long to work out My last post shows a comical amount of errors: these stem from many of my footprints for smaller components (e.g. TVS diode array) having small pads with low distances between each other. I downloaded custom design rules for JLCPCB without really understanding what they did, and had to shuffle with them a bit to get round the 300 warnings (down to about 9 now, I think they’re safe to ignore) Finding suitable headers for the breakout boards (the 2 8-pins at the top) took a while, given how little room I’m working with. Every connector on the board posed a major routing challenge until I realised that I could change my schematic in response to a dead end on the PCB. On a related note, I’m mixing and matching connectors here to fit the few components I already own (e.g. standard 2.54mm headers for my E-Ink) Working out differential pairs was less than fun About 4 hours of work didn’t record while I was working out how to use an old spare monitor with my laptop: not the end of the world, but a shame This is my first project with KiCad: the resolution’s not great, but if you spot any issues please mention them What’s Next Before I apply for funding, I need to make a 3D model of the enclosure, design the LED breakout boards, and make a proper GitHub repo out of these. I hope to have that done in the next 5 days or so, so I can focus more on school when it starts up again. When it’s done, hope you guys give it a try!
Beacon Devlog #8 Anyone with skill in Fusion, would appreciate help! Quick one today after a break yesterday: got to work learning Fusion to design a shell. After I discovered Control Point Spline and the Mirror tool, the front came together quite quickly. I’ve made a 3D model of my main PCB, and found a 3D model for a display case, which I’ll try to work into the design’s base. If anyone has any resources for creating 3D printable buttons that I could take a look at, it’d be much appreciated. Additionally, as in the screenshot, I can’t seem to bevel this edge (or the opposite edge) with the Fillet tool. Changing the distance does nothing, and neither does changing the corner type or tangency weight. Would love any advice!...
|
1792590506.5692775
|
1793195306.5692775
|
|
28817
|
PicoOS by @ZiDi | Stardance
|
ZiDi
|
1
|
51.46
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T14:56:59Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created an operating system for the Raspberry Pi Pico family. It is a shell-based OS written in MicroPython, designed to feel similar to Linux. While it does not include every Linux command, it introduces many familiar concepts, including a built-in text editor called Nano . PicoOS allows users to create their own apps and install them directly into the system. It supports SD cards, error logging, and one of its main features is the ability to write your own Python programs that can interact with the Raspberry Pi Pico hardware, including its GPIO pins. This project was challenging, but I managed to make it a reality, and the process was also a lot of fun. The original idea came from wanting to run Linux on a Raspberry Pi Pico. However, because of its limited RAM and flash storage, running a full Linux system was not possible. Instead, I decided to create my own lightweight, Linux-inspired operating system designed specifically for the Raspberry Pi Pico. I also created an installer that makes it easy to install and configure PicoOS on your device, allowing anyone to quickly set up their own Pico-based operating system. This is only the first release of PicoOS, with simple and basic features, but there is much more planned for the future. I recently got a Raspberry Pi Pico W, which will allow me to start working on WiFi support. With WiFi, PicoOS will be able to connect to the internet, download updates and install apps online, browse web content, and introduce new network features. I also want to create a lightweight version of something similar to SSH, allowing users to remotely connect to and control their Raspberry Pi Pico running PicoOS.", "repo": "https://github.com/patriq128/PicoOS", "demo": "https://picoos.dev/"}]...
|
[{"post_id": 75889, "ts": "202 [{"post_id": 75889, "ts": "2026-10-01T14:43:19Z", "hours": 3.9789, "text": "Devlog #10 Added users and remade website What I’m working on I wasn’t working on this project for a longer time (2 months), but I decided to continue working on it :). These are some of the things that I made: Users So, because in the old version the user was working in the system files, and that wasn’t very safe, I decided that I need to have something like this, also because I want this OS to feel like Linux. I added a new command called userman , and with this, you can create users, delete users, and also log in. I also added passwords, so I made an easy (for now) hashing system and saving system for them. Some safety features I found out that when you type \"rm /\" , it would, without any questions, delete all of the system files. I repaired it, and now when you type just \"rm /\" , it’s going to tell you that it can’t do it, but if you type \"rm / --no-preserve-root\" , it will firstly ask you, and when you type “y”, it will remove everything. Remade Website So, my ship request got denied because my website felt like it was vibecoded, and yeah, it was. Sooo, I decided that I want to get my Stardust XD and also make this project good, so I tried to remake it with my own hands. Yeah, I know it doesn’t look like before, but because I’m not good at graphics and website making, it looks as good as I can make it. Other things Small things like editing the README, repairing some bugs in the system, and also adding new things to the installer. What I want to do next Try to ship the project. This is my only mission for now because I am still trying, and I really want my Stardust to buy the T-shirt. So yeah, I think this is everything that I have on my mind. I know it’s not a really long devlog, but I think I said everything that I have on my mind. I’m gonna try to ship it, so wish me luck. Love u :3"}, {"post_id": 45675, "ts": "2026-08-12T10:01:51Z", "hours": 6.965, "text": "Devlog #9 This devlog is going to be shorter because I was on vacation and didn’t have much time. But I repaired the installer on Windows and added some things to the README and website. Installer on Windows I use Linux for my daily work, so the installer was originally tested only on Linux. I wanted it to work on every OS, but unfortunately, it didn’t.Someone tried to use PicoOS and sent me an issue saying that the installer wasn’t working on Windows. What was the problem? The problem was that the installer can flash the newest version of MicroPython onto the device and detect if the device is in boot mode.However, Linux shows the Pico’s mass storage device differently than Windows does, so the installer couldn’t find it on Windows. How I fixed it I knew where the bug was, so I managed to fix it.First, the installer detects which OS it is running on. If it is running on Windows, it uses subprocess and PowerShell to ask Windows if a Pico is connected in boot mode. If it finds one, it gets the directory of the device.I don’t have a Windows PC, so I asked the person who reported the issue to test it for me.And it worked! :3 Documentation The website and README were outdated, so I rewrote some of the sections to make sure they are up to date.And yeah… I don’t really like documenting my projects. Other things I tried to fix the problem where pressing Ctrl + C in PicoOS would crash the whole system. I managed to fix it, but then I noticed that it prevented mpremote from resetting the device. After that, I removed the fix for now. Fixed an app-running problem where apps wouldn’t start if you weren’t in the / directory. I managed to fix that too. Repaired error saving to the SD card again because one small change broke it. Added installed apps to the installer, so you can see which apps you already have installed. What I want to do next Documentation — Right now, the README only contains some basic information and nothing close to the actual system documentation for developers. I want to create full documentation for PicoOS and explain how the system actually works. Fix the crash problem in PicoOS — I know I already tried to fix it and failed, but I want to try again with a different approach. I don’t know exactly how yet, but I’ll figure it out. Contact me — Now that I know someone is actually trying to use this project, I want to add a section to the PicoOS website where people can send me questions, feedback, bug reports, and more Make the app system public — Right now, the apps are only mine. If someone wants to add their own app, they don’t really have a way to do it yet. I want to create a system where people can submit their apps, write the necessary documentation, and eventually make them publicly available. Below is the issue I received and the system I use to check whether an app is installed."}, {"post_id": 37519, "ts": "2026-07-30T10:23:36Z", "hours": 9.8975, "text": "Devlog #8 This is again a really huge update, and there are many things that I made, and they are crazy, so let’s go. What have I actually done? My own package system : So you know how Debian has .apt packages? I made something like this for this OS. It’s just a minimalistic version, but it’s working, and I like how I made it work. First I tried Zip, but MicroPython doesn’t really have a zip library, so I am not using this. I am packing my own file format that’s basically bytes with headers and other stuff, ending with \".pcs\" , yeah. New installation system : Made in two parts: Installer : The internet and local installer are now one file. If the Pico has internet and the user types \"app install app\" (no .pcs), it first searches the internet, and if it finds nothing, tries local files. If the user types \"app install app.pcs\" , it just searches local files. After this, the system extracts the \".pcs\" file into a folder using the Extractor , then reads the manifest and writes the app info and hash into \"conf/apps.conf\" . Extractor : Reads a “.pcs” file, checks the headers to see if it’s legitimate, then reads the manifest and extracts everything into \"/apps/\" . Image rendering app : I tried to run Bad Apple in PicoOS, and for this I needed something like image rendering, so I made this. It reads its own file format \".pxi\" , which has every line and the RGB color of every pixel in the line. It works line by line because the Pico doesn’t have a lot of RAM, and if I tried to load everything at once it wouldn’t handle it. The output is basically “██” — that ASCII block — colored using TrueColor. External tools : A new folder with every tool you need to: build an app : python build_app.py folder_path — takes the folder, reads every file, checks for main.py and manifest.json, and makes it into \"foldername.pcs\" and \"foldername.pcs.256\" extract an app : python extract_app.py app_name.pcs — makes a folder with the app name containing everything that was in the app pxi converter : python pxi_converter.py image — takes the image, scales it, reads every pixel and calculates its RGB value, and outputs \"image_name.pxi\" Installing apps in installer.py : You can now install apps externally using the PC installer, so you can install apps from the internet. It gives you a menu where you select the apps you want, then it downloads them onto the Pico and runs the installer there. Download apps from the website : I have the website https://picoos.dev , and I added an apps section where you can find all the apps and their descriptions, and if you click download you get the app. Small changes : You can now select whether you have an SD card, and if not it won’t try to mount it. I repaired the error-saving so it can now save errors to the SD card. I changed the app manifest so now it must have the hash and description. What I want to do next: README : outdated, need to add and change the info about PicoOS. Website : also outdated, must rewrite it. 2nd ship : because I’ve been waiting for feedback from the 1st ship for 11 days, I want to try shipping it a second time. So this is maybe all from this devlog. It’s a huge update, and I want to make it even better. Thanks for the support. Love u guys :3 Below you can see the image app in action, apps installing using the internet, and the website’s app section preview."}, {"post_id": 33167, "ts": "2026-07-22T20:34:58Z", "hours": 8.1675, "text": "Devlog #7 While I am waiting for my ship to be reviewed, I have made huge progress. This is mainly because I finally managed to get a Raspberry Pi Pico W, and with that, I was finally able to connect PicoOS to the internet. What have I actually done? WiFi driver I built this driver on top of the built-in network library. These are the functions it currently supports: - Auto connect - Network configuration - Network scanning - Status checking - Disconnecting Ping Yes, you guessed it right — PicoOS can now ping websites and IP addresses. Download system Because I have my own domain, “ https://picoos.dev” , and now an internet connection, I created a system where system files and apps are stored online at: “ https://picoos.dev/download/” System updates I created a system updater because it is much easier to download only the updated files using the internet. You can access it by typing the command: “update” After that, it downloads manifest.json, which contains every system file with its SHA-256 hash. PicoOS compares the local files with the online version and downloads only the files that are different. The manifest is stored here: “ https://picoos.dev/download/system/manifest.json” App installation and updates This works almost the same way as the system updater, but it uses: “ https://picoos.dev/download/apps/” When you install an app, PicoOS downloads it and installs it directly into the system. Update installer PicoOS already has its own installer that can install and update the system. However, now that I added support for both the classic Raspberry Pi Pico and Pico W, I need to improve the installer so it can detect the device and install only compatible packages. What I want to do next: I want to improve the code structure and make the interface look better because the current version was mainly just a test to see if everything works — and it does! :) I also want to add image-to-ASCII rendering, so maybe I can try running some interesting things on it. But that will be a surprise. I want to create something like an SSH / remote access system. This will probably be another project and will work as a downloadable app. However, before that, I need to create a system that can properly handle input and collect terminal output, so it doesn’t rely only on serial communication. I think that is everything for this devlog. Below you can see a preview of the system with some of the new commands. I also want to ask: does anyone know how long I usually have to wait for a project review? I reshiped this project about 5 days ago and still haven’t received any feedback. If anyone knows, please comment on this devlog. Thank you! Love you guys :3"}, {"post_id": 30230, "ts": "2026-07-17T17:22:36Z", "hours": 2.4494, "text": "Hopefully the Last Devlog Before Shipping XD After my first unsuccessful ship, I changed my project’s banner and completely rewrote the README. And yes, I used AI. I even used it this time to fix my grammar because I’m not the best at English. Everything else, however, was written by me. But hey, I hope it’s finally ready to be shipped. :3"}, {"post_id": 29525, "ts": "2026-07-16T14:42:41Z", "hours": 2.4317, "text": "PicoOS Devlog First Public Release After many hours of development, bug fixes, and improvements, I finally reached a milestone I’m really happy with. Over the past few weeks, I fixed numerous issues, created a dedicated installer, improved the GitHub repository, and built an official website for the project. Because of these improvements, I decided it was finally time to make the first public release of PicoOS. What’s New? Fixed numerous bugs and improved overall stability. Created a dedicated installer for easier setup. Improved the structure and design of the GitHub repository. Launched the official PicoOS website. Purchased the official domain: https://picoos.dev Preview Below you can see a preview of the website and the GitHub repository. Love u :3"}, {"post_id": 27887, "ts": "2026-07-13T20:00:45Z", "hours": 8.7733, "text": "PicoOS Devlog After many hours of coding, I finally decided to post my first devlog. What’s New? There are so many new things that I don’t even know where to start… Cleaner Code Structure I wanted to make the code much cleaner, so I split the project into smaller modules. This makes PicoOS easier to maintain, easier to read, and much more organized. Improvements Fixed the app installation system Nano is now working properly Improved the overall project structure New System Information Tool I added a new utility that displays useful information about your device, including: CPU information RAM usage Flash memory usage New Installer I’m getting PicoOS ready for everyone to try, so I created Installator.py . The installer can: Automatically download the latest version of MicroPython for your device Flash the firmware Connect using mpremote Upload all required PicoOS modules Let you configure your system before the first boot This makes installing PicoOS much easier. Plans for Tomorrow Here are a few things I want to work on next: Improve the GitHub repository Create a better README Build a website with installation tutorials and documentation Hopefully publish the first official release of PicoOS Preview Below you can see a preview of the new code structure and the installer. Love u :3"}, {"post_id": 23719, "ts": "2026-07-06T20:36:55Z", "hours": 2.3631, "text": "So today I finally added support for the SD card, and it’s one of the best features I’ve added to the OS. When you boot the OS, it automatically tries to mount the SD card, and then you can open it, add files, read files, and even unmount it whenever you want. I also added what I call the Light Debugger. It basically initializes the built-in LED or a NeoPixel, allowing you to debug things like boot status, errors, and other events even when you don’t have the serial monitor open. I also improved the app installation and app running system. You can now install apps directly from the SD card or run them without installing them first. I also tried writing a simple Snake game for testing, and it’s working pretty well. I also tried a little funny experiment: I sent the kernel code to Claude AI and asked it to rewrite it in Rust. And it actually did it! It wasn’t perfect—many things didn’t work—but hey, maybe one day I’ll rewrite the whole OS from MicroPython to Rust. Who knows? So that’s everything for today, and I hope you like the new updates! :) What do I want to do tomorrow? I want to make the OS look prettier, clean up the code to make it much easier to read and maintain, update the GitHub page, and maybe even create a simple website with a tutorial explaining how to run it on your own Raspberry Pi Pico. Love u :3"}, {"post_id": 23098, "ts": "2026-07-05T20:48:14Z", "hours": 4.9244, "text": "I’ve made significant progress on my project recently. One of the major features I implemented is support for installing and running external applications. You can install apps and execute them, and I’ve tested it with my “nano” app — everything is working quite well. I also took inspiration from Linux commands and added support for familiar ones such as touch, cd, ls, mv, cat, and mkdir, along with a few others. This makes the system feel more like a real command-line environment. In addition, I introduced .conf configuration files to manage system and app settings. I also created a module called trun.run, which allows programs to execute automatically on boot. Because of this, I implemented a system for enabling and disabling features, with all settings stored in /conf/configuration.conf. Next, I plan to add support for SD cards and some other improvements, but that’s a task for tomorrow. :) Love u"}, {"post_id": 19488, "ts": "2026-06-30T20:19:59Z", "hours": 1.9381, "text": "I’ve been making good progress on PicoOS today. I added a basic terminal with its own command system, started working on an application installation system, and built a simple terminal-based text editor that can create, edit, and save files.I also implemented a basic boot sequence, automatic startup support, and made a few improvements to the overall terminal experience. There’s still a lot to do, but it’s starting to feel like a real operating system instead of just a collection of scripts.The attached image is the actual output from PicoOS running on the hardware. At the moment I’m interacting with the system over the serial terminal while I continue developing new features."}]...
|
Title: PicoOS by @ZiDi | Stardance
Devlogs:
I’ve Title: PicoOS by @ZiDi | Stardance
Devlogs:
I’ve been making good progress on PicoOS today. I added a basic terminal with its own command system, started working on an application installation system, and built a simple terminal-based text editor that can create, edit, and save files.I also implemented a basic boot sequence, automatic startup support, and made a few improvements to the overall terminal experience. There’s still a lot to do, but it’s starting to feel like a real operating system instead of just a collection of scripts.The attached image is the actual output from PicoOS running on the hardware. At the moment I’m interacting with the system over the serial terminal while I continue developing new features.
I’ve made significant progress on my project recently. One of the major features I implemented is support for installing and running external applications. You can install apps and execute them, and I’ve tested it with my “nano” app — everything is working quite well. I also took inspiration from Linux commands and added support for familiar ones such as touch, cd, ls, mv, cat, and mkdir, along with a few others. This makes the system feel more like a real command-line environment. In addition, I introduced .conf configuration files to manage system and app settings. I also created a module called trun.run, which allows programs to execute automatically on boot. Because of this, I implemented a system for enabling and disabling features, with all settings stored in /conf/configuration.conf. Next, I plan to add support for SD cards and some other improvements, but that’s a task for tomorrow. :) Love u
So today I finally added support for the SD card, and it’s one of the best features I’ve added to the OS. When you boot the OS, it automatically tries to mount the SD card, and then you can open it, add files, read files, and even unmount it whenever you want. I also added what I call the Light Debugger. It basically initializes the built-in LED or a NeoPixel, allowing you to debug things like boot status, errors, and other events even when you don’t have the serial monitor open. I also improved the app installation and app running system. You can now install apps directly from the SD card or run them without installing them first. I also tried writing a simple Snake game for testing, and it’s working pretty well. I also tried a little funny experiment: I sent the kernel code to Claude AI and asked it to rewrite it in Rust. And it actually did it! It wasn’t perfect—many things didn’t work—but hey, maybe one day I’ll rewrite the whole OS from MicroPython to Rust. Who knows? So that’s everything for today, and I hope you like the new updates! :) What do I want to do tomorrow? I want to make the OS look prettier, clean up the code to make it much easier to read and maintain, update the GitHub page, and maybe even create a simple website with a tutorial explaining how to run it on your own Raspberry Pi Pico. Love u :3
PicoOS Devlog After many hours of coding, I finally decided to post my first devlog. What’s New? There are so many new things that I don’t even know where to start… Cleaner Code Structure I wanted to make the code much cleaner, so I split the project into smaller modules. This makes PicoOS easier to maintain, easier to read, and much more organized. Improvements Fixed the app installation system Nano is now working properly Improved the overall project structure New System Information Tool I added a new utility that displays useful information about your device, including: CPU information RAM usage Flash memory usage New Installer I’m getting PicoOS ready for everyone to try, so I created Installator.py . The installer can: Automatically download the latest version of MicroPython for your device Flash the firmware Connect using mpremote Upload all required PicoOS modules Let you configure your system before the first boot This makes installing PicoOS much easier. Plans for Tomorrow Here are a few things I want to work on next: Improve the GitHub repository Create a better README Build a website with installation tutorials and documentation Hopefully publish the first official release of PicoOS Preview Below you can see a preview of the new code structure and the installer. Love u :3
PicoOS Devlog First Public Release After many hours of development, bug fixes, and improvements, I finally reached a milestone I’m really happy with. Over the past few weeks, I fixed numerous issues, created a dedicated installer, improved the GitHub repository, and built an official website for the project. Because of these improvements, I decided it was finally time to make the first public release of PicoOS. What’s New? Fixed numerous bugs and improved overall stability. Created a dedicated installer for easier setup. Improved the structure and design of the GitHub repository. Launched the official PicoOS website. Purchased the official domain: https://picoos.dev Preview Below you can see a preview of the website and the GitHub repository. Love u :3
Hopefully the Last Devlog Before Shipping XD After my first unsuccessful ship, I changed my project’s banner and completely rewrote the README. And yes, I used AI. I even used it this time to fix my grammar because I’m not the best at English. Everything else, however, was written by me. But hey, I hope it’s finally ready to be shipped. :3
Devlog #7 While I am waiting for my ship to be reviewed, I have made huge progress. This is mainly because I finally managed to get a Raspberry Pi Pico W, and with that, I was finally able to connect PicoOS to the internet. What have I actually done? WiFi driver I built this driver on top of the built-in network library. These are the functions it currently supports: - Auto connect - Network configuration - Network scanning - Status checking - Disconnecting Ping Yes, you guessed it right — PicoOS can now ping websites and IP addresses. Download system Because I have my own domain, “ https://picoos.dev” , and now an internet connection, I created a system where system files and apps are stored online at: “ https://picoos.dev/download/” System updates I created a system updater because it is much easier to download only the updated files using the internet. You can access it by typing the command: “update” After that, it downloads manifest.json, which contains every system file with its SHA-256 hash. PicoOS compares the local files with the online version and downloads only the files that are different. The manifest is stored here: “ https://picoos.dev/download/system/manifest.json” App installation and updates This works almost the same way as the system updater, but it uses: “ https://picoos.dev/download/apps/” When you install an app, PicoOS downloads it and installs it directly into the system. Update installer PicoOS already has its own installer that can install and update the system. However, now that I added support for both the classic Raspberry Pi Pico and Pico W, I need to improve the installer so it can detect the device and install only compatible packages. What I want to do next: I want to improve the code structure and make the interface look better because the current version was mainly just a test to see if everything works — and it does! :) I also want to add image-to-ASCII rendering, so maybe I can try running some interesting things on it. But that will be a surprise. I want to create something like an SSH / remote access system. This will probably be another project and will work as a downloadable app. However, before that, I need to create a system that can properly handle input and collect terminal output, so it doesn’t rely only on serial communication. I think that is everything for this devlog. Below you can see a preview of the system with some of the new commands. I also want to ask: does anyone know how long I usually have to wait for a project review? I reshiped this project about 5 days ago and still haven’t received any feedback. If anyone knows, please comment on this devlog. Thank you! Love you guys :3
Devlog #8 This is again a really huge update, and there are many things that I made, and they are crazy, so let’s go. What have I actually done? My own package system : So you know how Debian has .apt packages? I made something like this for this OS. It’s just a minimalistic version, but it’s working, and I like how I made it work. First I tried Zip, but MicroPython doesn’t really have a zip library, so I am not using this. I am packing my own file format that’s basically bytes with headers and other stuff, ending with ".pcs" , yeah. New installation system : Made in two parts: Installer : The internet and local installer are now one file. If the Pico has internet and the user types "app install app" (no .pcs), it first searches the internet, and if it finds nothing, tries local files. If the user types "app install app.pcs" , it just searches local files. After this, the system extracts the ".pcs" file into a folder using the Extractor , then reads the manifest and writes the app info and hash into "conf/apps.conf" . Extractor : Reads a “.pcs” file, checks the headers to see if it’s legitimate, then reads the manifest and extracts everything into "/apps/" . Image rendering app : I tried to run Bad Apple in PicoOS, and for this I needed something like image rendering, so I made this. It reads its own file format ".pxi" , which has every line and the RGB color of every pixel in the line. It works line by line because the Pico doesn’t have a lot of RAM, and if I tried to load everything at once it wouldn’t handle it. The output is basically “██” — that ASCII block — colored using TrueColor. External tools : A new folder with every tool you need to: build an app : python build_app.py folder_path — takes the folder, reads every file, checks for main.py and manifest.json, and makes it into "foldername.pcs" and "foldername.pcs.256" extract an app : python extract_app.py app_name.pcs — makes a folder with the app name containing everything that was in the app pxi converter : python pxi_converter.py image — takes the image, scales it, reads every pixel and calculates its RGB value, and outputs "image_name.pxi" Installing apps in installer.py : You can now install apps externally using the PC installer, so you can install apps from the internet. It gives you a menu where you select the apps you want, then it downloads them onto the Pico and runs the installer there. Download apps from the website : I have the website https://picoos.dev , and I added an apps section where you can find all the apps and their descriptions, and if you click download you get the app. Small changes : You can now select whether you have an SD card, and if not it won’t try to mount it. I repaired the error-saving so it can now save errors to the SD card. I changed the app manifest so now it must have the hash and description. What I want to do next: README : outdated, need to add and change the info about PicoOS. Website : also outdated, must rewrite it. 2nd ship : because I’ve been waiting for feedback from the 1st ship for 11 days, I want to try shipping it a second time. So this is maybe all from this devlog. It’s a huge update, and I want to make it even better. Thanks for the support. Love u guys :3 Below you can see the image app in action, apps installing using the internet, and the website’s app section preview.
Devlog #9 This devlog is going to be shorter because I was on vacation and didn’t have much time. But I repaired the installer on Windows and added some things to the README and website. Installer on Windows I use Linux for my daily work, so the installer was originally tested only on Linux. I wanted it to work on every OS, but unfortunately, it didn’t.Someone tried to use PicoOS and sent me an issue saying that the installer wasn’t working on Windows. What was the problem? The problem was that the installer can flash the newest version of MicroPython onto the device and detect if the device is in boot mode.However, Linux shows the Pico’s mass storage device differently than Windows does, so the installer couldn’t find it on Windows. How I fixed it I knew where the bug was, so I managed to fix it.First, the installer detects which OS it is running on. If it is running on Windows, it uses subprocess and PowerShell to ask Windows if a Pico is connected in boot mode. If it finds one, it gets the directory of the device.I don’t have a Windows PC, so I asked the person who reported the issue to test it for me.And it worked! :3 Documentation The website and README were outdated, so I rewrote some of the sections to make sure they are up to date.And yeah… I don’t really like documenting my projects. Other things I tried to fix the problem where pressing Ctrl + C in PicoOS would crash the whole system. I managed to fix it, but then I noticed that it prevented mpremote from resetting the device. After that, I removed the fix for now. Fixed an app-running problem where apps wouldn’t start if you weren’t in the / directory. I managed to fix that too. Repaired error saving to the SD card again because one small change broke it. Added installed apps to the installer, so you can see which apps you already have installed. What I want to do next Documentation — Right now, the README only contains some basic information and nothing close to the actual system documentation for developers. I want to create full documentation for PicoOS and explain how the system actually works. Fix the crash problem in PicoOS — I know I already tried to fix it and failed, but I want to try again with a different approach. I don’t know exactly how yet, but I’ll figure it out. Contact me — Now that I know someone is actually trying to use this project, I want to add a section to the PicoOS website where people can send me questions, feedback, bug reports, and more Make the app system public — Right now, the apps are only mine. If someone wants to add their own app, they don’t really have a way to do it yet. I want to create a system where people can submit their apps, write the necessary documentation, and eventually make them publicly available. Below is the issue I received and the system I use to check whether an app is installed.
Devlog #10 Added users and remade website What I’m working on I wasn’t working on this project for a longer time (2 months), but I decided to continue working on it :). These are some of the things that I made: Users So, because in the old version the user was working in the system files, and that wasn’t very safe, I decided that I need to have something like this, also because I want this OS to feel like Linux. I added a new command called userman , and with this, you can create users, delete users, and also log in. I also added passwords, so I made an easy (for now) hashing system and saving system for them. Some safety features I found out that when you type "rm /" , it would, without any questions, delete all of the system files. I repaired it, and now when you type just "rm /" , it’s going to tell you that it can’t do it, but if you type "rm / --no-preserve-root" , it will firstly ask you, and when you type “y”, it will remove everything. Remade Website So, my ship request got denied because my website felt like it was vibecoded, and yeah, it was. Sooo, I decided that I want to get my Stardust XD and also make this project good, so I tried to remake it with my own hands. Yeah, I know it doesn’t look like before, but because I’m not good at graphics and website making, it looks as good as I can make it. Other things Small things like editing the README, repairing some bugs in the system, and also adding new things to the installer. What I want to do next Try to ship the project. This is my only mission for now because I am still trying, and I really want my Stardust to buy the T-shirt. So yeah, I think this is everything that I have on my mind. I know it’s not a really long devlog, but I think I said everything that I have on my mind. I’m gonna try to ship it, so wish me luck. Love u :3
Ships:
I created an operating system for the Raspberry Pi Pico family. It is a shell-based OS written in MicroPython, designed to feel similar to Linux. While it does not include every Linux command, it introduces many familiar concepts, including a built-in text editor called Nano . PicoOS allows users to create their own apps and install them directly into the system. It supports SD cards, error logging, and one of its main features is the ability to write your own Python programs that can interact with the Raspberry Pi Pico hardware, including its GPIO pins. This project was challenging, but I managed to make it a reality, and the process was also a lot of fun. The original idea came from wanting to run Linux on a Raspberry Pi Pico. However, because of its limited RAM and flash storage, running a full Linux system was not possible. Instead, I decided to create my own lightweight, Linux-inspired operating system designed specifically for the Raspberry Pi Pico. I also created an installer that makes it easy to install and configure PicoOS on your device, allowing anyone to quickly set up their own Pico-based operating system. This is only the first release of PicoOS, with simple and basic features, but there is much more planned for the future. I recently got a Raspberry Pi Pico W, which will allow me to start working on WiFi support. With WiFi, PicoOS will be able to connect to the internet, download updates and install apps online, browse web content, and introduce new network features. I also want to create a lightweight version of something similar to SSH, allowing users to remotely connect to and control their Raspberry Pi Pico running PicoOS....
|
1793091073.6188784
|
1793177473.6188784
|
|
6208
|
Space Janitor by @bawad2 | Stardance
|
bawad2
|
1
|
51.42
|
376
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T09:38:21Z", "hours": 51.0, "multiplier": 7.31, "payout": 376, "blessing": "neutral", "text": "This is the first project I will ship for Hackclub. It was originally supposed to be shipped after i fully finished it. But slowly i started losing attachment to the project and now i dont want to work on it anymore. So, since it has a working loop for gameplay already im gonna ship it here. That game has a playable demo in itch at https://bawad2.itch.io/space-janitors Also in the repo there is a file called “Hourly logs” in that file I have been writing down what i was working on what my plan is and what my thought process is from day one, I think it will be a interesting thing for you to check out. I hope you find my 53 hours interesting at the very least.", "repo": "https://github.com/Bawad2/Space-Janitors", "demo": "https://bawad2.itch.io/space-janitors"}]...
|
[{"post_id": 80092, "ts": "202 [{"post_id": 80092, "ts": "2026-10-16T06:25:10Z", "hours": 0.4167, "text": "I fixed the things i was told to fix :D"}, {"post_id": 77517, "ts": "2026-10-07T09:35:31Z", "hours": 2.6994, "text": "did some final work on the game and decided to give up and just ship it. Made some upgrades to the main menu"}, {"post_id": 58897, "ts": "2026-08-31T13:50:06Z", "hours": 1.3658, "text": "not much really i just studied GML for a while and also worked on a bunch of UI stuff"}, {"post_id": 50582, "ts": "2026-08-19T19:42:45Z", "hours": 1.6197, "text": "DevLog 23 Iv been real busy lately This devlog is boil down of maybe like a week or so of work. I have been so busy that there wasnt a single day this week that I worked before 12AM. Anyways some of the stuff that I made in this logged time includes: A functional game over screen. yep thats it. It was really hard to make tho. I had to figure out a bunch of stuff such as how to make the stats show in the UI layer and a bunch of other stuff I hope I wont be as busy as this anymore"}, {"post_id": 46264, "ts": "2026-08-13T11:43:46Z", "hours": 0.5503, "text": "DevLog #22 Fixed up my repo and also fixed a fatal bug within my repo I basically had a bug which made me unable to push to origin. I ended up resorting to ai to help me fix this bug. But in the end even the ai failed but the things I learned for the ai ended up helping me fixing it myself. I also rewrote the Readme. And sent new version of the game to itch."}, {"post_id": 45500, "ts": "2026-08-12T01:21:32Z", "hours": 2.0303, "text": "DevLog #21 Random miscellaneous stuff I also threw out the timer sprite Made it so new rocks spawn when old ones are broken. Also made a Fuel meter sprite to use instead of the timer. Made the code for the fuel meter as a timer work.( It was a bunch of hard math.) And of course I had to spend like 1 whole hour debugging all this. Check out the [game](Space Janitors by Bawad2 ) I updated it in itch again."}, {"post_id": 43445, "ts": "2026-08-08T18:13:13Z", "hours": 1.6792, "text": "DevLog #20 PAINLOG #1 Repetition is the worst form of torture. (Also I hate myself) Even if every single one of my trillions of cells had the word “ Pain ” written on them 100 times, It wouldn’t even come close to representing the sheer amount of pain I had to go throw to to finish this sprite. I know there was better ways to do this then to spend nearly 2 hours drawing 180 frames by hand, but I was the one who brought this upon myself. I have no one to blame but me. I hope the pain ends now."}, {"post_id": 41282, "ts": "2026-08-05T12:16:15Z", "hours": 3.1014, "text": "DevLog #19 Productivity just sky-rocketed(Pun intended) I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket I did a real lot of stuff today . Finished the new shop menu and its fully working Started work on the health system for the rocket and realized the many things i need to work on I have made the rocket upgradable. Now the logged time includes the pain from the clock sprite but that is a story for the next log"}, {"post_id": 40848, "ts": "2026-08-04T17:09:27Z", "hours": 2.4, "text": "DevLog #18 Well this is a long one. I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket Well, I did a lot of stuff today. Finished Implementing click to move everywhere Made it so the sprites are highLighted when you hover you mouse over them. This took me a lot of time to figure out -# I used chatgpt for a hint during this part. I worked on a sprite for the research lab where you buy upgrades for you rocket This took me like almost the whole hour. Made the basics for the shop menu. I just need to draw a few buttons for the upgrades and it will be done. I used up a lot of the time I was supposed to be studying today to work so im lwk cooked."}, {"post_id": 40246, "ts": "2026-08-03T17:27:02Z", "hours": 0.8933, "text": "Devlog #17 Money works and I got rid of the character I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket Money system I fixed the bug with the money counter. Now your money is properly shown. It also goes up when you break asteroids, so you can earn money . Point and click system I also started work on the click and move system . All the things I need to make for it are complete but I just need to implement them everywhere now. life update Im still quite busy with my studies so I have a bit less time to work on the game. Thats why development is slowing down."}, {"post_id": 39574, "ts": "2026-08-02T17:06:58Z", "hours": 1.3411, "text": "DevLog #16 Finally doing some real stuff again! I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket This day wasn’t that productive because I had school for like 9 hours of the day. But I still manged to add some stuff I basically added a money system in to the game and made the HUD elements. For now you can only see how much money you have and not earn any. I ran into bug( not a bug just a coding mistake) which drove me nuts. Basically I was drawing the HUD on the top left side of the room instead of the screen. It took me a while to figure out. But alas I’m out of time so I cant fix it today D:"}, {"post_id": 38818, "ts": "2026-08-01T11:48:51Z", "hours": 1.0, "text": "Devlog #15 I Finally made a proper plan for the game!! I was making a game where you do a bunch of stuff like climbing the corporate ladder and shi but now i changed my mind I have finally made a proper game plan for myself to follow so i can make the game more easily. Basically I used a planning software named milanote to properly plan out all my stuff. These are what I have made the plan for now: IDEAS Make a day system where every day has a set amount of time you earn money by destroying asteroids you upgrade the rocket so you can break more asteroids faster As more days pass increase the difficulty of the game. Make it so the character has to do spend money to in his house for stuff like water bill, food bill, electricity which gives him nerfs if he doesn’t buy these. GET RID OF ANY VISIBLE CHARACTER make it feel kinda like a visual novel type shi when the rocket runs out of health the day ends early and you are fined. GAMEPLAY LOOP(INTENDED) Player wakes up at home goes outside takes a car to go to the rocket launch site transfer to the rocket launch screen(the upgrades can be accessed from here) flys the rocket earns money by breaking asteroids (Bigger asteroid pay more and are harder to break) when time ends he is returned home he decides whether he wants to pay his bills or not sleeps and repeat game ends when he maxs out the rocket also make sure to check out the current state of the game"}, {"post_id": 38108, "ts": "2026-07-31T10:11:25Z", "hours": 0.7, "text": "DEVLOG 14 After a long long time IM FINALLY BACK Basically I had a exam for the whole month and now its finally over. That being said coming back after a long time, I realize that there are some things I really need to change about the game. First of all Im changing what this game is about This is no longer about some corporate ladder bs Im just gonna make a arcade simulator type thing. im gonna make the scope of the game smaller . I realize i dont have much time rn so i will try to work daily but in small amounts! Also I finished some work today. Like finally fixing the HTML issue . Turns out instead of fixing it I just needed to not export to HTML. Also started work on a game over screen. That all for today!! also check out the Game"}, {"post_id": 20637, "ts": "2026-07-02T08:52:25Z", "hours": 0.7, "text": "tried to fix the issues with the html5 export( failed miserably )"}, {"post_id": 19138, "ts": "2026-06-30T11:51:25Z", "hours": 0.4311, "text": "i worked on rearranging my files inside the game. Not worth a full devlog"}, {"post_id": 15740, "ts": "2026-06-25T16:47:17Z", "hours": 0.9833, "text": "Devlog #13 WE ARE SO BACK!! I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. for the past week I have been really busy with school and stuff so I could really work much or at all . So, I have’nt worked on the game for an entire week. But today I decided to change that. So cus Im coming back after a bit of time i decided to not do to much work. So all the things I did today was make a car sprite."}, {"post_id": 10831, "ts": "2026-06-17T19:30:31Z", "hours": 1.5683, "text": "DevLog #12 It actually took me this long to make the player take a nap . I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. I spent this whole time figuring out how to make the player animate when laying down and animate again when getting out of bed. It actually took me 3 different approach to finally find one that works, and even after that when I exported the game to itch for some reason it stops working. It works perfectly fine in the windows build though. I plan on working on fixing this things that happen only on itch tmrw."}, {"post_id": 10152, "ts": "2026-06-16T19:25:28Z", "hours": 1.77, "text": "Devlog #11 You can now play the game yourself🎉!! I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. I did a bunch of stuff in the logged time and the most notable one of the bunch is that i finally made a itch page . i also worked on a few other stuff such as: Made a animation of the player getting in bed ( have’nt implemented it yet tho ) -Work on fixing the bugs that come with making a executable for you game. -Also fix some ui related bugs Please check out the game"}, {"post_id": 9754, "ts": "2026-06-16T05:42:52Z", "hours": 1.2594, "text": "DevLog #10 I spent a ton of time re writing the past devlogs to make them more voter friendly. I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. I basically went back and re-did all my devlogs and added the new markdown formatting stuff I learnt thanks to a hint from @tongyu . You can see the before and after <–– Here I also plan on working on my repo today but I have school in an hour now so I cant do that now :("}, {"post_id": 9428, "ts": "2026-06-15T19:49:04Z", "hours": 1.2389, "text": "Devlog #9 I worked on a pause menu and bunch of other UI stuff. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. Adding a pause menu is quite a easy task and should not have taken this long. But alas I ran into a bug that took me 30 mins to solve. And the worst part is that fact that it was because of a misplaced “!” symbol. I also re worked on some of the sprites to add some small tweaks. Well the pause menu is still lackluster but I will expand upon it later. Also there is a bug still in the game that makes it so you cant close out of the menu."}, {"post_id": 9180, "ts": "2026-06-15T12:24:39Z", "hours": 1.1825, "text": "DevLog #8 The game now has a Main Menu!! Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. This may not feel like much but with this I have laid all the groundwork needed for the rest of the UI . Now I can complete all the UI stuff in no time. I also lwk need to touch up on the sprites"}, {"post_id": 8731, "ts": "2026-06-14T14:47:21Z", "hours": 3.29, "text": "Devlog #7 Worked on a bunch of stuff in the logged time. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. The most notable ones would be : New Tileset to match the palette A bunch of other remade sprites (the bed and the sofa) Started Work on UI Drew the Title sprite and quite a bit more. I have been busy with school lately so the devlog frequency has dropped D:"}, {"post_id": 6881, "ts": "2026-06-11T15:16:09Z", "hours": 1.6881, "text": "DevLog #6 Decided to select a style / palette for my game. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. Took me a bit of time to find a concrete palette for my game. And after a while I found a good palette. Then I decide to re-remake the character . Also I decided to make the artstyle for the game low-res"}, {"post_id": 5654, "ts": "2026-06-09T15:10:33Z", "hours": 1.5761, "text": "Devlog #5 I Started work on some Juicy juicy lore. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship.( This may be subject to change ) I’m not gonna spoil any of the lore here but just know that I did work on it. I also remade the main player sprite ( This time lore accurate ) and also worked on a few bugs"}, {"post_id": 4945, "ts": "2026-06-08T16:02:09Z", "hours": 1.1394, "text": "Devlog #4 The player can now board upon the rocket! Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. And now the two parts of the game are finally connected. Now the player can walk out of his house , then go to the launch site and board on the rocket. I did run into a bunch of problems when trying to implement this. At first I was trying to do all the work on the boarder object but then I realized it would be much easier if I just did that in the player instead. So it works now."}, {"post_id": 4253, "ts": "2026-06-07T14:33:13Z", "hours": 1.0903, "text": "Made the final sprite for the rocket launch site! Usually I get the artwork for my game done by teammates. But since I dont have any teammates this time I decided to start learning pixel art myself! Since I’m just starting now even the simple things take me quite a long time. The entire time logged here was spent working on this one sprite ( This doesn’t include the time spent on the rocket btw)"}, {"post_id": 3606, "ts": "2026-06-06T16:38:54Z", "hours": 0.8453, "text": "Remade the rocket sprite. Definitely the best artwork of my life. I will happily take any advice you guys have."}, {"post_id": 3479, "ts": "2026-06-06T13:06:17Z", "hours": 2.8403, "text": "DEVLOG #3 You can now TOUCH GRASS! not really tho. I added the inside of a house and outside portion to the game. The character can now walk out of his house and then walk over to the rocket launch station and then fly the rocket I also made a few sprites for decoration inside of the house"}, {"post_id": 2704, "ts": "2026-06-05T12:38:40Z", "hours": 1.2025, "text": "Drew and implemented a tileset for the main house of the game The tileset will be used to line the inside of the house so you can tell the wall apart from the void"}, {"post_id": 2668, "ts": "2026-06-05T10:42:41Z", "hours": 1.5236, "text": "Made a new sprite for the main character"}, {"post_id": 1984, "ts": "2026-06-04T07:49:07Z", "hours": 3.0933, "text": "DEVLOG #2 The rocket🚀 can now reach space🌌! Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. As you can probably tell I added space to my game. I also : drew a bunch of janky looking stars🌠 and added them to the game. I also added 2 types of clouds , Normal and storm clouds . The storm clouds🌩️ make your rocket blow up if you crash into it and normal clouds☁️ are only for cosmetic purposes . I also fixed up a fix bugs👾 with the throttle system for the rocket. btw you can click on the underlined words to see the sprites"}, {"post_id": 1373, "ts": "2026-06-03T11:17:05Z", "hours": 4.6692, "text": "DevLog #1 Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. So far I have added quite a lot of stuff and am only now realizing that i should have made devlogs earlier. So this devlog gonna be a bit long . The things I have added are : a moveable character . the rocket . I finished the dynamic thrust system ( controlling the thrust of the rocket using the scroll wheel ) . On day 2 I started work on making the rocket tilt so it can move side to side. When doing this I ran into a problem due to the way I made the rocket fly. Basically I was increasing the “Y” value of the rocket to make it fly but that doesnt work with the way I want to tilt the rocket so I scraped that and used a method thats already built-into GMS2. Then I made the rocket explode if it hit a surface too hard ( I wasted 30 mins on the explosion sprite ). Check out the sprite I added so the rocket can actually shoot I also added breakable rocks that you can shoot down. Then I spent the next hour on making a teleport system so the rocket can move from one stage from to another. On my way to make this I broke the thrust system so I spent 30 mins trying to figure it out only for it to be the fault of a “-” sign instead of a “+” sign. I plan on working on new sprites for the character later"}]...
|
Title: Space Janitor by @bawad2 | Stardance
Devlo Title: Space Janitor by @bawad2 | Stardance
Devlogs:
DevLog #1 Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. So far I have added quite a lot of stuff and am only now realizing that i should have made devlogs earlier. So this devlog gonna be a bit long . The things I have added are : a moveable character . the rocket . I finished the dynamic thrust system ( controlling the thrust of the rocket using the scroll wheel ) . On day 2 I started work on making the rocket tilt so it can move side to side. When doing this I ran into a problem due to the way I made the rocket fly. Basically I was increasing the “Y” value of the rocket to make it fly but that doesnt work with the way I want to tilt the rocket so I scraped that and used a method thats already built-into GMS2. Then I made the rocket explode if it hit a surface too hard ( I wasted 30 mins on the explosion sprite ). Check out the sprite I added so the rocket can actually shoot I also added breakable rocks that you can shoot down. Then I spent the next hour on making a teleport system so the rocket can move from one stage from to another. On my way to make this I broke the thrust system so I spent 30 mins trying to figure it out only for it to be the fault of a “-” sign instead of a “+” sign. I plan on working on new sprites for the character later
DEVLOG #2 The rocket🚀 can now reach space🌌! Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. As you can probably tell I added space to my game. I also : drew a bunch of janky looking stars🌠 and added them to the game. I also added 2 types of clouds , Normal and storm clouds . The storm clouds🌩️ make your rocket blow up if you crash into it and normal clouds☁️ are only for cosmetic purposes . I also fixed up a fix bugs👾 with the throttle system for the rocket. btw you can click on the underlined words to see the sprites
Made a new sprite for the main character
Drew and implemented a tileset for the main house of the game The tileset will be used to line the inside of the house so you can tell the wall apart from the void
DEVLOG #3 You can now TOUCH GRASS! not really tho. I added the inside of a house and outside portion to the game. The character can now walk out of his house and then walk over to the rocket launch station and then fly the rocket I also made a few sprites for decoration inside of the house
Remade the rocket sprite. Definitely the best artwork of my life. I will happily take any advice you guys have.
Made the final sprite for the rocket launch site! Usually I get the artwork for my game done by teammates. But since I dont have any teammates this time I decided to start learning pixel art myself! Since I’m just starting now even the simple things take me quite a long time. The entire time logged here was spent working on this one sprite ( This doesn’t include the time spent on the rocket btw)
Devlog #4 The player can now board upon the rocket! Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. And now the two parts of the game are finally connected. Now the player can walk out of his house , then go to the launch site and board on the rocket. I did run into a bunch of problems when trying to implement this. At first I was trying to do all the work on the boarder object but then I realized it would be much easier if I just did that in the player instead. So it works now.
Devlog #5 I Started work on some Juicy juicy lore. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship.( This may be subject to change ) I’m not gonna spoil any of the lore here but just know that I did work on it. I also remade the main player sprite ( This time lore accurate ) and also worked on a few bugs
DevLog #6 Decided to select a style / palette for my game. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. Took me a bit of time to find a concrete palette for my game. And after a while I found a good palette. Then I decide to re-remake the character . Also I decided to make the artstyle for the game low-res
Devlog #7 Worked on a bunch of stuff in the logged time. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. The most notable ones would be : New Tileset to match the palette A bunch of other remade sprites (the bed and the sofa) Started Work on UI Drew the Title sprite and quite a bit more. I have been busy with school lately so the devlog frequency has dropped D:
DevLog #8 The game now has a Main Menu!! Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. This may not feel like much but with this I have laid all the groundwork needed for the rest of the UI . Now I can complete all the UI stuff in no time. I also lwk need to touch up on the sprites
Devlog #9 I worked on a pause menu and bunch of other UI stuff. Im making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. Adding a pause menu is quite a easy task and should not have taken this long. But alas I ran into a bug that took me 30 mins to solve. And the worst part is that fact that it was because of a misplaced “!” symbol. I also re worked on some of the sprites to add some small tweaks. Well the pause menu is still lackluster but I will expand upon it later. Also there is a bug still in the game that makes it so you cant close out of the menu.
DevLog #10 I spent a ton of time re writing the past devlogs to make them more voter friendly. I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. I basically went back and re-did all my devlogs and added the new markdown formatting stuff I learnt thanks to a hint from @tongyu . You can see the before and after <–– Here I also plan on working on my repo today but I have school in an hour now so I cant do that now :(
Devlog #11 You can now play the game yourself🎉!! I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. I did a bunch of stuff in the logged time and the most notable one of the bunch is that i finally made a itch page . i also worked on a few other stuff such as: Made a animation of the player getting in bed ( have’nt implemented it yet tho ) -Work on fixing the bugs that come with making a executable for you game. -Also fix some ui related bugs Please check out the game
DevLog #12 It actually took me this long to make the player take a nap . I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. I spent this whole time figuring out how to make the player animate when laying down and animate again when getting out of bed. It actually took me 3 different approach to finally find one that works, and even after that when I exported the game to itch for some reason it stops working. It works perfectly fine in the windows build though. I plan on working on fixing this things that happen only on itch tmrw.
Devlog #13 WE ARE SO BACK!! I’m making a game where you work your way up the corporate ladder to finally fulfill your dream of piloting a space ship. for the past week I have been really busy with school and stuff so I could really work much or at all . So, I have’nt worked on the game for an entire week. But today I decided to change that. So cus Im coming back after a bit of time i decided to not do to much work. So all the things I did today was make a car sprite.
i worked on rearranging my files inside the game. Not worth a full devlog
tried to fix the issues with the html5 export( failed miserably )
DEVLOG 14 After a long long time IM FINALLY BACK Basically I had a exam for the whole month and now its finally over. That being said coming back after a long time, I realize that there are some things I really need to change about the game. First of all Im changing what this game is about This is no longer about some corporate ladder bs Im just gonna make a arcade simulator type thing. im gonna make the scope of the game smaller . I realize i dont have much time rn so i will try to work daily but in small amounts! Also I finished some work today. Like finally fixing the HTML issue . Turns out instead of fixing it I just needed to not export to HTML. Also started work on a game over screen. That all for today!! also check out the Game
Devlog #15 I Finally made a proper plan for the game!! I was making a game where you do a bunch of stuff like climbing the corporate ladder and shi but now i changed my mind I have finally made a proper game plan for myself to follow so i can make the game more easily. Basically I used a planning software named milanote to properly plan out all my stuff. These are what I have made the plan for now: IDEAS Make a day system where every day has a set amount of time you earn money by destroying asteroids you upgrade the rocket so you can break more asteroids faster As more days pass increase the difficulty of the game. Make it so the character has to do spend money to in his house for stuff like water bill, food bill, electricity which gives him nerfs if he doesn’t buy these. GET RID OF ANY VISIBLE CHARACTER make it feel kinda like a visual novel type shi when the rocket runs out of health the day ends early and you are fined. GAMEPLAY LOOP(INTENDED) Player wakes up at home goes outside takes a car to go to the rocket launch site transfer to the rocket launch screen(the upgrades can be accessed from here) flys the rocket earns money by breaking asteroids (Bigger asteroid pay more and are harder to break) when time ends he is returned home he decides whether he wants to pay his bills or not sleeps and repeat game ends when he maxs out the rocket also make sure to check out the current state of the game
DevLog #16 Finally doing some real stuff again! I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket This day wasn’t that productive because I had school for like 9 hours of the day. But I still manged to add some stuff I basically added a money system in to the game and made the HUD elements. For now you can only see how much money you have and not earn any. I ran into bug( not a bug just a coding mistake) which drove me nuts. Basically I was drawing the HUD on the top left side of the room instead of the screen. It took me a while to figure out. But alas I’m out of time so I cant fix it today D:
Devlog #17 Money works and I got rid of the character I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket Money system I fixed the bug with the money counter. Now your money is properly shown. It also goes up when you break asteroids, so you can earn money . Point and click system I also started work on the click and move system . All the things I need to make for it are complete but I just need to implement them everywhere now. life update Im still quite busy with my studies so I have a bit less time to work on the game. Thats why development is slowing down.
DevLog #18 Well this is a long one. I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket Well, I did a lot of stuff today. Finished Implementing click to move everywhere Made it so the sprites are highLighted when you hover you mouse over them. This took me a lot of time to figure out -# I used chatgpt for a hint during this part. I worked on a sprite for the research lab where you buy upgrades for you rocket This took me like almost the whole hour. Made the basics for the shop menu. I just need to draw a few buttons for the upgrades and it will be done. I used up a lot of the time I was supposed to be studying today to work so im lwk cooked.
DevLog #19 Productivity just sky-rocketed(Pun intended) I making a game where you collect money by cleaning up space junk and use that money to upgrade your rocket I did a real lot of stuff today . Finished the new shop menu and its fully working Started work on the health system for the rocket and realized the many things i need to work on I have made the rocket upgradable. Now the logged time includes the pain from the clock sprite but that is a story for the next log
DevLog #20 PAINLOG #1 Repetition is the worst form of torture. (Also I hate myself) Even if every single one of my trillions of cells had the word “ Pain ” written on them 100 times, It wouldn’t even come close to representing the sheer amount of pain I had to go throw to to finish this sprite. I know there was better ways to do this then to spend nearly 2 hours drawing 180 frames by hand, but I was the one who brought this upon myself. I have no one to blame but me. I hope the pain ends now.
DevLog #21 Random miscellaneous stuff I also threw out the timer sprite Made it so new rocks spawn when old ones are broken. Also made a Fuel meter sprite to use instead of the timer. Made the code for the fuel meter as a timer work.( It was a bunch of hard math.) And of course I had to spend like 1 whole hour debugging all this. Check out the [game](Space Janitors by Bawad2 ) I updated it in itch again.
DevLog #22 Fixed up my repo and also fixed a fatal bug within my repo I basically had a bug which made me unable to push to origin. I ended up resorting to ai to help me fix this bug. But in the end even the ai failed but the things I learned for the ai ended up helping me fixing it myself. I also rewrote the Readme. And sent new version of the game to itch.
DevLog 23 Iv been real busy lately This devlog is boil down of maybe like a week or so of work. I have been so busy that there wasnt a single day this week that I worked before 12AM. Anyways some of the stuff that I made in this logged time includes: A functional game over screen. yep thats it. It was really hard to make tho. I had to figure out a bunch of stuff such as how to make the stats show in the UI layer and a bunch of other stuff I hope I wont be as busy as this anymore
not much really i just studied GML for a while and also worked on a bunch of UI stuff
did some final work on the game and decided to give up and just ship it. Made some upgrades to the main menu
I fixed the things i was told to fix :D
Ships:
This is the first project I will ship for Hackclub. It was originally supposed to be shipped after i fully finished it. But slowly i started losing attachment to the project and now i dont want to work on it anymore. So, since it has a working loop for gameplay already im gonna ship it here. That game has a playable demo in itch at https://bawad2.itch.io/space-janitors Also in the repo there is a file called “Hourly logs” in that file I have been writing down what i was working on what my plan is and what my thought process is from day one, I think it will be a interesting thing for you to check out. I hope you find my 53 hours interesting at the very least....
|
1793008099.5897875
|
1793094499.5897875
|
|
412
|
Stardance by @tongyu | Stardance
|
tongyu
|
0
|
51.26
|
0
|
[]
|
[{"post_id": 15185, "ts": "202 [{"post_id": 15185, "ts": "2026-06-24T17:55:52Z", "hours": 9.8014, "text": "i made streaks work :D this should update now!! also soon u will get profile badges n stuff"}, {"post_id": 10824, "ts": "2026-06-17T19:25:11Z", "hours": 6.8578, "text": "you can now tag people in devlogs and in comments (and also you can add slack emojis. ) @tongyu they’ll appear in your notifications bar. comment something and i’ll reply to you so you can try it out :p"}, {"post_id": 9371, "ts": "2026-06-15T18:27:09Z", "hours": 14.9747, "text": "i added gambling hooray! stardance rng day 1 🎲 7,538 · ranked #16 so far https://stardance.hackclub.com/rng"}, {"post_id": 2758, "ts": "2026-06-05T15:18:39Z", "hours": 4.3986, "text": "yippee win a free gpu :D"}, {"post_id": 2228, "ts": "2026-06-04T16:45:21Z", "hours": 15.2267, "text": "comment system is better now :)))) and you can ctrl+enter or cmd+enter to post comments or devlogs. yay!"}]...
|
Title: Stardance by @tongyu | Stardance
Devlogs:
Title: Stardance by @tongyu | Stardance
Devlogs:
comment system is better now :)))) and you can ctrl+enter or cmd+enter to post comments or devlogs. yay!
yippee win a free gpu :D
i added gambling hooray! stardance rng day 1 🎲 7,538 · ranked #16 so far https://stardance.hackclub.com/rng
you can now tag people in devlogs and in comments (and also you can add slack emojis. ) @tongyu they’ll appear in your notifications bar. comment something and i’ll reply to you so you can try it out :p
i made streaks work :D this should update now!! also soon u will get profile badges n stuff...
|
1792601235.574129
|
1793206035.574129
|
|
14537
|
Mana Rune by @Mo | Stardance
|
Mo
|
1
|
51.26
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T22:53:50Z", "hours": 51.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a data and texture pack for minecraft. I was a big project that added at least 49 custom items and a ton of custom textures, dimensions, advancements, and much more. The texture pack and playtesting were not counted in the hour count, but i’m guessing the total would be 150-200 hours. I hope anyone seeing this thinks that it is cool, even if they don’t play it.", "repo": "https://github.com/Im-not-a-banana/Mana-Rune", "demo": "https://onedrive.live.com/?sw=bypass&bypassReason=abandoned&qt=allmyphotos&photosData=%2Fshare%2FEFB52E9CE6833146%21s49e637cbd5b94cc5adf98c94f5ef94dc%3Fithint%3Dvideo%26e%3DfIjwP7%26migratedtospo%3Dtrue&cid=EFB52E9CE6833146&id=EFB52E9CE6833146%21s49e637cbd5b94cc5adf98c94f5ef94dc&redeem=aHR0cHM6Ly8xZHJ2Lm1zL3YvYy9lZmI1MmU5Y2U2ODMzMTQ2L0lRRExOLVpKdWRYRlRLMzVqSlQxNzVUY0FUX2pSVE5OcmZjM1BwOEZmc01SN2NjP2U9Zklqd1A3&startedResponseCatch=true&v=photos"}]...
|
[{"post_id": 26188, "ts": "202 [{"post_id": 26188, "ts": "2026-07-10T20:49:49Z", "hours": 0.255, "text": "I fixed a few minor things before finally being finished, such as all of the information about it, music playing too frequently in custom dimensions, and the player being able to get an infinite supply of amulets of class if they check the general information after level 4. This is my final devlog, and I know I haven’t been deoing too many. I just do them after fully finishing and polishing major features. Happy coding :)"}, {"post_id": 25486, "ts": "2026-07-09T19:54:15Z", "hours": 29.24, "text": "I finally finished. I added a lot of new features, like all of the archer amulets. I also finished the Info system and all custom advancements. The picture shows only about a third of them."}, {"post_id": 14553, "ts": "2026-06-23T18:32:55Z", "hours": 19.9692, "text": "I’m adding four (maybe +) custom biomes and two (maybe+) dimensions. I also added custom enchantements, sitting, and lots of more custom items with custom textures."}, {"post_id": 6503, "ts": "2026-06-10T22:38:12Z", "hours": 2.0472, "text": "Some of the features and most of the custom items in my data/texture pack."}]...
|
Title: Mana Rune by @Mo | Stardance
Devlogs:
Some Title: Mana Rune by @Mo | Stardance
Devlogs:
Some of the features and most of the custom items in my data/texture pack.
I’m adding four (maybe +) custom biomes and two (maybe+) dimensions. I also added custom enchantements, sitting, and lots of more custom items with custom textures.
I finally finished. I added a lot of new features, like all of the archer amulets. I also finished the Info system and all custom advancements. The picture shows only about a third of them.
I fixed a few minor things before finally being finished, such as all of the information about it, music playing too frequently in custom dimensions, and the player being able to get an infinite supply of amulets of class if they check the general information after level 4. This is my final devlog, and I know I haven’t been deoing too many. I just do them after fully finishing and polishing major features. Happy coding :)
Ships:
I made a data and texture pack for minecraft. I was a big project that added at least 49 custom items and a ton of custom textures, dimensions, advancements, and much more. The texture pack and playtesting were not counted in the hour count, but i’m guessing the total would be 150-200 hours. I hope anyone seeing this thinks that it is cool, even if they don’t play it....
|
1793084144.3195443
|
1793170544.3195443
|
|
19265
|
NFC Monsters by @radsi | Stardance
|
radsi
|
1
|
51.0
|
108
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T16:26:11Z", "hours": 51.0, "multiplier": 2.75, "payout": 108, "blessing": "neutral", "text": "This is a mobile game that uses NFC technology to cast spells and execute actions… This is a very WIP project, I can’t event test it on my own phone so I uploaded a showcase video in case someone is interested!", "repo": "https://github.com/radsi/nfc-monsters", "demo": "https://www.youtube.com/watch?v=Tx2pvqhJloY"}]...
|
[{"post_id": 27756, "ts": "202 [{"post_id": 27756, "ts": "2026-07-13T16:22:16Z", "hours": 2.0864, "text": "first alpha release"}, {"post_id": 26628, "ts": "2026-07-11T15:39:57Z", "hours": 5.0958, "text": "New items, enemies, and random events, support for custom music on different map nodes, button to return to the main menu during a run and multiple fixes."}, {"post_id": 24094, "ts": "2026-07-07T13:17:05Z", "hours": 5.1831, "text": "Added a new Layer 3 boss, new events, event-exclusive items and spell unlocks, plus an editor export/import addon. Fixed multiple gameplay and visual bugs, improved random events, and reduced starting HP to 50."}, {"post_id": 20722, "ts": "2026-07-02T12:09:22Z", "hours": 4.9686, "text": "Improved enemy SFX, reworked the armor system into a separate bar, added enemy attack damage indicators, fixed the Spell Summon index bug, improved enemy buffs, and added new events."}, {"post_id": 17744, "ts": "2026-06-28T17:40:48Z", "hours": 4.4111, "text": "Added seed-based generation, new events and items, improved combat feedback, more sound effects, and fixed multiple bugs."}, {"post_id": 15194, "ts": "2026-06-24T18:12:45Z", "hours": 5.4392, "text": "Added unlock notifications, new random events and boss, improved combat feedback, audio, balancing, and added new enemies, items, and spells."}, {"post_id": 12585, "ts": "2026-06-20T15:32:36Z", "hours": 4.0233, "text": "Added new audio, fixed key gameplay bugs, improved UI (tooltips, inventory scroll, gallery), and expanded content with new items, enemies, bosses, and effects."}, {"post_id": 9944, "ts": "2026-06-16T13:58:01Z", "hours": 19.4583, "text": "Slay the Spire inspired game that uses Android NFC to cast spells and perform actions. Right now im working on the base game before starting to add events, items and so"}]...
|
Title: NFC Monsters by @radsi | Stardance
Devlogs Title: NFC Monsters by @radsi | Stardance
Devlogs:
Slay the Spire inspired game that uses Android NFC to cast spells and perform actions. Right now im working on the base game before starting to add events, items and so
Added new audio, fixed key gameplay bugs, improved UI (tooltips, inventory scroll, gallery), and expanded content with new items, enemies, bosses, and effects.
Added unlock notifications, new random events and boss, improved combat feedback, audio, balancing, and added new enemies, items, and spells.
Added seed-based generation, new events and items, improved combat feedback, more sound effects, and fixed multiple bugs.
Improved enemy SFX, reworked the armor system into a separate bar, added enemy attack damage indicators, fixed the Spell Summon index bug, improved enemy buffs, and added new events.
Added a new Layer 3 boss, new events, event-exclusive items and spell unlocks, plus an editor export/import addon. Fixed multiple gameplay and visual bugs, improved random events, and reduced starting HP to 50.
New items, enemies, and random events, support for custom music on different map nodes, button to return to the main menu during a run and multiple fixes.
first alpha release
Ships:
This is a mobile game that uses NFC technology to cast spells and execute actions… This is a very WIP project, I can’t event test it on my own phone so I uploaded a showcase video in case someone is interested!...
|
1793094774.5689447
|
1793181174.5689447
|
|
23309
|
zzzclip by @nosrep | Stardance
|
nosrep
|
1
|
51.0
|
840
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T21:15:59Z", "hours": 51.0, "multiplier": 19.28, "payout": 840, "blessing": "neutral", "text": "ever since I was a wee lad I’ve never found a clipboard manager that’s fully worked how I wanted it. A lot can’t handle images correctly, and even fewer can handle multiple MIME types (multiple types of content) simultaneously. Not a lot can persist clipboard content properly either; some don’t wait until the program has exited to replace. So, in 2023, I decided to make my own clipboard manager! I wasn’t very good, though, so it never got to a usable state. This year, I picked the project back up, figured out the blockers (lazy persistence is a lot more annoying than it sounds), and finally added all the features needed for a proper clipboard manager. zzzclip can: store your history. hopefully this was obvious. persist clipboard content. another fun fact: the data in your clipboard doesn’t actually exist to your compositor/WM/DE. if a program exits while something is copied from it, that data is GONE unless it was backed up. that’s what zzzclip does! it backs up the clipboard data and “copies” it again once the program providing it exits. represent your clipboard as files. ever find a website that reaallly wants you to upload a file and won’t take your ctrl-v? zzzclip can fix that! zzzclip also has a configurable system to set which MIME types you really care about, so it won’t store the same image 10 times in different formats every time you copy something. THIS IS FOR WAYLAND USERS ON LINUX ONLY. IF YOU ARE NOT A WAYLAND USER ON LINUX (OR, LIKE, BSD, IF YOU CAN FIGURE IT OUT), THIS IS NOT FOR YOU.", "repo": "https://github.com/Osrepnay/zzzclip", "demo": "https://github.com/Osrepnay/zzzclip/releases/tag/v0.1.0"}]...
|
[{"post_id": 22353, "ts": "202 [{"post_id": 22353, "ts": "2026-07-04T19:44:20Z", "hours": 4.4239, "text": "I have no idea how this devlog ended up so long Anyway, I cleaned up some potential crashes/undefined behavior, fixed up the README, and finally tagged a release + published to AUR! Spent a lot of time wrestling with static linking. I remember using old versions of linux before and getting glibc problems so I wanted to link it statically. I first tried using musl-gcc, but I ended up needing too many static versions of libraries so I just made a Dockerfile with alpine (which has static versions of basically everything) and made the binary there. Did you know PKGBUILDs are just bash scripts? I didn’t."}, {"post_id": 21105, "ts": "2026-07-02T21:58:27Z", "hours": 3.8542, "text": "the clipboard-as-files thing is added! I originally wanted to use FUSE/libfuse, but i realized i could just change the storage format to have the data be in a single file. now i’m just using symlinks instead, no dependencies this was relatively easy, ran into a couple of bugs but nothing too crazy. Biggest thing I got hung up on was which directory to put it in ($XDG_STATE_HOME? $XDG_DATA_HOME? ~/clipboard?). I eventually decided on $XDG_RUNTIME_DIR which seems mostly appropriate - the only thing is that it’s kinda annoying to access, but you could just make your own symlink, change the path with $ZZZCLIP_SYMLINK_PATH, or add a bookmark like in the screenshot. Another thing was to add extensions (e.g. .png) to the file, because apps like discord won’t recognize them if they don’t have extensions. I was initially gonna take and process one of the giant lists online, but then i found out most systems have a /etc/mime.types so i parsed that instead."}, {"post_id": 20183, "ts": "2026-07-01T18:49:37Z", "hours": 2.9758, "text": "I added some more options to the CLI, which ended up being a lot more annoying than i expected. Here are the ones I added: added to zzzclip list : -v: verbose mode. Verbose mode also lists the mimetype for a clipboard item. added to zzzclip get : -f: runs in foreground. Here’s something you might not have known: wl-copy starts a background process when you run it. The clipboard contents aren’t owned by the compositor, so a process has to be running to supply the data. I made zzzclip get do the same thing, but like wl-copy I added an option to make it run in the foreground. -s: output summary. It’s basically zzzclip list -v but only for one item. -l: list stored mime types. It lists the mime types for an item. -m : directly prints the data for an item."}, {"post_id": 18165, "ts": "2026-06-29T05:56:47Z", "hours": 3.1797, "text": "big ticket is overhauling the config format. Previously, the index looked like this: 4a93d8d7 6b5d69df 2143c202 Each random string of 8 characters was a label for data under a particular mime type, and each line was a selection (a selection can have multiple mimetypes). Each label had its own file to store the actual clipboard data, with the mimetype included in that file. this worked fine, but I’ve been wanting to implement the feature where the current clipboard contents are accessible via file. If I moved the mimetype out of the data files, I could just use symlinks because each file has exactly the data I need; using the old format, i’d need to use libfuse to make “fake” files without the mimetypes instead. this was a lot more annoying than i expected (thank god for address sanitizer, caught many mistakes), but I eventually got it working. I think i’m nearing the finish line"}, {"post_id": 17963, "ts": "2026-06-28T22:31:36Z", "hours": 4.0781, "text": "lots of minor-ish stuff for this batch of changes. Biggest change is actually adding proper cli parsing and help messages! previously, the cli was extremely bare-bones and just good enough to actually work but didn’t have any decent error handling or help messages. I’ve also ditched the option that runs the selector program (e.g. rofi, fuzzel). I didn’t know about he -nth those programs have, which let you hide data from the selector, so that functionality was kinda redundant. (also the sizes are human-readable now, i.e. in kb/mb/gb instead of just raw bytes)"}, {"post_id": 16987, "ts": "2026-06-27T15:51:35Z", "hours": 6.7522, "text": "the tests were bad. I fixed them and now everything passes. hooray! Anyway, welcome to macro hell! i’ve been working through the todo list and one of the items I wanted to hit was to support the ext-data-control protocol on top of the wlr-data-control protocol. Wayland compositors work on “protocols,” and not every compositor supports every protocol; the *-data-control protocols are what allow clipboard managers to mess with the clipboard. wlr-data-control was first (i think) and is only supported by wlroots-based compositors, but ext-data-control is the standard now. (except the compositor I use, river, doesn’t support it yet…) The problem with supporting both is that C is not a very expressive language. I had to generate wrapper functions for every function supplied by the protocol, which was bad enough, but I also had to write wrapper functions for my own functions that were used in listeners. This part could have been so much worse, but I was able to hide some function pointers in the user data and cut down even more boilerplate. Not fun. 3/10."}, {"post_id": 14809, "ts": "2026-06-24T01:36:55Z", "hours": 3.3247, "text": "there’s always the boring janitorial stuff (e.g. i renamed a few files, moved some stuff around, fixed a mem leak and a potential crash, etc.) the cooler change is that I finally added testing! testing an app like this is infinitely more annoying than something like a chess engine (shameless plug) because it’s built around IO. I followed in fuzzel ’s footsteps and did integration testing in a shell script, which isn’t something i realized is practical until seeing it used there. the very sparse tests actually already did find a bug, but i’ll fix it later…… the testing is to set up more disruptive features i’ll add later, like implementing the ext-data-control protocol on top of wlr-data-control, and I want to make sure they won’t break anything without having to manually test"}, {"post_id": 14166, "ts": "2026-06-23T04:52:15Z", "hours": 1.7025, "text": "two things: finally got rid of libpcre2. For the people that didn’t read the previous devlog, I needed a regex implementation as part of the user-provided mimetype selection, but I didn’t realize POSIX had one in regex.h and pcre seemed like the standard. POSIX regexes should be more than enough, though, so that’s a dependency killed added locking and index refreshing. nothing was locked previously which is Not Good™️, but more importantly, the daemon never refreshed the index of clipboard data, so if i deleted one, the index would get rewritten anyway with the deleted file and corrupt it. Solution was to stop persisting the index and only read it when it’s used."}, {"post_id": 13561, "ts": "2026-06-22T06:20:10Z", "hours": 3.2839, "text": "minor changes for this devlog. spent way more time than is reasonable thinking of the best way to deal with allocation failures… it seems like everyone online has a different opinion on it. I tried doing it “properly” before seeing how many lines of checks that would require for a codepath that would realistically never get hit, so I gave up and just did xmalloc (basically, a wrapper around malloc that exits with an error message when it fails). Also in the theme of error handling, I did a sweep of the code and wrapped (most) of the io functions I missed to check for failure. it seems like overkill… there has to be a better way but maybe this is how it is. Finally, I switched from libpcre2 to posix regex.h. I didn’t realize POSIX had a regex.h and it’s way more than is required for this use-case (matching mimetypes)."}, {"post_id": 12902, "ts": "2026-06-21T04:06:31Z", "hours": 17.6878, "text": "I started this project much earlier than stardance (it’s years old by now), but it’s only recently become usable. think of this devlog as motivation/background the main goal was to make a clipboard manager that could persist clipboard selections after applications closed have configurable mimetype selection Here’s something interesting you might not have known about linux clipboards (both wayland and x11): the data doesn’t actually exist until a client requests it. This is how applications like firefox offer 20 morbillion image types; it’s converting the image on-the-fly. Given this, it’s impractical to request every offered type, so most clipboard managers I’ve found solve this by giving up and only doing text or text+hardcoded image mimetypes. zzzclip has a probably-overcomplicated system that lets you configure which mimetypes it’ll remember and priority between mimetypes (plus regexes). Another feature I want to add eventually is a FUSE clipboard system where it can make a “fake” (meaning it’s backed by the program, not something on disk) file holding the current clipboard contents. (as for what these 17 hours are actually for: it’s just adding config parsing and a load of cleanups.)"}]...
|
Title: zzzclip by @nosrep | Stardance
Devlogs:
I Title: zzzclip by @nosrep | Stardance
Devlogs:
I started this project much earlier than stardance (it’s years old by now), but it’s only recently become usable. think of this devlog as motivation/background the main goal was to make a clipboard manager that could persist clipboard selections after applications closed have configurable mimetype selection Here’s something interesting you might not have known about linux clipboards (both wayland and x11): the data doesn’t actually exist until a client requests it. This is how applications like firefox offer 20 morbillion image types; it’s converting the image on-the-fly. Given this, it’s impractical to request every offered type, so most clipboard managers I’ve found solve this by giving up and only doing text or text+hardcoded image mimetypes. zzzclip has a probably-overcomplicated system that lets you configure which mimetypes it’ll remember and priority between mimetypes (plus regexes). Another feature I want to add eventually is a FUSE clipboard system where it can make a “fake” (meaning it’s backed by the program, not something on disk) file holding the current clipboard contents. (as for what these 17 hours are actually for: it’s just adding config parsing and a load of cleanups.)
minor changes for this devlog. spent way more time than is reasonable thinking of the best way to deal with allocation failures… it seems like everyone online has a different opinion on it. I tried doing it “properly” before seeing how many lines of checks that would require for a codepath that would realistically never get hit, so I gave up and just did xmalloc (basically, a wrapper around malloc that exits with an error message when it fails). Also in the theme of error handling, I did a sweep of the code and wrapped (most) of the io functions I missed to check for failure. it seems like overkill… there has to be a better way but maybe this is how it is. Finally, I switched from libpcre2 to posix regex.h. I didn’t realize POSIX had a regex.h and it’s way more than is required for this use-case (matching mimetypes).
two things: finally got rid of libpcre2. For the people that didn’t read the previous devlog, I needed a regex implementation as part of the user-provided mimetype selection, but I didn’t realize POSIX had one in regex.h and pcre seemed like the standard. POSIX regexes should be more than enough, though, so that’s a dependency killed added locking and index refreshing. nothing was locked previously which is Not Good™️, but more importantly, the daemon never refreshed the index of clipboard data, so if i deleted one, the index would get rewritten anyway with the deleted file and corrupt it. Solution was to stop persisting the index and only read it when it’s used.
there’s always the boring janitorial stuff (e.g. i renamed a few files, moved some stuff around, fixed a mem leak and a potential crash, etc.) the cooler change is that I finally added testing! testing an app like this is infinitely more annoying than something like a chess engine (shameless plug) because it’s built around IO. I followed in fuzzel ’s footsteps and did integration testing in a shell script, which isn’t something i realized is practical until seeing it used there. the very sparse tests actually already did find a bug, but i’ll fix it later…… the testing is to set up more disruptive features i’ll add later, like implementing the ext-data-control protocol on top of wlr-data-control, and I want to make sure they won’t break anything without having to manually test
the tests were bad. I fixed them and now everything passes. hooray! Anyway, welcome to macro hell! i’ve been working through the todo list and one of the items I wanted to hit was to support the ext-data-control protocol on top of the wlr-data-control protocol. Wayland compositors work on “protocols,” and not every compositor supports every protocol; the *-data-control protocols are what allow clipboard managers to mess with the clipboard. wlr-data-control was first (i think) and is only supported by wlroots-based compositors, but ext-data-control is the standard now. (except the compositor I use, river, doesn’t support it yet…) The problem with supporting both is that C is not a very expressive language. I had to generate wrapper functions for every function supplied by the protocol, which was bad enough, but I also had to write wrapper functions for my own functions that were used in listeners. This part could have been so much worse, but I was able to hide some function pointers in the user data and cut down even more boilerplate. Not fun. 3/10.
lots of minor-ish stuff for this batch of changes. Biggest change is actually adding proper cli parsing and help messages! previously, the cli was extremely bare-bones and just good enough to actually work but didn’t have any decent error handling or help messages. I’ve also ditched the option that runs the selector program (e.g. rofi, fuzzel). I didn’t know about he -nth those programs have, which let you hide data from the selector, so that functionality was kinda redundant. (also the sizes are human-readable now, i.e. in kb/mb/gb instead of just raw bytes)
big ticket is overhauling the config format. Previously, the index looked like this: 4a93d8d7 6b5d69df 2143c202 Each random string of 8 characters was a label for data under a particular mime type, and each line was a selection (a selection can have multiple mimetypes). Each label had its own file to store the actual clipboard data, with the mimetype included in that file. this worked fine, but I’ve been wanting to implement the feature where the current clipboard contents are accessible via file. If I moved the mimetype out of the data files, I could just use symlinks because each file has exactly the data I need; using the old format, i’d need to use libfuse to make “fake” files without the mimetypes instead. this was a lot more annoying than i expected (thank god for address sanitizer, caught many mistakes), but I eventually got it working. I think i’m nearing the finish line
I added some more options to the CLI, which ended up being a lot more annoying than i expected. Here are the ones I added: added to zzzclip list : -v: verbose mode. Verbose mode also lists the mimetype for a clipboard item. added to zzzclip get : -f: runs in foreground. Here’s something you might not have known: wl-copy starts a background process when you run it. The clipboard contents aren’t owned by the compositor, so a process has to be running to supply the data. I made zzzclip get do the same thing, but like wl-copy I added an option to make it run in the foreground. -s: output summary. It’s basically zzzclip list -v but only for one item. -l: list stored mime types. It lists the mime types for an item. -m : directly prints the data for an item.
the clipboard-as-files thing is added! I originally wanted to use FUSE/libfuse, but i realized i could just change the storage format to have the data be in a single file. now i’m just using symlinks instead, no dependencies this was relatively easy, ran into a couple of bugs but nothing too crazy. Biggest thing I got hung up on was which directory to put it in ($XDG_STATE_HOME? $XDG_DATA_HOME? ~/clipboard?). I eventually decided on $XDG_RUNTIME_DIR which seems mostly appropriate - the only thing is that it’s kinda annoying to access, but you could just make your own symlink, change the path with $ZZZCLIP_SYMLINK_PATH, or add a bookmark like in the screenshot. Another thing was to add extensions (e.g. .png) to the file, because apps like discord won’t recognize them if they don’t have extensions. I was initially gonna take and process one of the giant lists online, but then i found out most systems have a /etc/mime.types so i parsed that instead.
I have no idea how this devlog ended up so long Anyway, I cleaned up some potential crashes/undefined behavior, fixed up the README, and finally tagged a release + published to AUR! Spent a lot of time wrestling with static linking. I remember using old versions of linux before and getting glibc problems so I wanted to link it statically. I first tried using musl-gcc, but I ended up needing too many static versions of libraries so I just made a Dockerfile with alpine (which has static versions of basically everything) and made the binary there. Did you know PKGBUILDs are just bash scripts? I didn’t.
Ships:
ever since I was a wee lad I’ve never found a clipboard manager that’s fully worked how I wanted it. A lot can’t handle images correctly, and even fewer can handle multiple MIME types (multiple types of content) simultaneously. Not a lot can persist clipboard content properly either; some don’t wait until the program has exited to replace. So, in 2023, I decided to make my own clipboard manager! I wasn’t very good, though, so it never got to a usable state. This year, I picked the project back up, figured out the blockers (lazy persistence is a lot more annoying than it sounds), and finally added all the features needed for a proper clipboard manager. zzzclip can: store your history. hopefully this was obvious. persist clipboard content. another fun fact: the data in your clipboard doesn’t actually exist to your compositor/WM/DE. if a program exits while something is copied from it, that data is GONE unless it was backed up. that’s what zzzclip does! it backs up the clipboard data and “copies” it again once the program providing it exits. represent your clipboard as files. ever find a website that reaallly wants you to upload a file and won’t take your ctrl-v? zzzclip can fix that! zzzclip also has a configurable system to set which MIME types you really care about, so it won’t store the same image 10 times in different formats every time you copy something. THIS IS FOR WAYLAND USERS ON LINUX ONLY. IF YOU ARE NOT A WAYLAND USER ON LINUX (OR, LIKE, BSD, IF YOU CAN FIGURE IT OUT), THIS IS NOT FOR YOU....
|
1793066128.6177595
|
1793152528.6177595
|