|
59857
|
The Code of the Universe by @Luna1818 | Stardance
|
Luna1818
|
0
|
43.16
|
0
|
[]
|
[{"post_id": 75384, "ts": "202 [{"post_id": 75384, "ts": "2026-09-29T21:58:18Z", "hours": 6.5808, "text": "Today I FINALLY got StellarQuiz fully working!! YAYYY It took me way longer than expected because I had to rework part of the Gemini API integration. The main problem was the 503 error, which kept showing up constantly whenever Gemini was temporarily unavailable or overloaded, plus a few other API-related issues that I had to figure out along the way. So I had to spend some time improving the error (boriiing). It can now recognize different API responses, automatically retry when Gemini is temporarily unavailable, and handle the daily Gemini usage limit separately. If that limit is reached, the user gets a custom screen instead of a random technical error. I also separated StellarQuiz into its own Gemini API project, so the whole system is much more organized and reliable now. Soooo StellarQuiz is officially done!! yippie yippie yippie Extra to that, I already started working on the Space Culture section. It’s actually almost finished tbh, I’m mainly missing the multimedia part and some content before I can call it complete. Later today I’ll show you guys the result of the Missions section too! That one is going to require a little bit of research first because I want the information and structure to actually make sense instead of just filling the page with random stuff lolll Once I work on it, I’ll update you guys on how it went and explain the logic I decided to use for Missions. Getting REEEALLY close to finishing the entire project now let’s goooo"}, {"post_id": 74751, "ts": "2026-09-28T04:23:54Z", "hours": 3.0125, "text": "Today I FINALLY finished uploading and organizing all the images for the STEAM sections, and I also got StellarQuiz working!! Btw, StellarQuiz is the interactive quiz section of the website, where users can answer questions from different STEAM topics, get randomized answer choices, and see their results at the end. P.S. StellarQuiz has definitely been the most complicated part of the project so far 😭 so I did need some help from AI while figuring out parts of the programming, but I still had to test everything, fix bugs, and understand how it all worked. I still want to improve the aesthetics a little, but I’m honestly really happy with the progress. Definitely learned something new today lolllll. I wish I could give you guys a preview of how StellarQuiz looks when it displays the quiz itself, but I ran out of tokens for the free version of Gemini, which is the API I’m currently using for StellarQuiz and Rovertita (the website’s AI space assistant that answers any questions users have about space). So overall, I’m now only missing two sections of my website, Missions section and Space Culture, which I’ll later update about them (tomorrow lol)."}, {"post_id": 74343, "ts": "2026-09-27T06:29:01Z", "hours": 4.1633, "text": "Still working on all the images for the STEAM sections. I’ve been uploading, organizing, and fixing the visual content so everything looks polished. It’s taking forever lol, but I’m finally getting really close to finishing this part (I hope so)"}, {"post_id": 73832, "ts": "2026-09-26T03:43:35Z", "hours": 2.4617, "text": "Today I’ve been working on uploading and organizing the images for the STEAM content sections, which took way longer than I expected, but I’m almost done with them now. The website is finally looking way more complete and everything is starting to come together (wish me luck lol)"}, {"post_id": 72497, "ts": "2026-09-23T02:34:35Z", "hours": 26.9444, "text": "Been working a lot on The Code of the Universe lately, I’ve been improving the website in VS Code, fixing bugs, working on the STEAM sections, animations, navigation, responsive design, and the quiz area. Some parts are taking way longer than expected lol, but the project is finally starting to come together and I’m really happy with the progress :)"}]...
|
Title: The Code of the Universe by @Luna1818 | Sta Title: The Code of the Universe by @Luna1818 | Stardance
Devlogs:
Been working a lot on The Code of the Universe lately, I’ve been improving the website in VS Code, fixing bugs, working on the STEAM sections, animations, navigation, responsive design, and the quiz area. Some parts are taking way longer than expected lol, but the project is finally starting to come together and I’m really happy with the progress :)
Today I’ve been working on uploading and organizing the images for the STEAM content sections, which took way longer than I expected, but I’m almost done with them now. The website is finally looking way more complete and everything is starting to come together (wish me luck lol)
Still working on all the images for the STEAM sections. I’ve been uploading, organizing, and fixing the visual content so everything looks polished. It’s taking forever lol, but I’m finally getting really close to finishing this part (I hope so)
Today I FINALLY finished uploading and organizing all the images for the STEAM sections, and I also got StellarQuiz working!! Btw, StellarQuiz is the interactive quiz section of the website, where users can answer questions from different STEAM topics, get randomized answer choices, and see their results at the end. P.S. StellarQuiz has definitely been the most complicated part of the project so far 😭 so I did need some help from AI while figuring out parts of the programming, but I still had to test everything, fix bugs, and understand how it all worked. I still want to improve the aesthetics a little, but I’m honestly really happy with the progress. Definitely learned something new today lolllll. I wish I could give you guys a preview of how StellarQuiz looks when it displays the quiz itself, but I ran out of tokens for the free version of Gemini, which is the API I’m currently using for StellarQuiz and Rovertita (the website’s AI space assistant that answers any questions users have about space). So overall, I’m now only missing two sections of my website, Missions section and Space Culture, which I’ll later update about them (tomorrow lol).
Today I FINALLY got StellarQuiz fully working!! YAYYY It took me way longer than expected because I had to rework part of the Gemini API integration. The main problem was the 503 error, which kept showing up constantly whenever Gemini was temporarily unavailable or overloaded, plus a few other API-related issues that I had to figure out along the way. So I had to spend some time improving the error (boriiing). It can now recognize different API responses, automatically retry when Gemini is temporarily unavailable, and handle the daily Gemini usage limit separately. If that limit is reached, the user gets a custom screen instead of a random technical error. I also separated StellarQuiz into its own Gemini API project, so the whole system is much more organized and reliable now. Soooo StellarQuiz is officially done!! yippie yippie yippie Extra to that, I already started working on the Space Culture section. It’s actually almost finished tbh, I’m mainly missing the multimedia part and some content before I can call it complete. Later today I’ll show you guys the result of the Missions section too! That one is going to require a little bit of research first because I want the information and structure to actually make sense instead of just filling the page with random stuff lolll Once I work on it, I’ll update you guys on how it went and explain the logic I decided to use for Missions. Getting REEEALLY close to finishing the entire project now let’s goooo...
|
1793029940.630324
|
1793634740.630324
|
|
10043
|
CoolCompanion by @Gamer123 | Stardance
|
Gamer123
|
0
|
43.13
|
0
|
[]
|
[{"post_id": 75081, "ts": "202 [{"post_id": 75081, "ts": "2026-09-29T02:53:21Z", "hours": 3.44, "text": "Dev Log #12 Its done! All that is left is to film the video and get it submitted before the closing date…. I may have taken a break that was about a month long…"}, {"post_id": 35072, "ts": "2026-07-26T08:10:01Z", "hours": 4.5008, "text": "Dev Log #11 GOOD NEWS THE PERF BOARDS WORKED! So it took me a long time to get the perf boards to work but now they work! So now i got to finish the firmware and finish the soldering for the temp sensor"}, {"post_id": 34455, "ts": "2026-07-25T05:44:05Z", "hours": 1.4992, "text": "Dev Log #10 So i got my new boards, Minus the air bubbles under the solder pads, I tried them and the same design flaw remains, Now I’m going to perf board, if this doesn’t work then i got to get even more creative for this. Or if i can find out the flaw exactly then ill redesign PCB’s"}, {"post_id": 31096, "ts": "2026-07-19T06:59:06Z", "hours": 3.3553, "text": "Dev Log #9 More problems, so during my process of getting a board to work so i can finish software, i discovered a design error and i cant track back exactly what the problem is however its causing major issues, so now back to the drawing board…"}, {"post_id": 30494, "ts": "2026-07-18T03:35:26Z", "hours": 1.0167, "text": "Dev Log #8 Slightly more interesting news, So i received my new boards from oshpark and started soldering however then i noticed that the solder mask was not fully cured on the boards and have since contacted support and now it is in the works of getting me replacements.. For now im going to try and use a pcb from the previous manufacturer to try and get a working prototype again so i can continue work on software."}, {"post_id": 23322, "ts": "2026-07-06T06:24:48Z", "hours": 4.6553, "text": "Dev Log #7 Well…. Sad news… The PCB that i had designed and had printed and i was assembling… Somehow the trace broke internally. I verified it with a multimeter that the 5v rail was not functioning properly and took the necessary troubleshooting steps. This all happened when i was working on the code, Not really sure how it broke but now i have decided to make a few changes to the board pad sizes for easier soldering on this version, and to get it from a new manufacture. Time to wait for shipping again, Wish me luck! (Also the code i am making is coming along well!)"}, {"post_id": 19847, "ts": "2026-07-01T07:46:33Z", "hours": 10.4306, "text": "Dev Log #6 After much much time, I finally received the parts and got to soldering… unfortunately i messed up one of the boards…. But i tried again with the parts i had left over, and it works! all that is missing is the fan being connected but im waiting to build software before that! Thank you for sticking along with me on this journey hopefully it can be done soon! (And yes i did have to do some repairs on the circuit design as the cheap board pads broke)"}, {"post_id": 11750, "ts": "2026-06-19T04:12:23Z", "hours": 3.9244, "text": "Dev Log #5 It’s almost done, everyone! The model has been completed, the circuitry is done, and the PCB is finished. All that is left is to assemble it all together (sanding 3D prints, soldering, etc.) Looking forward to showing my progress. All the parts should be in my hands in about a week or so. See you then!"}, {"post_id": 10497, "ts": "2026-06-17T07:42:22Z", "hours": 5.1117, "text": "Dev Log #4 Work and more work, Over the last day or so i have been working on the PCB, after forgetting to add the temperature sensor to the test circuit i went back and added that as well, the PCB is almost complete all is left is routing the traces and some last finishing touches, here is a rundown of what has been done so far across the project Completed sketches; Completed Test Circuitry; 90% Completion of the 3D model; 85% Completion of the PCB; Overall project: ~75%"}, {"post_id": 9549, "ts": "2026-06-15T22:32:17Z", "hours": 1.2525, "text": "Dev Log #3 Major Major progress has been made so far; the circuit has been tested and is working, showing the current fan RPM and the ability to change the fan speed via the rotary encoder. It is only on breadboards; however, the next step is PCB design, then finishing the model!"}, {"post_id": 7775, "ts": "2026-06-13T00:03:11Z", "hours": 2.7378, "text": "Dev Log #2 In the past several days, I have been working on the enclosure for the whole device, With it being close to 90% done, with the only left to do is finish the circuit then make sure it will all fit inside. The “CoolCompanion” is one more step towards revolutionizing your way of cooling."}, {"post_id": 5461, "ts": "2026-06-09T08:03:59Z", "hours": 1.205, "text": "We ALL have this problem! No matter if you are at home or at the office, we ALL have this problem! The problem I am talking about? Well, I mean a very simple one: being too hot and making you uncomfortable. Normal fans? They may work just fine; however, they are not smart. They don’t know when you are comfortable, and they don’t know how annoying they may be. As someone who lives in Las Vegas, Nevada, where temperatures can reach past a hundred degrees Fahrenheit (~38 degrees Celsius), I believe that I am very experienced in this topic and well equipped to make a solution to this problem. No matter where you may live, this may help you. And the solution? Sensors and the ability to tune your fan to your preferences! This includes: a temperature sensor a rotary encoder an LCD/OLED screen This means you can tune your fan to turn on and off whenever it gets too hot, no more fighting over turning the fan on and off manually, and the ability to change fan speed allows you to make sure the fan doesn’t get too loud or simply so it doesn’t mess up your hair (totally no personal experience in this) Within my first hour of this project, I have worked on getting measurements and working on designs for my project, inspired by a classic desktop fan."}]...
|
Title: CoolCompanion by @Gamer123 | Stardance
Dev Title: CoolCompanion by @Gamer123 | Stardance
Devlogs:
We ALL have this problem! No matter if you are at home or at the office, we ALL have this problem! The problem I am talking about? Well, I mean a very simple one: being too hot and making you uncomfortable. Normal fans? They may work just fine; however, they are not smart. They don’t know when you are comfortable, and they don’t know how annoying they may be. As someone who lives in Las Vegas, Nevada, where temperatures can reach past a hundred degrees Fahrenheit (~38 degrees Celsius), I believe that I am very experienced in this topic and well equipped to make a solution to this problem. No matter where you may live, this may help you. And the solution? Sensors and the ability to tune your fan to your preferences! This includes: a temperature sensor a rotary encoder an LCD/OLED screen This means you can tune your fan to turn on and off whenever it gets too hot, no more fighting over turning the fan on and off manually, and the ability to change fan speed allows you to make sure the fan doesn’t get too loud or simply so it doesn’t mess up your hair (totally no personal experience in this) Within my first hour of this project, I have worked on getting measurements and working on designs for my project, inspired by a classic desktop fan.
Dev Log #2 In the past several days, I have been working on the enclosure for the whole device, With it being close to 90% done, with the only left to do is finish the circuit then make sure it will all fit inside. The “CoolCompanion” is one more step towards revolutionizing your way of cooling.
Dev Log #3 Major Major progress has been made so far; the circuit has been tested and is working, showing the current fan RPM and the ability to change the fan speed via the rotary encoder. It is only on breadboards; however, the next step is PCB design, then finishing the model!
Dev Log #4 Work and more work, Over the last day or so i have been working on the PCB, after forgetting to add the temperature sensor to the test circuit i went back and added that as well, the PCB is almost complete all is left is routing the traces and some last finishing touches, here is a rundown of what has been done so far across the project Completed sketches; Completed Test Circuitry; 90% Completion of the 3D model; 85% Completion of the PCB; Overall project: ~75%
Dev Log #5 It’s almost done, everyone! The model has been completed, the circuitry is done, and the PCB is finished. All that is left is to assemble it all together (sanding 3D prints, soldering, etc.) Looking forward to showing my progress. All the parts should be in my hands in about a week or so. See you then!
Dev Log #6 After much much time, I finally received the parts and got to soldering… unfortunately i messed up one of the boards…. But i tried again with the parts i had left over, and it works! all that is missing is the fan being connected but im waiting to build software before that! Thank you for sticking along with me on this journey hopefully it can be done soon! (And yes i did have to do some repairs on the circuit design as the cheap board pads broke)
Dev Log #7 Well…. Sad news… The PCB that i had designed and had printed and i was assembling… Somehow the trace broke internally. I verified it with a multimeter that the 5v rail was not functioning properly and took the necessary troubleshooting steps. This all happened when i was working on the code, Not really sure how it broke but now i have decided to make a few changes to the board pad sizes for easier soldering on this version, and to get it from a new manufacture. Time to wait for shipping again, Wish me luck! (Also the code i am making is coming along well!)
Dev Log #8 Slightly more interesting news, So i received my new boards from oshpark and started soldering however then i noticed that the solder mask was not fully cured on the boards and have since contacted support and now it is in the works of getting me replacements.. For now im going to try and use a pcb from the previous manufacturer to try and get a working prototype again so i can continue work on software.
Dev Log #9 More problems, so during my process of getting a board to work so i can finish software, i discovered a design error and i cant track back exactly what the problem is however its causing major issues, so now back to the drawing board…
Dev Log #10 So i got my new boards, Minus the air bubbles under the solder pads, I tried them and the same design flaw remains, Now I’m going to perf board, if this doesn’t work then i got to get even more creative for this. Or if i can find out the flaw exactly then ill redesign PCB’s
Dev Log #11 GOOD NEWS THE PERF BOARDS WORKED! So it took me a long time to get the perf boards to work but now they work! So now i got to finish the firmware and finish the soldering for the temp sensor
Dev Log #12 Its done! All that is left is to film the video and get it submitted before the closing date…. I may have taken a break that was about a month long…...
|
1792677143.9620972
|
1793281943.9620972
|
|
27301
|
Java Neural Network from Scratch by @rubfiber | St Java Neural Network from Scratch by @rubfiber | Stardance...
|
rubfiber
|
0
|
43.1
|
0
|
[]
|
[{"post_id": 71320, "ts": "202 [{"post_id": 71320, "ts": "2026-09-20T16:57:12Z", "hours": 6.1572, "text": "I haven’t been able to do much because of schoolwork, but I worked on GPU acceleration, which I am not able to finish for a bit. I made an im2col and col2im GPU acceleration program, and I will add more . However, for now, this is all I am able to complete."}, {"post_id": 47837, "ts": "2026-08-16T01:45:48Z", "hours": 8.3722, "text": "These past few days, I have been working on almost entirely training/testing and fine-tuning. I added the ability to change activation function per neuron, which can be used in rare cases I mainly added a webcam ability, which is shown in the pictures below. It’s not very accurate, which can be a bad selection of network configurations or a bad dataset, which I’m leaning towards since the majority of it was just fruits on a white background with a few pictures I took myself. It also means the example weights and biases or not very accurate for fruits, as seen in the 3rd picture. It keeps thinking random objects are lime and tracking the wrong things, but with the right settings and a good dataset, I’m sure it can be good. The predictions are also happening in 3 ms, which is really good."}, {"post_id": 44753, "ts": "2026-08-10T18:47:10Z", "hours": 8.9017, "text": "Over these past 3 days I was able to add a better prediction and training for my convolutional neural network. im2col: I switched from traditional sliding over the image, which was inefficient, to an algorithm that enhances it. It first extracts patches by sliding the filter across the input tensor, extracting every patch (they overlap too). Each patch is 3D, so it must be flattened into a vector and then stacked to form a 2D array. The weights are then also stacked to form a 2D array. Finally, the 2 matrices are multiplied. backpropagation: The CNN also needs to learn, so it accumulates gradients, which it uses to calculate how much the error changes by modifying weights and bias. The opposite of im2col is also used to calculate errors. However, in the beginning, the dense layers also need to pass their errors back, so I made a method that passes errors, specifically for CNN backpropagation. Pooling layers: pooling layers are very important for CNNs, as they reduce the size of the feature maps, which can help cut down computing costs. It can also help the model recognize an object, even if its position is shifted slightly. I might implement a GPU-accelerated CNN using tornadoVM, but this will be challenging, as I may have to modify methods. However, for larger-scale networks, this might add a large performance boost."}, {"post_id": 43105, "ts": "2026-08-08T06:03:46Z", "hours": 6.1042, "text": "Over the past 2 days when I did not post a devlog. I managed to get a lot done. Instead of relying on hiddenLayersDepth and hiddenLayersWidth, the neteork now uses an array of layer sizes, allowing for more flexibility. I also added training based on Dataset classes, which are much easier for data organization by using ArrayLists (It didnt change the network architecture so I still am using arrays). I needed to convert 2D weight/bias arrays into ArrayLists, which made a static method in the util class for. After that, I did some cleanup by removing redundant variables, which made the code much less messy. Today, I worked on allowing to customize the activation functions used. For now you can only change one function for the whole hidden layer section, but I will add the ability to make an array later. I used an Enum and a bunch of methods from the util class to add relu, leaky relu, tanh, sigmoid, and softmax to the Activation enum. Also today, I started work on my convolutional neural network, which is the architecture used for object recognition. I finished most of the layers necessary, but I am yet to test its prediction for errors, so I have not pushed it to github yet. I have the filters and the feed forward network already done, so it shouldn’t be that hard."}, {"post_id": 41483, "ts": "2026-08-05T18:34:55Z", "hours": 2.0161, "text": "I added saving and loading the neural network - The network saves to a .bin file with a desired path, saving space. In a previous project I made a while ago, I used JSON files, which grew very large. This will hopefully save space. I made a new method in my util class. This helps convert a 1D array into a 2D one with a key, telling how many elements per layer. This will help when I switch over from hiddenLayersWidth and hiddenLayersDepth to an array of lengths."}, {"post_id": 41066, "ts": "2026-08-05T00:54:14Z", "hours": 4.4383, "text": "I added a better training method - Mini-Batch Gradient Descent. It trains the network in small batches instead of the whole dataset. I spent a few hours fixing bugs from implementing this. Attatched are screenshot of the network’s training performance. Although it is a small network being trained on a simple task, it is still nice to see that the network is running well. After that, I decided to try to implement training from the GPU using TornadoVM. It did not work, so I did not push to my repository. Once I get it working, however, I will."}, {"post_id": 39639, "ts": "2026-08-02T19:21:14Z", "hours": 2.8603, "text": "Neural network from scratch - added basic training I added a way to train the model, calculating deltas and adjusting for the errors. Here, I trained it to output the XOR values based on the inputs, where -1 is false and 1 is true. The network outputted answers which appeared to be true (very close to -1 and 1), and before they were outputting random noise. This shows that the network learned something."}, {"post_id": 37997, "ts": "2026-07-31T03:19:30Z", "hours": 2.8103, "text": "Neural network has a predict() method Although it currently outputs a random value since it can’t be trained yet, it is still a good milestone. I tested a network with 3 input neurons, 4 output neurons, and 2 hidden layers containing 4 neurons each. I ran the predictions 1 billion times based on random inputs. Here are the results: Total time: 167380.87 ms Speed per prediction: 0.000167 ms Per second: 5,974,399 predictions per second"}, {"post_id": 36823, "ts": "2026-07-29T03:50:22Z", "hours": 1.4397, "text": "Neural network - neuron compute function added and changed double to float for better performance"}]...
|
Title: Java Neural Network from Scratch by @rubfib Title: Java Neural Network from Scratch by @rubfiber | Stardance
Devlogs:
Neural network - neuron compute function added and changed double to float for better performance
Neural network has a predict() method Although it currently outputs a random value since it can’t be trained yet, it is still a good milestone. I tested a network with 3 input neurons, 4 output neurons, and 2 hidden layers containing 4 neurons each. I ran the predictions 1 billion times based on random inputs. Here are the results: Total time: 167380.87 ms Speed per prediction: 0.000167 ms Per second: 5,974,399 predictions per second
Neural network from scratch - added basic training I added a way to train the model, calculating deltas and adjusting for the errors. Here, I trained it to output the XOR values based on the inputs, where -1 is false and 1 is true. The network outputted answers which appeared to be true (very close to -1 and 1), and before they were outputting random noise. This shows that the network learned something.
I added a better training method - Mini-Batch Gradient Descent. It trains the network in small batches instead of the whole dataset. I spent a few hours fixing bugs from implementing this. Attatched are screenshot of the network’s training performance. Although it is a small network being trained on a simple task, it is still nice to see that the network is running well. After that, I decided to try to implement training from the GPU using TornadoVM. It did not work, so I did not push to my repository. Once I get it working, however, I will.
I added saving and loading the neural network - The network saves to a .bin file with a desired path, saving space. In a previous project I made a while ago, I used JSON files, which grew very large. This will hopefully save space. I made a new method in my util class. This helps convert a 1D array into a 2D one with a key, telling how many elements per layer. This will help when I switch over from hiddenLayersWidth and hiddenLayersDepth to an array of lengths.
Over the past 2 days when I did not post a devlog. I managed to get a lot done. Instead of relying on hiddenLayersDepth and hiddenLayersWidth, the neteork now uses an array of layer sizes, allowing for more flexibility. I also added training based on Dataset classes, which are much easier for data organization by using ArrayLists (It didnt change the network architecture so I still am using arrays). I needed to convert 2D weight/bias arrays into ArrayLists, which made a static method in the util class for. After that, I did some cleanup by removing redundant variables, which made the code much less messy. Today, I worked on allowing to customize the activation functions used. For now you can only change one function for the whole hidden layer section, but I will add the ability to make an array later. I used an Enum and a bunch of methods from the util class to add relu, leaky relu, tanh, sigmoid, and softmax to the Activation enum. Also today, I started work on my convolutional neural network, which is the architecture used for object recognition. I finished most of the layers necessary, but I am yet to test its prediction for errors, so I have not pushed it to github yet. I have the filters and the feed forward network already done, so it shouldn’t be that hard.
Over these past 3 days I was able to add a better prediction and training for my convolutional neural network. im2col: I switched from traditional sliding over the image, which was inefficient, to an algorithm that enhances it. It first extracts patches by sliding the filter across the input tensor, extracting every patch (they overlap too). Each patch is 3D, so it must be flattened into a vector and then stacked to form a 2D array. The weights are then also stacked to form a 2D array. Finally, the 2 matrices are multiplied. backpropagation: The CNN also needs to learn, so it accumulates gradients, which it uses to calculate how much the error changes by modifying weights and bias. The opposite of im2col is also used to calculate errors. However, in the beginning, the dense layers also need to pass their errors back, so I made a method that passes errors, specifically for CNN backpropagation. Pooling layers: pooling layers are very important for CNNs, as they reduce the size of the feature maps, which can help cut down computing costs. It can also help the model recognize an object, even if its position is shifted slightly. I might implement a GPU-accelerated CNN using tornadoVM, but this will be challenging, as I may have to modify methods. However, for larger-scale networks, this might add a large performance boost.
These past few days, I have been working on almost entirely training/testing and fine-tuning. I added the ability to change activation function per neuron, which can be used in rare cases I mainly added a webcam ability, which is shown in the pictures below. It’s not very accurate, which can be a bad selection of network configurations or a bad dataset, which I’m leaning towards since the majority of it was just fruits on a white background with a few pictures I took myself. It also means the example weights and biases or not very accurate for fruits, as seen in the 3rd picture. It keeps thinking random objects are lime and tracking the wrong things, but with the right settings and a good dataset, I’m sure it can be good. The predictions are also happening in 3 ms, which is really good.
I haven’t been able to do much because of schoolwork, but I worked on GPU acceleration, which I am not able to finish for a bit. I made an im2col and col2im GPU acceleration program, and I will add more . However, for now, this is all I am able to complete....
|
1792554862.790196
|
1793159662.790196
|
|
17883
|
Utils by @denis | Stardance
|
denis
|
1
|
43.01
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T13:51:25Z", "hours": 35.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Shipping! After a lot of work on these, I want to ship: The bash scripts from the utils repo : db_manager - Simple PostgreSQL database manager. ue5_asset_downloader - Faster way to download and share UE5 asset files via Google Drive. lazyass - Lightweight app launcher script. proxyfix - Simplified configuration file management for proxychains. dchfc tool - Displays children files’ content ( Releases ). So now I will fully focus on astmn , as I’ll need it for my next projects.", "repo": "https://github.com/denis1836/utils", "demo": "https://github.com/denis1836/utils/releases/tag/collection-v1"}]...
|
[{"post_id": 67529, "ts": "202 [{"post_id": 67529, "ts": "2026-09-13T17:27:19Z", "hours": 4.5181, "text": "Utils - fixes and some updates A lot of bugs showed up in testing, so fixed them. I also tested my utils on several minimal Linux distributions to ensure they work with less dependencies. Check out the releases . For the UE5 asset downloader script, I added a testing file to demonstrate its work. Additionally, there have been some updates to astmn , including new commands (view, pack, and update) as well as upcoming features. You can check it out here ."}, {"post_id": 58786, "ts": "2026-08-31T11:12:54Z", "hours": 3.4875, "text": "Utils - releases and docs Made a lot of docs, fixes and releases in order to re-ship the project. Hope this time judges will like it. If you want to check them out check out, see releases , or a doc I made with references and descriptions to all the things I mention in my devlogs."}, {"post_id": 56443, "ts": "2026-08-28T06:37:05Z", "hours": 10.3883, "text": "lazyass Have you ever been too lazy to manually launch the same bunch of apps every day? Me too. So I built a minimal CLI tool that turns a 20-second job into a 3-second job. Check out the repo ."}, {"post_id": 51601, "ts": "2026-08-21T11:25:40Z", "hours": 8.6014, "text": "astmn In my previous devlog about the UE5 bash script, I mentioned the better version of this tool this time built with Golang. The idea of the tool is to make sharing large binary files (like 3D models) easier and to escape the “_v2_FINAL_UPDATE_SUPERFINAL” hell by using SemVer and Git to track manifest files. It’s especially useful for game dev because you don’t have to clog your repo with assets or pay for Git LFS. For now it only works for .zip files and Google Drive, but in the near future I am going to add many more features making it as easy to use as possible. I have no idea what to show yet, so I attach some screenshots of it working and an example manifest file for FreeCAD, I dunno."}, {"post_id": 45729, "ts": "2026-08-12T12:33:26Z", "hours": 5.3386, "text": "Asset Downloader/Manager When my friends and I were trying to make a game in Unreal Engine 5 we had a problem with version control (which is easily resolved by a good gitignore file) and asset sharing. Because actor and map files can grow rapidly I had an idea to use some kind of a cloud, the easiest thing I thought of was using Google Drive (mostly because of its free 15GB limit). As my friends worked on Windows and only had access to MSYS2, Git Bash, Cygwin and WSL I decided to do it in Bash using JSON files as the “registries”. The asset registry files were located in the repo and tracked by Git while the asset files were downloaded locally. Also you can add pre-commit hooks so there is a check if you have all the assets downloaded. After a few tweaks and fixes, it wasn’t too shabby. In fact the script did its job quite well. If you are interested in the code, you can find it here . I may add some small updates to it, but nothing special. The main limitation was that Bash is a scripting language and it has its own tweaks. And I wanted more functionality. So, I decided to rebuild the idea with a better architecture using Golang and YAML. Right now, I don’t have the funds or a way to host a server, so it’ll use regular archives for now. In the future, I want to use hashing for optimization (similar to how Git works). It’s still in early development, but you can find the repo here ."}, {"post_id": 41290, "ts": "2026-08-05T12:47:48Z", "hours": 3.3328, "text": "D.Ch.F.C. The abbreviation stands for Display Children Files Content . The purpose of this command is self-explanatory. It’s quite handy when, for example, you have a lot of files and an AI needs context to help you find a bug in your code. Originally, this was meant to be part of my utils repo, but as its functionality grew, I moved it to a dedicated repo especially since I plan to package and submit it to Linux distro’s mirrors."}, {"post_id": 40005, "ts": "2026-08-03T11:01:52Z", "hours": 7.755, "text": "utils/db_manager In my other projects i often have to deal with PostgresSQL databases, and I was annoyed with using psql or systemd to do basic stuff like managing the postgres daemon or running the set-up queries myself. So I made this. Feel free to add fork it to your project (see instalation ) for better db management. If you encounter any bugs/issues or want to request a feature, please create an issue on GitHub so it can be fixed."}]...
|
Title: Utils by @denis | Stardance
Devlogs:
utils Title: Utils by @denis | Stardance
Devlogs:
utils/db_manager In my other projects i often have to deal with PostgresSQL databases, and I was annoyed with using psql or systemd to do basic stuff like managing the postgres daemon or running the set-up queries myself. So I made this. Feel free to add fork it to your project (see instalation ) for better db management. If you encounter any bugs/issues or want to request a feature, please create an issue on GitHub so it can be fixed.
D.Ch.F.C. The abbreviation stands for Display Children Files Content . The purpose of this command is self-explanatory. It’s quite handy when, for example, you have a lot of files and an AI needs context to help you find a bug in your code. Originally, this was meant to be part of my utils repo, but as its functionality grew, I moved it to a dedicated repo especially since I plan to package and submit it to Linux distro’s mirrors.
Asset Downloader/Manager When my friends and I were trying to make a game in Unreal Engine 5 we had a problem with version control (which is easily resolved by a good gitignore file) and asset sharing. Because actor and map files can grow rapidly I had an idea to use some kind of a cloud, the easiest thing I thought of was using Google Drive (mostly because of its free 15GB limit). As my friends worked on Windows and only had access to MSYS2, Git Bash, Cygwin and WSL I decided to do it in Bash using JSON files as the “registries”. The asset registry files were located in the repo and tracked by Git while the asset files were downloaded locally. Also you can add pre-commit hooks so there is a check if you have all the assets downloaded. After a few tweaks and fixes, it wasn’t too shabby. In fact the script did its job quite well. If you are interested in the code, you can find it here . I may add some small updates to it, but nothing special. The main limitation was that Bash is a scripting language and it has its own tweaks. And I wanted more functionality. So, I decided to rebuild the idea with a better architecture using Golang and YAML. Right now, I don’t have the funds or a way to host a server, so it’ll use regular archives for now. In the future, I want to use hashing for optimization (similar to how Git works). It’s still in early development, but you can find the repo here .
astmn In my previous devlog about the UE5 bash script, I mentioned the better version of this tool this time built with Golang. The idea of the tool is to make sharing large binary files (like 3D models) easier and to escape the “_v2_FINAL_UPDATE_SUPERFINAL” hell by using SemVer and Git to track manifest files. It’s especially useful for game dev because you don’t have to clog your repo with assets or pay for Git LFS. For now it only works for .zip files and Google Drive, but in the near future I am going to add many more features making it as easy to use as possible. I have no idea what to show yet, so I attach some screenshots of it working and an example manifest file for FreeCAD, I dunno.
lazyass Have you ever been too lazy to manually launch the same bunch of apps every day? Me too. So I built a minimal CLI tool that turns a 20-second job into a 3-second job. Check out the repo .
Utils - releases and docs Made a lot of docs, fixes and releases in order to re-ship the project. Hope this time judges will like it. If you want to check them out check out, see releases , or a doc I made with references and descriptions to all the things I mention in my devlogs.
Utils - fixes and some updates A lot of bugs showed up in testing, so fixed them. I also tested my utils on several minimal Linux distributions to ensure they work with less dependencies. Check out the releases . For the UE5 asset downloader script, I added a testing file to demonstrate its work. Additionally, there have been some updates to astmn , including new commands (view, pack, and update) as well as upcoming features. You can check it out here .
Ships:
Shipping! After a lot of work on these, I want to ship: The bash scripts from the utils repo : db_manager - Simple PostgreSQL database manager. ue5_asset_downloader - Faster way to download and share UE5 asset files via Google Drive. lazyass - Lightweight app launcher script. proxyfix - Simplified configuration file management for proxychains. dchfc tool - Displays children files’ content ( Releases ). So now I will fully focus on astmn , as I’ll need it for my next projects....
|
1793112716.9999998
|
1793199116.9999998
|
|
6146
|
Diana by @RedBlue | Stardance
|
RedBlue
|
1
|
43.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-21T07:23:42Z", "hours": 43.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built Diana — a memory-aware AI assistant that actually remembers you across conversations. Diana extracts structured facts from every chat (your projects, skills, goals, preferences) and injects them into every future response. No more explaining yourself from scratch every session. Stack: React + TypeScript frontend, Express backend, FastAPI AI service, PostgreSQL on Neon, deployed on Google Cloud Run + Vercel. To test: go to https://diana-six-theta.vercel.app , create an account, tell Diana something about yourself or what you’re building, then start a new chat and ask “what do you know about me?” — she’ll already know. What was challenging: deploying three separate services to production for the first time, both Groq models getting decommissioned mid-deployment, and debugging a CORS issue caused by an Express 5 breaking change. What I’m proud of: the memory pipeline works end to end — extract, store, retrieve, inject — and it genuinely makes the AI feel different.", "repo": "https://github.com/HJeandedieu/Diana", "demo": "https://diana-six-theta.vercel.app/"}]...
|
[{"post_id": 51489, "ts": "202 [{"post_id": 51489, "ts": "2026-08-21T07:18:57Z", "hours": 6.4872, "text": "Diana — Final Update: Shipped. The last piece was getting Diana off localhost and into the world. The backend and AI service landed on Google Cloud Run, the database on Neon, the frontend on Vercel — three services, one product, all talking to each other in production. It wasn’t without a fight. Both Groq models we’d been using were decommissioned the same week we deployed. Docker refused to generate the Prisma client without a database URL at build time. Cloud Run silently dropped env vars. The auth token expired mid-deploy. Each one got fixed, and by the end Diana was running live — memory extraction, context injection, session persistence, the full pipeline — on real infrastructure. Diana is live at https://diana-six-theta.vercel.app Progress: Backend → AI Service → Memory System → Context Injection → Authentication → Component Library → Application Screens → UI Integration → Live Data → Shipped."}, {"post_id": 46629, "ts": "2026-08-14T00:57:19Z", "hours": 4.08, "text": "The frontend foundation met the backend this week and everything clicked into place. Real data replaced the mocks — sessions create automatically on load, conversations persist across visits, and the chat pipeline is fully live end to end. The Memories screen went from a shell to a working dashboard, with filters, inline editing, and deletion all connected to the database. On the first real test, Diana loaded two memories — “User built Diana” and “User knows Express” — exactly what she was supposed to remember. It wasn’t without a fight. CORS blocked the first login attempt because Express 5 was intercepting preflight requests before the middleware could run — downgraded to Express 4 and it resolved immediately. Sessions weren’t being created on the frontend so every chat request returned a 404. Messages rendered as empty bubbles until the controller response shape was corrected to return a full message object. Each one got fixed, and by the end of the week Diana was having real, memory-aware conversations through a UI that feels like something worth using. Progress: Backend → AI Service → Memory System → Context Injection → Authentication → Component Library → Application Screens → UI Integration → Live Data"}, {"post_id": 44691, "ts": "2026-08-10T16:59:45Z", "hours": 6.5836, "text": "Diana — Screens Implementation: Frontend Structure Complete All major screens are now created and connected with the component library. The UI layer is complete — Login, Register, Chat Interface, Memory Dashboard, Profile, Settings, and supporting layouts are built using the reusable TypeScript components. The Sidebar, Chat Experience, Authentication Flow, and Dashboard structure are now in place, giving Diana a complete application shell instead of isolated components. Frontend progress: Backend → AI Service → Memory System → Context Injection → Authentication → Component Library → Application Screens → UI Integration The frontend foundation is complete. Next steps are connecting real data, API integration, state management, and refining the user experience."}, {"post_id": 42021, "ts": "2026-08-06T15:49:12Z", "hours": 2.1331, "text": "Diana — UI Update: Components Complete All 12 components are done — UI and layout. Button, Input, PasswordInput, Label, Spinner, Toast, Badge, MarkdownRenderer, CodeBlock, Sidebar, ChatInput, and ChatMessage. The full component library is built, typed in TypeScript, and ready to compose into screens. Login is already live. Chat, Register, and Memory Dashboard are next. The frontend is taking shape. Progress: Backend → AI Service → Memory System → Context Injection → Login Page → Component Library → Screens"}, {"post_id": 41623, "ts": "2026-08-05T22:50:01Z", "hours": 5.0111, "text": "Diana — UI Update: Component Library All core UI components are built and ready — Button, Input, PasswordInput, Label, Spinner, Toast, Badge, MarkdownRenderer, and CodeBlock. The component library is the foundation every screen builds on. Nothing gets repeated, nothing gets inconsistent. Next up: layout components and the first full screens. Progress: Backend → AI Service → Memory System → Context Injection → Login Page → Component Library → Layout & Screens"}, {"post_id": 21840, "ts": "2026-07-03T23:42:22Z", "hours": 5.3878, "text": "First Week working on Diana Frontend. So far I’ve managed to create the login page other pages are coming soon. #frontend"}, {"post_id": 15617, "ts": "2026-06-25T12:21:44Z", "hours": 0.3967, "text": "Diana — Week 6 Update This week Diana became self-aware. Context injection is now fully operational. Before every response, Diana fetches the user’s most important memories from the database and injects them into her system prompt. She now knows who she is, what the user is building, and what they care about — before a single word is typed. The proof: ask her “What am I currently building?” with no context in the message. She responds: “You’re currently building me, Diana, a memory-aware AI assistant designed specifically for software developers.” The core pipeline is complete. Progress: Backend ✅ → Sessions & Messages ✅ → FastAPI Service ✅ → LLM Integration ✅ → Memory Extraction ✅ → Context Injection ✅ → React Frontend (next)"}, {"post_id": 15212, "ts": "2026-06-24T18:36:26Z", "hours": 1.8997, "text": "Diana — Week 5 Update This week Diana got her memory. Built out the full memory extraction pipeline — after every conversation, Diana automatically analyzes what was said and extracts structured long-term facts about the user, storing them as typed memory objects with importance scores in the database. Four memory types are now being captured in production: projects, skills, goals, and facts — exactly as designed. Progress: Backend ✅ → Sessions & Messages ✅ → FastAPI Service ✅ → LLM Integration ✅ → Memory Extraction ✅ → Context Injection (next)"}, {"post_id": 14650, "ts": "2026-06-23T20:41:48Z", "hours": 0.9828, "text": "Diana — Week 4 Update This week Diana got her voice. Replaced the hardcoded FastAPI stub with a real Groq LLM call using LLaMA 3.3-70b. Added a system prompt defining Diana’s identity and wired in conversation history so the model has context within a session. The full pipe is now live — a message sent from Express travels to FastAPI, hits Groq, and returns a real AI response. Progress: Backend ✅ → Sessions & Messages ✅ → FastAPI Service ✅ → OpenAI Integration ✅ → Memory Extraction (next)"}, {"post_id": 13851, "ts": "2026-06-22T18:11:39Z", "hours": 3.0103, "text": "Week 3 Progress – Diana Set up the initial FastAPI backend for the Diana project. Organized the project into a clean and scalable folder structure.Defined the core application entry point and server configuration. Established a foundation for future API route expansion. Created the /generate-response endpoint as a functional stub. Added request and response placeholders for response generation. Created the /extract-memory endpoint as a functional stub. Added placeholder logic for future memory extraction workflows. Verified route registration and successful application startup. Prepared the backend architecture for Week 4 feature implementation."}, {"post_id": 12137, "ts": "2026-06-19T20:40:56Z", "hours": 3.5233, "text": "Diana: Week 2 Update This week focused on the session and messaging layer of Diana’s backend. Built out full session management — creating chat sessions, listing them, and retrieving conversation history — along with the core chat endpoint that stores both user and assistant messages. Every endpoint is now scoped to the authenticated user, ensuring one user’s data can never be accessed by another. With this in place, the foundation is ready for Week 3: standing up the FastAPI AI service and connecting it to the backend. Progress: Backend Foundation ✅ → Session & Message System ✅ → AI Service Setup (next)"}, {"post_id": 6963, "ts": "2026-06-11T17:55:40Z", "hours": 2.3017, "text": "Project Diana — Weekly Dev Log This week focused on building the backend foundation: POST /api/auth/register implemented POST /api/auth/login returns JWT tokens JWT middleware added to protect private routes Prisma schema migrated successfully to the database All API routes created and returning 200 OK stubs Next: Replace stubs with real business logic and begin integrating Diana’s AI-agent workflows."}, {"post_id": 3864, "ts": "2026-06-06T22:50:32Z", "hours": 1.0072, "text": "Initiated Project Diana which is a memory-aware AI assistant for developers that stores important information from previous conversations and uses it to provide contextual responses across sessions. I currently have been setting up my code-space like configuring Prisma so far."}]...
|
Title: Diana by @RedBlue | Stardance
Devlogs:
Ini Title: Diana by @RedBlue | Stardance
Devlogs:
Initiated Project Diana which is a memory-aware AI assistant for developers that stores important information from previous conversations and uses it to provide contextual responses across sessions. I currently have been setting up my code-space like configuring Prisma so far.
Project Diana — Weekly Dev Log This week focused on building the backend foundation: POST /api/auth/register implemented POST /api/auth/login returns JWT tokens JWT middleware added to protect private routes Prisma schema migrated successfully to the database All API routes created and returning 200 OK stubs Next: Replace stubs with real business logic and begin integrating Diana’s AI-agent workflows.
Diana: Week 2 Update This week focused on the session and messaging layer of Diana’s backend. Built out full session management — creating chat sessions, listing them, and retrieving conversation history — along with the core chat endpoint that stores both user and assistant messages. Every endpoint is now scoped to the authenticated user, ensuring one user’s data can never be accessed by another. With this in place, the foundation is ready for Week 3: standing up the FastAPI AI service and connecting it to the backend. Progress: Backend Foundation ✅ → Session & Message System ✅ → AI Service Setup (next)
Week 3 Progress – Diana Set up the initial FastAPI backend for the Diana project. Organized the project into a clean and scalable folder structure.Defined the core application entry point and server configuration. Established a foundation for future API route expansion. Created the /generate-response endpoint as a functional stub. Added request and response placeholders for response generation. Created the /extract-memory endpoint as a functional stub. Added placeholder logic for future memory extraction workflows. Verified route registration and successful application startup. Prepared the backend architecture for Week 4 feature implementation.
Diana — Week 4 Update This week Diana got her voice. Replaced the hardcoded FastAPI stub with a real Groq LLM call using LLaMA 3.3-70b. Added a system prompt defining Diana’s identity and wired in conversation history so the model has context within a session. The full pipe is now live — a message sent from Express travels to FastAPI, hits Groq, and returns a real AI response. Progress: Backend ✅ → Sessions & Messages ✅ → FastAPI Service ✅ → OpenAI Integration ✅ → Memory Extraction (next)
Diana — Week 5 Update This week Diana got her memory. Built out the full memory extraction pipeline — after every conversation, Diana automatically analyzes what was said and extracts structured long-term facts about the user, storing them as typed memory objects with importance scores in the database. Four memory types are now being captured in production: projects, skills, goals, and facts — exactly as designed. Progress: Backend ✅ → Sessions & Messages ✅ → FastAPI Service ✅ → LLM Integration ✅ → Memory Extraction ✅ → Context Injection (next)
Diana — Week 6 Update This week Diana became self-aware. Context injection is now fully operational. Before every response, Diana fetches the user’s most important memories from the database and injects them into her system prompt. She now knows who she is, what the user is building, and what they care about — before a single word is typed. The proof: ask her “What am I currently building?” with no context in the message. She responds: “You’re currently building me, Diana, a memory-aware AI assistant designed specifically for software developers.” The core pipeline is complete. Progress: Backend ✅ → Sessions & Messages ✅ → FastAPI Service ✅ → LLM Integration ✅ → Memory Extraction ✅ → Context Injection ✅ → React Frontend (next)
First Week working on Diana Frontend. So far I’ve managed to create the login page other pages are coming soon. #frontend
Diana — UI Update: Component Library All core UI components are built and ready — Button, Input, PasswordInput, Label, Spinner, Toast, Badge, MarkdownRenderer, and CodeBlock. The component library is the foundation every screen builds on. Nothing gets repeated, nothing gets inconsistent. Next up: layout components and the first full screens. Progress: Backend → AI Service → Memory System → Context Injection → Login Page → Component Library → Layout & Screens
Diana — UI Update: Components Complete All 12 components are done — UI and layout. Button, Input, PasswordInput, Label, Spinner, Toast, Badge, MarkdownRenderer, CodeBlock, Sidebar, ChatInput, and ChatMessage. The full component library is built, typed in TypeScript, and ready to compose into screens. Login is already live. Chat, Register, and Memory Dashboard are next. The frontend is taking shape. Progress: Backend → AI Service → Memory System → Context Injection → Login Page → Component Library → Screens
Diana — Screens Implementation: Frontend Structure Complete All major screens are now created and connected with the component library. The UI layer is complete — Login, Register, Chat Interface, Memory Dashboard, Profile, Settings, and supporting layouts are built using the reusable TypeScript components. The Sidebar, Chat Experience, Authentication Flow, and Dashboard structure are now in place, giving Diana a complete application shell instead of isolated components. Frontend progress: Backend → AI Service → Memory System → Context Injection → Authentication → Component Library → Application Screens → UI Integration The frontend foundation is complete. Next steps are connecting real data, API integration, state management, and refining the user experience.
The frontend foundation met the backend this week and everything clicked into place. Real data replaced the mocks — sessions create automatically on load, conversations persist across visits, and the chat pipeline is fully live end to end. The Memories screen went from a shell to a working dashboard, with filters, inline editing, and deletion all connected to the database. On the first real test, Diana loaded two memories — “User built Diana” and “User knows Express” — exactly what she was supposed to remember. It wasn’t without a fight. CORS blocked the first login attempt because Express 5 was intercepting preflight requests before the middleware could run — downgraded to Express 4 and it resolved immediately. Sessions weren’t being created on the frontend so every chat request returned a 404. Messages rendered as empty bubbles until the controller response shape was corrected to return a full message object. Each one got fixed, and by the end of the week Diana was having real, memory-aware conversations through a UI that feels like something worth using. Progress: Backend → AI Service → Memory System → Context Injection → Authentication → Component Library → Application Screens → UI Integration → Live Data
Diana — Final Update: Shipped. The last piece was getting Diana off localhost and into the world. The backend and AI service landed on Google Cloud Run, the database on Neon, the frontend on Vercel — three services, one product, all talking to each other in production. It wasn’t without a fight. Both Groq models we’d been using were decommissioned the same week we deployed. Docker refused to generate the Prisma client without a database URL at build time. Cloud Run silently dropped env vars. The auth token expired mid-deploy. Each one got fixed, and by the end Diana was running live — memory extraction, context injection, session persistence, the full pipeline — on real infrastructure. Diana is live at https://diana-six-theta.vercel.app Progress: Backend → AI Service → Memory System → Context Injection → Authentication → Component Library → Application Screens → UI Integration → Live Data → Shipped.
Ships:
Built Diana — a memory-aware AI assistant that actually remembers you across conversations. Diana extracts structured facts from every chat (your projects, skills, goals, preferences) and injects them into every future response. No more explaining yourself from scratch every session. Stack: React + TypeScript frontend, Express backend, FastAPI AI service, PostgreSQL on Neon, deployed on Google Cloud Run + Vercel. To test: go to https://diana-six-theta.vercel.app , create an account, tell Diana something about yourself or what you’re building, then start a new chat and ask “what do you know about me?” — she’ll already know. What was challenging: deploying three separate services to production for the first time, both Groq models getting decommissioned mid-deployment, and debugging a CORS issue caused by an Express 5 breaking change. What I’m proud of: the memory pipeline works end to end — extract, store, retrieve, inject — and it genuinely makes the AI feel different....
|
1793120150.564639
|
1793206550.564639
|
|
13183
|
Rune - server-less function runner by @Pikacnu | S Rune - server-less function runner by @Pikacnu | Stardance...
|
Pikacnu
|
1
|
43.0
|
700
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T19:31:57Z", "hours": 43.0, "multiplier": 16.16, "payout": 700, "blessing": "neutral", "text": "I’m making an app that works like Cloudflare Workers, but with fewer features. My goal is to enable it to handle unlimited requests seamlessly. While it still has a long way to go compared to Cloudflare Workers—especially in areas like storage, AI utilities, npm package support, and project-based file uploads—I think it’s already good enough for basic use cases. If you’d like to test it out: Username: hackclub Password: hackclub If you want to test the domain utilities, you can check it out here: https://hello-world-rune.pazik.win/ (Note: Since I’m hosting the web server using Cloudflare Tunnels, I can’t use hello-world.rune.pazik.win directly due to missing SSL certificates. To work around this, I rewrite its Host header). One thing to keep in mind: The service has a rate limiter enabled, so you might get temporarily blocked while testing.", "repo": "https://github.com/Pikacnu/rune", "demo": "https://rune.pazik.win/"}]...
|
[{"post_id": 40928, "ts": "202 [{"post_id": 40928, "ts": "2026-08-04T19:24:35Z", "hours": 1.5258, "text": "Write readme (helped by ai) Fix bug when parsing hostname add ci to build docker image Finally I finish it weeee"}, {"post_id": 40563, "ts": "2026-08-04T06:13:23Z", "hours": 2.5181, "text": "make function execute by sub-domain (see image below) add kv store endpoint (and also dashboard) make you able to make function private (still can test) warp function kv_set/ delete/get into a object (kv.set / kv.delete / kv.get)"}, {"post_id": 39641, "ts": "2026-08-02T19:23:40Z", "hours": 7.8044, "text": "Finished the frontend (with help from AI) Bug fixing (a lot of bugs… one of them was a deadlock during environment injection) Passed requests to functions (it can now process requests) Added more information to execution details (debug info) Ahhh… The frontend is almost finished,with some examples and API documentation (all in the same docs). Built using Nuxt UI and Vue. The next devlog should be the last one before the first release. I’ll make it able to detect the hostname to handle function calls (similar to Cloudflare Workers). Screenshot is part of the website"}, {"post_id": 38493, "ts": "2026-07-31T22:03:08Z", "hours": 6.9844, "text": "Add a rate limiter to API endpoints (the rate limit for each function can be modified via API). Add key-value storage (accessible only in scripts). Add environment variable storage (can be updated via API). Change user-related APIs to admin-only access. The basic functionality I think is needed has been completed. Next step: build the frontend (admin panel and documentation)."}, {"post_id": 37333, "ts": "2026-07-29T23:51:09Z", "hours": 5.4314, "text": "Update schema (for user and auth.) Add User and sessions. Exec now can run with starlark. (image is ai generated test code)"}, {"post_id": 29660, "ts": "2026-07-16T18:41:31Z", "hours": 6.6811, "text": "Write a simple router using the built-in net/http. Design a basic database schema to store binaries and function information. Create a database wrapper. (which use Transaction as main exec method) Support two languages that can compile and execute from binaries. Ensure both languages can generate responses (JavaScript returns an object, Starlark returns a dict). Build a simple HTTP server to test functions (compile / execute / save to DB). TODO: Add support for Starlark. Implement authentication. Create a frontend / admin panel. It might take some time to work on next step. Not only because it have lots things to do, also due to I am trying to create something by 3D Printing. Spending too much time on it… If I can share those model. It will be nice."}, {"post_id": 16998, "ts": "2026-06-27T16:06:31Z", "hours": 2.08, "text": "Add full starlark request like fetch. also batch sync"}, {"post_id": 15157, "ts": "2026-06-24T16:58:19Z", "hours": 1.6972, "text": "Still didn’t know why it will be blockout when using async… So I make JS only can run sync and add fetchbatch to let mulitple fetch able to happen"}, {"post_id": 14473, "ts": "2026-06-23T16:35:53Z", "hours": 2.2233, "text": "Just add more function to fetch and response. and force js function return obj as response source. and maybe I will give up on settimeout (though I didn’t try.) maybe after finish main function. also I will make js function first. still didn’t know how to let starlark have async ability. Seems like js code didn’t work properly… fix it nextday!"}, {"post_id": 13223, "ts": "2026-06-21T17:34:56Z", "hours": 2.9219, "text": "change quickjs lib from modernc.org/quickjs to github.com/fastschema/qjs for better control add async sleep and simple fetch function for js (work as builtin function) add a simple http related file to do any http related things Next might be add fetch in starlark and try to make it have async and maybe make a settimeout? also needed to extend fetch function (currently only have basic function)"}, {"post_id": 12535, "ts": "2026-06-20T14:08:01Z", "hours": 3.4681, "text": "Complete sandbox Exec(both js and starlark) (currently scan dir and execut file inside) Implement sleep and print / console.log (warp as fmt.Printf) Plan to add http server and request related thing later"}]...
|
Title: Rune - server-less function runner by @Pika Title: Rune - server-less function runner by @Pikacnu | Stardance
Devlogs:
Complete sandbox Exec(both js and starlark) (currently scan dir and execut file inside) Implement sleep and print / console.log (warp as fmt.Printf) Plan to add http server and request related thing later
change quickjs lib from modernc.org/quickjs to github.com/fastschema/qjs for better control add async sleep and simple fetch function for js (work as builtin function) add a simple http related file to do any http related things Next might be add fetch in starlark and try to make it have async and maybe make a settimeout? also needed to extend fetch function (currently only have basic function)
Just add more function to fetch and response. and force js function return obj as response source. and maybe I will give up on settimeout (though I didn’t try.) maybe after finish main function. also I will make js function first. still didn’t know how to let starlark have async ability. Seems like js code didn’t work properly… fix it nextday!
Still didn’t know why it will be blockout when using async… So I make JS only can run sync and add fetchbatch to let mulitple fetch able to happen
Add full starlark request like fetch. also batch sync
Write a simple router using the built-in net/http. Design a basic database schema to store binaries and function information. Create a database wrapper. (which use Transaction as main exec method) Support two languages that can compile and execute from binaries. Ensure both languages can generate responses (JavaScript returns an object, Starlark returns a dict). Build a simple HTTP server to test functions (compile / execute / save to DB). TODO: Add support for Starlark. Implement authentication. Create a frontend / admin panel. It might take some time to work on next step. Not only because it have lots things to do, also due to I am trying to create something by 3D Printing. Spending too much time on it… If I can share those model. It will be nice.
Update schema (for user and auth.) Add User and sessions. Exec now can run with starlark. (image is ai generated test code)
Add a rate limiter to API endpoints (the rate limit for each function can be modified via API). Add key-value storage (accessible only in scripts). Add environment variable storage (can be updated via API). Change user-related APIs to admin-only access. The basic functionality I think is needed has been completed. Next step: build the frontend (admin panel and documentation).
Finished the frontend (with help from AI) Bug fixing (a lot of bugs… one of them was a deadlock during environment injection) Passed requests to functions (it can now process requests) Added more information to execution details (debug info) Ahhh… The frontend is almost finished,with some examples and API documentation (all in the same docs). Built using Nuxt UI and Vue. The next devlog should be the last one before the first release. I’ll make it able to detect the hostname to handle function calls (similar to Cloudflare Workers). Screenshot is part of the website
make function execute by sub-domain (see image below) add kv store endpoint (and also dashboard) make you able to make function private (still can test) warp function kv_set/ delete/get into a object (kv.set / kv.delete / kv.get)
Write readme (helped by ai) Fix bug when parsing hostname add ci to build docker image Finally I finish it weeee
Ships:
I’m making an app that works like Cloudflare Workers, but with fewer features. My goal is to enable it to handle unlimited requests seamlessly. While it still has a long way to go compared to Cloudflare Workers—especially in areas like storage, AI utilities, npm package support, and project-based file uploads—I think it’s already good enough for basic use cases. If you’d like to test it out: Username: hackclub Password: hackclub If you want to test the domain utilities, you can check it out here: https://hello-world-rune.pazik.win/ (Note: Since I’m hosting the web server using Cloudflare Tunnels, I can’t use hello-world.rune.pazik.win directly due to missing SSL certificates. To work around this, I rewrite its Host header). One thing to keep in mind: The service has a rate limiter enabled, so you might get temporarily blocked while testing....
|
1793130594.7476804
|
1793216994.7476804
|
|
29866
|
The Material Farm by @ViceVersa | Stardance
|
ViceVersa
|
1
|
43.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T09:36:25Z", "hours": 43.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "We made a game for the brainless game jam called “The Material Farm” and we’re quite proud of it. It did get a little stressful when all of us decided to take a 3 day break at the same time without telling eachother but it still came together quite nicely! You should try it!", "repo": "https://github.com/ViceVersa-09/Brainless-Jam", "demo": "https://viceversa09.itch.io/the-material-farm"}]...
|
[{"post_id": 56503, "ts": "202 [{"post_id": 56503, "ts": "2026-08-28T09:28:22Z", "hours": 0.5364, "text": "I don’t even know when or what I did these 30 min"}, {"post_id": 29513, "ts": "2026-07-16T14:25:25Z", "hours": 2.2161, "text": "I did some more bugfixing, here is a screenshot someone sent in the jam comments on itch"}, {"post_id": 29408, "ts": "2026-07-16T10:39:37Z", "hours": 10.0111, "text": "We have finally submitted to the braniless game jam, make sure to check it out!"}, {"post_id": 28291, "ts": "2026-07-14T13:37:47Z", "hours": 7.4239, "text": "We are running out of time on the game jam, i dont really know what to type here as im doing a bit of everything"}, {"post_id": 25515, "ts": "2026-07-09T20:38:16Z", "hours": 22.5386, "text": "I didnt know it only counts every 10 hours :("}]...
|
Title: The Material Farm by @ViceVersa | Stardance Title: The Material Farm by @ViceVersa | Stardance
Devlogs:
I didnt know it only counts every 10 hours :(
We are running out of time on the game jam, i dont really know what to type here as im doing a bit of everything
We have finally submitted to the braniless game jam, make sure to check it out!
I did some more bugfixing, here is a screenshot someone sent in the jam comments on itch
I don’t even know when or what I did these 30 min
Ships:
We made a game for the brainless game jam called “The Material Farm” and we’re quite proud of it. It did get a little stressful when all of us decided to take a 3 day break at the same time without telling eachother but it still came together quite nicely! You should try it!...
|
1793094692.662746
|
1793181092.662746
|
|
30641
|
Gun's Skyblock Mod by @GunRattler28 | Stardanc Gun's Skyblock Mod by @GunRattler28 | Stardance...
|
GunRattler28
|
2
|
43.0
|
490
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T23:16:58Z", "hours": 30.0, "multiplier": 12.75, "payout": 386, "blessing": "neutral", "text": "I added a custom enderchest UI !!! To see a video showcasing all the features so far go to my website and scroll down til you see the section about the mod", "repo": "https://github.com/GunRattler28/Skyblock-Mod", "demo": "https://github.com/GunRattler28/Guns-Skyblock-Mod/releases"}, {"ship_num": 2, "ts": "2026-07-06T21:07:12Z", "hours": 13.0, "multiplier": 8.8, "payout": 104, "blessing": "neutral", "text": "I created a mod that runs on minecraft 26.2 using fabric. I found this quite challenging since I have low experience with Java as a language but it was so satisfying when I managed to make it work. So far it has: Item Prices (bazaar and lbin) Slot locking (Tap L to lock slot. Locked items can’t be moved or dropped) Custom Scoreboard (Custom scoreboard with a modern pop. Also shows bank balance which isn’t shown by default scoreboard)", "repo": "https://github.com/GunRattler28/Skyblock-Mod", "demo": "https://github.com/GunRattler28/Guns-Skyblock-Mod/releases"}]...
|
[{"post_id": 35202, "ts": "202 [{"post_id": 35202, "ts": "2026-07-26T13:59:54Z", "hours": 1.5242, "text": "Tooltips now show when hovering over items in enderchest UI"}, {"post_id": 29690, "ts": "2026-07-16T19:21:01Z", "hours": 6.8356, "text": "Managed to get the enderchest UI to actually display the amount of items in the stack. Click handling is so much cleaner now…."}, {"post_id": 26696, "ts": "2026-07-11T17:15:03Z", "hours": 10.0247, "text": "I’ve improved my enderchest UI (still have to add backpack UI) but its a bit buggy right now. Working on improving it by not being stupid and just using the functions mojang provided. Idk why I didn’t before lol"}, {"post_id": 25254, "ts": "2026-07-09T12:11:43Z", "hours": 10.2722, "text": "I found that the storage gui felt old and boring and so I made my own. If you click on Ender Chest it runs the /ec 1 command to open the first ender chest page. You can use the buttons that are built into it to go to over pages. The numbers correspond to backpacks. Clicking 1 does /bp 1. (Took a long time because it was supposed to look like firmaments where it is all the pages shown at once but I couldn’t do that)"}, {"post_id": 24039, "ts": "2026-07-07T10:13:42Z", "hours": 1.5456, "text": "I realised a crucial error! Slot locking wasn’t permanent. After an hour and a half of hard work I’ve managed to make slot locking permanent. Now whenever a slot is locked the slot number is written into a file that lives in the config file of minecraft folder. When the slot is unlocked it is deleted from the file. I had to spend a while making sure that it only locks slots when on Hypixel Skyblock but now when you join, it reads all the slots in the file and locks those slots."}, {"post_id": 23731, "ts": "2026-07-06T21:00:50Z", "hours": 6.3661, "text": "Custom scoreboard. I thought that the default scoreboard looked pretty dull. It had a lack of colours, boring font, no pop so I added my own custom scoreboard. I used ‘§’ quite a lot to change how the text looked. Overall, I am quite pleased with how it turned out. (I had to change to a random ironman coop profile I’m part of so that I could show that it shows objectives). It works by having a file which reads data from tab (which has the bank and other details) and another file which reads from the default tab (We can’t see the default tab but it’s data still exists)"}, {"post_id": 22860, "ts": "2026-07-05T14:04:40Z", "hours": 3.3711, "text": "Slot locking. I’ve always had a problem of dropping items when changing tabs as alt is my drop key (as i said last time) so i added slot locking. Pressing L whilst hovering over an item in your inventory locks the slot. When a slot is locked the item inside it can’t be picked up or dropped (this includes when inventory is closed). Trying to drop an item which is slot locked will result in a message which only you can see that tells you the slot is locked. The slot can be unlocked by pressing L while hovering over it again. When your inventory is open a translucent lock icon is over whichever items / slots are locked. How it works: When i go to drop and item, it checks whether the slot the item is in is locked. If it is then it cancels the drop. Same logic applies when trying to move it around in my inventory with mouse"}, {"post_id": 22452, "ts": "2026-07-04T22:25:29Z", "hours": 2.6569, "text": "Items now show prices when hovering over them. Insta sell and insta buy for bazaar items and lbin for ah items. (removed things from inventory because alt is my drop key and was scared to drop item when alt tabbing)"}, {"post_id": 22157, "ts": "2026-07-04T14:03:31Z", "hours": 0.4828, "text": "Managed to set up the base stuff so now I can open minecraft from VS Code and be logged into my account and join hypixel. This will be ESSENTIAL in helping me develop the mod"}]...
|
Title: Gun's Skyblock Mod by @GunRattler28 | S Title: Gun's Skyblock Mod by @GunRattler28 | Stardance
Devlogs:
Managed to set up the base stuff so now I can open minecraft from VS Code and be logged into my account and join hypixel. This will be ESSENTIAL in helping me develop the mod
Items now show prices when hovering over them. Insta sell and insta buy for bazaar items and lbin for ah items. (removed things from inventory because alt is my drop key and was scared to drop item when alt tabbing)
Slot locking. I’ve always had a problem of dropping items when changing tabs as alt is my drop key (as i said last time) so i added slot locking. Pressing L whilst hovering over an item in your inventory locks the slot. When a slot is locked the item inside it can’t be picked up or dropped (this includes when inventory is closed). Trying to drop an item which is slot locked will result in a message which only you can see that tells you the slot is locked. The slot can be unlocked by pressing L while hovering over it again. When your inventory is open a translucent lock icon is over whichever items / slots are locked. How it works: When i go to drop and item, it checks whether the slot the item is in is locked. If it is then it cancels the drop. Same logic applies when trying to move it around in my inventory with mouse
Custom scoreboard. I thought that the default scoreboard looked pretty dull. It had a lack of colours, boring font, no pop so I added my own custom scoreboard. I used ‘§’ quite a lot to change how the text looked. Overall, I am quite pleased with how it turned out. (I had to change to a random ironman coop profile I’m part of so that I could show that it shows objectives). It works by having a file which reads data from tab (which has the bank and other details) and another file which reads from the default tab (We can’t see the default tab but it’s data still exists)
I realised a crucial error! Slot locking wasn’t permanent. After an hour and a half of hard work I’ve managed to make slot locking permanent. Now whenever a slot is locked the slot number is written into a file that lives in the config file of minecraft folder. When the slot is unlocked it is deleted from the file. I had to spend a while making sure that it only locks slots when on Hypixel Skyblock but now when you join, it reads all the slots in the file and locks those slots.
I found that the storage gui felt old and boring and so I made my own. If you click on Ender Chest it runs the /ec 1 command to open the first ender chest page. You can use the buttons that are built into it to go to over pages. The numbers correspond to backpacks. Clicking 1 does /bp 1. (Took a long time because it was supposed to look like firmaments where it is all the pages shown at once but I couldn’t do that)
I’ve improved my enderchest UI (still have to add backpack UI) but its a bit buggy right now. Working on improving it by not being stupid and just using the functions mojang provided. Idk why I didn’t before lol
Managed to get the enderchest UI to actually display the amount of items in the stack. Click handling is so much cleaner now….
Tooltips now show when hovering over items in enderchest UI
Ships:
I created a mod that runs on minecraft 26.2 using fabric. I found this quite challenging since I have low experience with Java as a language but it was so satisfying when I managed to make it work. So far it has: Item Prices (bazaar and lbin) Slot locking (Tap L to lock slot. Locked items can’t be moved or dropped) Custom Scoreboard (Custom scoreboard with a modern pop. Also shows bank balance which isn’t shown by default scoreboard)
I added a custom enderchest UI !!! To see a video showcasing all the features so far go to my website and scroll down til you see the section about the mod...
|
1792832013.0259128
|
1793696013.0259128
|
|
33304
|
InterviewPrep AI by @Nikhilsahu | Stardance
|
Nikhilsahu
|
2
|
43.0
|
532
|
[{"ship_num": 1, "hours": 12.0, [{"ship_num": 1, "hours": 12.0, "multiplier": 14.84, "payout": 178, "blessing": "neutral", "text": "I worked on the first three phases of InterviewPrep AI. You can set up a mock interview, answer AI-generated questions, get feedback, and check your previous interviews from the dashboard. The hardest part was making the interview flow feel smooth and connecting all the pages together. I also spent time improving the UI and handling loading and error states. I'm happy that the project now feels like a real app instead of just a demo. Everything works together and the overall experience is much better now. Just open the website and start using it. No signup is needed. You can start a new interview, complete it, and check the feedback and history right away.", "repo": "https://github.com/Nikhil20222/interviewprep-ai/", "demo": "https://interviewprep-aii-eight.vercel.app/", "ts": "2026-07-17T03:15:14Z"}, {"ship_num": 2, "hours": 31.0, "multiplier": 11.51, "payout": 354, "blessing": "neutral", "text": "I developed my first AI-based tool called InterviewPrep AI, which helps users optimize their resumes prior to applying for internships or jobs through the use of artificial intelligence. As of right now, the application can load a user's resume, create an ATS score, perform different kinds of analysis on various sections of the resume and provide suggestions for improvement. By far, the hardest part of this project was to connect all the backend services into a cohesive process and ensure that everything works as intended. Besides that, I also put some effort into testing various formats of resumes and fixing minor bugs related to parsing and analysis of the document. I think I am the most proud of having the whole resume analysis pipeline up and running. It's no longer an AI-based wrapper, but rather something that can form a solid foundation for future projects. In case anyone would like to test the project, please, try uploading various formats of the resume (PDF, DOCX or TXT) and check how well the parser, ATS analysis and suggestions work. This is just Phase 1, while Phase 2 is already being implemented.", "repo": "https://github.com/Nikhil20222/interviewprep-ai/", "demo": "https://interviewprep-aii-eight.vercel.app/", "ts": "2026-07-10T21:37:03Z"}]...
|
[{"post_id": 25753, "ts": "202 [{"post_id": 25753, "ts": "2026-07-10T06:12:09Z", "hours": 5.0, "text": "Started working on InterviewPrep AI yesterday. I spent most of the time building the frontend for the first phase and setting up the overall structure of the project. The goal was to keep the interface simple, clean and easy to use instead of adding unnecessary design elements. Most of the core pages are now ready, so the next step is connecting everything to the backend and implementing the resume processing features."}, {"post_id": 25793, "ts": "2026-07-10T07:58:31Z", "hours": 1.0, "text": "Made some good progress on the backend today. I worked on the core services which process uploaded resumes including the file extraction pipeline, AI integration and the ATS checker. I spent some time testing out different resume formats and fixing a few things to make the flow more reliable. We now have the basic foundation of the resume analysis pipeline. Now, the next step is to connect everything to the frontend and improve the results of the analysis."}, {"post_id": 25981, "ts": "2026-07-10T15:03:53Z", "hours": 3.0, "text": "Made a lot of progress on InterviewPrep AI over the last few sessions. I finished writing the core logic for all the planned Phase 1 features, including resume upload, parsing, resume analysis, ATS scoring, and AI-powered improvement suggestions. Most of the work went into building the backend services and making sure each feature works correctly on its own. At this point, the remaining work for Phase 1 is integrating everything through the main application, testing the complete flow from upload to analysis, and deploying the project. Once the first version is stable and fully working, I’ll move on to Phase 2, which will focus on job description support, resume-to-JD matching, keyword analysis, and AI-powered resume optimization tailored to specific job roles."}, {"post_id": 26211, "ts": "2026-07-10T21:33:35Z", "hours": 1.0, "text": "Finished the first major milestone of InterviewPrep AI today! Phase 1 is now complete and the core resume analysis workflow is working end-to-end. I spent most of the time integrating the backend services, testing different resume formats, fixing edge cases, and making sure the overall flow felt smooth and reliable. What was completed in Phase 1: Resume upload (PDF/DOCX/TXT) 2.Resume parsing 3.Resume preview with extracted details 4.Resume analysis 5.ATS score generation AI-powered resume improvement suggestions The project now has a solid foundation, and I’m happy with how the first version has turned out. There are still plenty of improvements to make, but the core functionality is finally in place. Next up (Phase 2): Job description upload and parsing Resume vs Job Description match score 3.Missing skills and keyword analysis AI-powered resume optimization for specific job roles Better match reports and actionable recommendations Excited to start Phase 2 and make the project even more useful for internship and placement preparation."}, {"post_id": 27554, "ts": "2026-07-13T07:25:16Z", "hours": 5.0, "text": "Started redesigning the frontend After getting some feedback on the project, I decided to take some time to improve the overall frontend before diving into new features. The previous layout was functional, but it was too dash-boardy, with cards everywhere. Today I was mostly doing frontend restructuring before any feature changes. Things I did: I have begun redesigning the general layout Cleaned up html structure CSS brief Removed some unneeded UI elements Planned a section-by-section layout, rather than showing everything at once There were no changes in backend today. The idea is to simplify the project and make it easier to use before we move onto the resume analysis features."}, {"post_id": 27696, "ts": "2026-07-13T14:08:17Z", "hours": 5.0, "text": "Today I connected the redesigned frontend with JavaScript. Most of the work was handling user interactions and making sure different sections behave properly. Things I worked on: 1.Accordion behaviour 2.Dark mode toggle 3.Upload interactions 4.Better loading states 5.Small UI fixes while testing 6.JD Matching Still have to reconnect everything with the backend, but the frontend is now behaving the way I wanted"}, {"post_id": 27910, "ts": "2026-07-13T20:41:56Z", "hours": 0.0, "text": "I worked on some of the utility functions that handle uploaded resumes. These files aren’t very visible from the frontend, but they’re important because almost every upload passes through them. I improved the validation logic so unsupported files are caught earlier instead of failing later during parsing. I also cleaned up the temporary file handling because a few test uploads weren’t being removed properly after processing. Not the most exciting part of the project, but it’ll make the rest of the resume analysis pipeline much more reliable."}, {"post_id": 28119, "ts": "2026-07-14T06:12:26Z", "hours": 1.0, "text": "Working on resume parsing Today I focused on extracting information from uploaded resumes. I quickly realised that resumes are far less consistent than I expected. Some PDFs parsed perfectly, while others had missing spaces, broken formatting or section titles that weren’t detected correctly. Most of my time actually went into handling these edge cases instead of writing the parser itself. After a lot of testing, the extraction feels much more reliable now. Next I’ll use this parsed information for the ATS checker and resume analysis."}, {"post_id": 28155, "ts": "2026-07-14T08:39:51Z", "hours": 2.0, "text": "Today I worked on improving the ATS checker and AI suggestions. Earlier ATS score was just giving one percentage, so it didn’t feel very useful. I changed the logic so now it also tells why score increased or decreased instead of only showing a number. I also improved the keyword matching because sometimes it was matching unrelated words and giving wrong score. This part took some time because after fixing one issue another one was coming, so I had to test with different resumes to make the results more consistent. After that I worked on AI suggestions. Before, the AI was giving one big response which was hard to read. So I separated the suggestions into different sections based on resume parts. I also changed the prompts a little because sometimes AI was repeating the same advice in different words. It took a few prompt changes before I got output that looked clean and useful. Overall no big feature today, but I spent most of the time improving the quality of existing features. The ATS results and AI suggestions now feel much better than before."}, {"post_id": 28359, "ts": "2026-07-14T15:51:31Z", "hours": 4.0, "text": "Today I completed Phase 2 of the project. The main goal was to compare the uploaded resume with the job description instead of analysing both separately. At first I thought simple keyword matching would be enough, but I quickly realized it was giving wrong results. Sometimes important skills were missed because the wording was different, and sometimes repeated keywords were increasing the score even when the resume wasn’t actually relevant. I spent a lot of time improving the comparison logic and testing it with different resumes and job descriptions. The biggest challenge was finding a balance between being too strict and too lenient. After making multiple changes, the matching feels much more accurate and meaningful now. Finally, Phase 2 is complete and working well. There are still small things I can improve later, but the core resume-to-job matching system is done. From tomorrow I’ll start working on Phase 3."}, {"post_id": 28562, "ts": "2026-07-14T21:46:11Z", "hours": 3.0, "text": "Started working on the interview section After finishing the resume analysis and job description matching, I started building the interview part of the project. Today was mostly frontend work. I created the pages that will handle the complete interview flow instead of trying to fit everything onto one page. Things I worked on: Created the interview dashboard 2.Built the interview setup page Added the interview session layout Created the results page Added a navigation link so the new section is accessible from anywhere in the website Nothing is functional yet, but having the pages ready will make the backend integration much easier over the next few sessions."}, {"post_id": 28749, "ts": "2026-07-15T06:38:45Z", "hours": 1.0, "text": "Building the interview interface Spent most of time working on the styling for the interview pages. I wanted the new section to match the rest of the application instead of feeling like a completely different website. Today’s work included: Question cards Progress indicator Forms Review layout Results section Small responsive fixes I kept the styling pretty simple without adding unnecessary animations because readability is more important during an interview."}, {"post_id": 28855, "ts": "2026-07-15T12:25:04Z", "hours": 4.0, "text": "worked on JavaScript I connected the different interview pages together so the whole flow feels continuous instead of loading unrelated screens. I also spent quite a bit of time fixing small issues like: Question navigation Progress updates Form validation Button states Results rendering There wasn’t one huge bug today, but lots of smaller ones that together took longer than expected. The frontend is now smoother"}, {"post_id": 28870, "ts": "2026-07-15T13:10:38Z", "hours": 0.0, "text": "Phase 3 Complete – Mock Interview Finished Phase 3 of InterviewPrep AI today. The project started with resume analysis, then I added resume vs job description matching, and now it can also generate a complete AI mock interview based on both. What’s working now: Mock interview dashboard Interview setup page AI-generated interview questions Resume + Job Description based question generation Interview session flow AI feedback after submitting answers Final results page with overall review I also spent quite a bit of time testing the AI responses. Different models don’t always return data in the same format, so I had to handle a few inconsistent responses before everything started working properly. One thing I wanted to make sure was that the older features didn’t break while adding all this. I tested the resume analysis and JD matching flow again after integrating the interview section and both are still working fine. There are still a lot of ideas I want to add later like voice interviews, downloadable reports and interview history, but for now I’m happy with how Phase 3 turned out. The project finally feels like a complete interview preparation tool instead of just a resume analyzer."}]...
|
Title: InterviewPrep AI by @Nikhilsahu | Stardance Title: InterviewPrep AI by @Nikhilsahu | Stardance
Devlogs:
Phase 3 Complete – Mock Interview Finished Phase 3 of InterviewPrep AI today. The project started with resume analysis, then I added resume vs job description matching, and now it can also generate a complete AI mock interview based on both. What’s working now: Mock interview dashboard Interview setup page AI-generated interview questions Resume + Job Description based question generation Interview session flow AI feedback after submitting answers Final results page with overall review I also spent quite a bit of time testing the AI responses. Different models don’t always return data in the same format, so I had to handle a few inconsistent responses before everything started working properly. One thing I wanted to make sure was that the older features didn’t break while adding all this. I tested the resume analysis and JD matching flow again after integrating the interview section and both are still working fine. There are still a lot of ideas I want to add later like voice interviews, downloadable reports and interview history, but for now I’m happy with how Phase 3 turned out. The project finally feels like a complete interview preparation tool instead of just a resume analyzer.
worked on JavaScript I connected the different interview pages together so the whole flow feels continuous instead of loading unrelated screens. I also spent quite a bit of time fixing small issues like: Question navigation Progress updates Form validation Button states Results rendering There wasn’t one huge bug today, but lots of smaller ones that together took longer than expected. The frontend is now smoother
Building the interview interface Spent most of time working on the styling for the interview pages. I wanted the new section to match the rest of the application instead of feeling like a completely different website. Today’s work included: Question cards Progress indicator Forms Review layout Results section Small responsive fixes I kept the styling pretty simple without adding unnecessary animations because readability is more important during an interview.
Started working on the interview section After finishing the resume analysis and job description matching, I started building the interview part of the project. Today was mostly frontend work. I created the pages that will handle the complete interview flow instead of trying to fit everything onto one page. Things I worked on: Created the interview dashboard 2.Built the interview setup page Added the interview session layout Created the results page Added a navigation link so the new section is accessible from anywhere in the website Nothing is functional yet, but having the pages ready will make the backend integration much easier over the next few sessions.
Today I completed Phase 2 of the project. The main goal was to compare the uploaded resume with the job description instead of analysing both separately. At first I thought simple keyword matching would be enough, but I quickly realized it was giving wrong results. Sometimes important skills were missed because the wording was different, and sometimes repeated keywords were increasing the score even when the resume wasn’t actually relevant. I spent a lot of time improving the comparison logic and testing it with different resumes and job descriptions. The biggest challenge was finding a balance between being too strict and too lenient. After making multiple changes, the matching feels much more accurate and meaningful now. Finally, Phase 2 is complete and working well. There are still small things I can improve later, but the core resume-to-job matching system is done. From tomorrow I’ll start working on Phase 3.
Today I worked on improving the ATS checker and AI suggestions. Earlier ATS score was just giving one percentage, so it didn’t feel very useful. I changed the logic so now it also tells why score increased or decreased instead of only showing a number. I also improved the keyword matching because sometimes it was matching unrelated words and giving wrong score. This part took some time because after fixing one issue another one was coming, so I had to test with different resumes to make the results more consistent. After that I worked on AI suggestions. Before, the AI was giving one big response which was hard to read. So I separated the suggestions into different sections based on resume parts. I also changed the prompts a little because sometimes AI was repeating the same advice in different words. It took a few prompt changes before I got output that looked clean and useful. Overall no big feature today, but I spent most of the time improving the quality of existing features. The ATS results and AI suggestions now feel much better than before.
Working on resume parsing Today I focused on extracting information from uploaded resumes. I quickly realised that resumes are far less consistent than I expected. Some PDFs parsed perfectly, while others had missing spaces, broken formatting or section titles that weren’t detected correctly. Most of my time actually went into handling these edge cases instead of writing the parser itself. After a lot of testing, the extraction feels much more reliable now. Next I’ll use this parsed information for the ATS checker and resume analysis.
I worked on some of the utility functions that handle uploaded resumes. These files aren’t very visible from the frontend, but they’re important because almost every upload passes through them. I improved the validation logic so unsupported files are caught earlier instead of failing later during parsing. I also cleaned up the temporary file handling because a few test uploads weren’t being removed properly after processing. Not the most exciting part of the project, but it’ll make the rest of the resume analysis pipeline much more reliable.
Today I connected the redesigned frontend with JavaScript. Most of the work was handling user interactions and making sure different sections behave properly. Things I worked on: 1.Accordion behaviour 2.Dark mode toggle 3.Upload interactions 4.Better loading states 5.Small UI fixes while testing 6.JD Matching Still have to reconnect everything with the backend, but the frontend is now behaving the way I wanted
Started redesigning the frontend After getting some feedback on the project, I decided to take some time to improve the overall frontend before diving into new features. The previous layout was functional, but it was too dash-boardy, with cards everywhere. Today I was mostly doing frontend restructuring before any feature changes. Things I did: I have begun redesigning the general layout Cleaned up html structure CSS brief Removed some unneeded UI elements Planned a section-by-section layout, rather than showing everything at once There were no changes in backend today. The idea is to simplify the project and make it easier to use before we move onto the resume analysis features.
Finished the first major milestone of InterviewPrep AI today! Phase 1 is now complete and the core resume analysis workflow is working end-to-end. I spent most of the time integrating the backend services, testing different resume formats, fixing edge cases, and making sure the overall flow felt smooth and reliable. What was completed in Phase 1: Resume upload (PDF/DOCX/TXT) 2.Resume parsing 3.Resume preview with extracted details 4.Resume analysis 5.ATS score generation AI-powered resume improvement suggestions The project now has a solid foundation, and I’m happy with how the first version has turned out. There are still plenty of improvements to make, but the core functionality is finally in place. Next up (Phase 2): Job description upload and parsing Resume vs Job Description match score 3.Missing skills and keyword analysis AI-powered resume optimization for specific job roles Better match reports and actionable recommendations Excited to start Phase 2 and make the project even more useful for internship and placement preparation.
Made a lot of progress on InterviewPrep AI over the last few sessions. I finished writing the core logic for all the planned Phase 1 features, including resume upload, parsing, resume analysis, ATS scoring, and AI-powered improvement suggestions. Most of the work went into building the backend services and making sure each feature works correctly on its own. At this point, the remaining work for Phase 1 is integrating everything through the main application, testing the complete flow from upload to analysis, and deploying the project. Once the first version is stable and fully working, I’ll move on to Phase 2, which will focus on job description support, resume-to-JD matching, keyword analysis, and AI-powered resume optimization tailored to specific job roles.
Made some good progress on the backend today. I worked on the core services which process uploaded resumes including the file extraction pipeline, AI integration and the ATS checker. I spent some time testing out different resume formats and fixing a few things to make the flow more reliable. We now have the basic foundation of the resume analysis pipeline. Now, the next step is to connect everything to the frontend and improve the results of the analysis.
Started working on InterviewPrep AI yesterday. I spent most of the time building the frontend for the first phase and setting up the overall structure of the project. The goal was to keep the interface simple, clean and easy to use instead of adding unnecessary design elements. Most of the core pages are now ready, so the next step is connecting everything to the backend and implementing the resume processing features.
Ships:
I developed my first AI-based tool called InterviewPrep AI, which helps users optimize their resumes prior to applying for internships or jobs through the use of artificial intelligence. As of right now, the application can load a user's resume, create an ATS score, perform different kinds of analysis on various sections of the resume and provide suggestions for improvement. By far, the hardest part of this project was to connect all the backend services into a cohesive process and ensure that everything works as intended. Besides that, I also put some effort into testing various formats of resumes and fixing minor bugs related to parsing and analysis of the document. I think I am the most proud of having the whole resume analysis pipeline up and running. It's no longer an AI-based wrapper, but rather something that can form a solid foundation for future projects. In case anyone would like to test the project, please, try uploading various formats of the resume (PDF, DOCX or TXT) and check how well the parser, ATS analysis and suggestions work. This is just Phase 1, while Phase 2 is already being implemented.
I worked on the first three phases of InterviewPrep AI. You can set up a mock interview, answer AI-generated questions, get feedback, and check your previous interviews from the dashboard. The hardest part was making the interview flow feel smooth and connecting all the pages together. I also spent time improving the UI and handling loading and error states. I'm happy that the project now feels like a real app instead of just a demo. Everything works together and the overall experience is much better now. Just open the website and start using it. No signup is needed. You can start a new interview, complete it, and check the feedback and history right away....
|
1792878817.057684
|
1793742817.057684
|
|
47939
|
Arjun's Asset Hub by @ar-bh | Stardance
|
ar-bh
|
2
|
43.0
|
629
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T18:07:54Z", "hours": 14.0, "multiplier": 6.56, "payout": 93, "blessing": "neutral", "text": "Arjun’s Asset Hub!! v2.0 — Bigger Store Updates and Quality-of-Life Improvements I’m Arjun, and I’m 14 years old! 👋 Hi everybody! I love game development and animation, so I created a free asset website for myself and other creators like me. 3D Godot 4 Advanced Physics Simulator — A first-person playground where you can grab, throw, push, and destroy physics objects. 🧱 Basic FPS Controller — A beginner-friendly controller with walking, sprinting, jumping, mouse look, and a graybox map. 3D Platformer — A Mario-inspired controller with animated movement, jumping, and an orbital camera. Marble Run Controller — A physics-based marble that rolls around different courses. 3D Bear Controller — An animated bear that can walk and run around a colorful 3D map. 🐻 2D Godot 4 Basic 2D Platformer — A beginner-friendly pixel platformer with sprinting, coyote time, animations, and a Kenney playground. 🕹️ LEGO Blender 🧱 LEGO Arjun — A private LEGO version of me wearing my purple hoodie. LEGO Crying Castle Crasher — An unofficial LEGO-style Blue Knight with rendered scenes and a downloadable Blender file. LEGO Crying Guy — A custom green LEGO character originally created for one of my games. LEGO Person — Another custom character that is still being developed. Fonts Augie Pixel — The downloadable pixel font created by Augie that is used throughout this website. What’s new in v2.0? New 2D and 3D projects Search bars 🔎 Featured stars and orange glows 🌟 Automatic GitHub ZIP downloads Copyable Git clone commands Videos and screenshot galleries 🎥 Better phone and Chromebook scaling Lots of overlap and layout fixes I also recorded demonstration videos, created screenshots, wrote documentation, tested downloads, and published separate open-source repositories. My Basic FPS Controller was accepted onto the official Godot Asset Library ! 🎉 super cool :) I’ve been working all summer for my first gaming console—an XBOX! This is my second and final Asset Hub ship for Stardance, so please try the website and leave an honest review! If everyone gives this an honest review, I’ll have more than enough for the big box! Thank you all SO MUCH for the support!! ❤️", "repo": "https://github.com/ar-bh/arjuns-asset-hub", "demo": "https://ar-bh.github.io/arjuns-asset-hub/"}, {"ship_num": 2, "ts": "2026-08-28T17:15:48Z", "hours": 29.0, "multiplier": 17.64, "payout": 536, "blessing": "neutral", "text": "Arjun’s Asset Hub!! hi everybody, I’m Arjun, I’m 14 years old, and this is my project. I have a deep passion for game-dev and animation so I decided to make this website as a tool for myself, and other people like me too! godot 4 I always make my games in Godot so for my asset store, I added a category called Godot 4 (obviously :) ) So far, this has Simple 3D FPS Controller Mario-like 3D Platformer Marble Run controller and much more to come! i don’t really want to go that in-depth for the lego one because as of right now, it only has 1 asset that is only for me :( but I will be adding more soon!! guys, I’ve been working the entire summer for my first gaming console, an XBOX , and school is starting soon so this is my last ship! if everyone gives this a good review, then I’ll be set! please give me a good review so I can get an xbox, but don’t forget feedback as well! thank you guys SO MUCH for the support!!", "repo": "https://github.com/ar-bh/arjuns-asset-hub", "demo": "https://ar-bh.github.io/arjuns-asset-hub/"}]...
|
[{"post_id": 63734, "ts": "202 [{"post_id": 63734, "ts": "2026-09-07T18:00:28Z", "hours": 0.3167, "text": "if you are a ship reviewer, please give me a good review so I can get an xbox actual devlog below though mostly just updated the readme, before it was only for the previous ship. it had no where as much information and was only suitable for when there were only 2 3d projects and 2 categories. now there are 4 categories and my guess is almost 7 projects in total (averaging about 3 hours each) I really hope this will be my last devlog as in I will have enough points for the big box. One last time, thank you everybody for the support! ive had an amazing summer with this program, learned a lot, yea bye"}, {"post_id": 63716, "ts": "2026-09-07T17:30:49Z", "hours": 5.7436, "text": "SUPER COOL NEW ASSET!! 🔥 ADVANCED PHYSICS ENGINE! watch demo here its super cool it has minions and visit website here finally implemented minions! i think this is the final project of arjun’s asset hub FOR NOW so I wanted to make it huge and revolutionary (especially the video, u should watch it its super cool) so here is the list of what i did obviously made the whole asset of advanced physics simulator tbh its not really a simulator but the name fits kinda so who cares made it featured and also moved my less relevant projects like the bear 🐻 out of the featured section made a super cool demo video, linked above fixed some ui bugs here’s what you can do with this asset! throw around minions pick up and drop stuff (throw by flinging mouse and letting go) throw blocks into walls or the ground to destroy them and make them explode smash minions heads into things or fling them off the map crush minions with the big giant block move around and stuff using my first asset’s basic locomotion customize EVERYTHING toggle on/off debug mode guess that’s about it. gonna ship soon, THANKS EVERYBODY FOR THE SUPPORT!!!!!"}, {"post_id": 62278, "ts": "2026-09-05T15:57:22Z", "hours": 2.8056, "text": "brand new asset! basic 2d platformer! and more changes below these 2 hours were actually pretty fun here are the changes obviously added the new basic 2d platformer asset (made it featured too) split godot 4 category into 2D godot 4 and 3D godot 4 this will allow things to be neater and easier to find stuff for users next time added a better way to distinguish featured projects when not in the home tab by adding a star and an orange glow. you will be able to tell if a project is featured by actually looking through the assets in the store instead of visiting the featured projects page to do make a search thing probably make experience better for phones and weird screens like chromebooks, etc. that’s all, thanks!"}, {"post_id": 61187, "ts": "2026-09-04T00:12:02Z", "hours": 0.5772, "text": "officially added the bear 🐻 asset! this devlog mostly comprised of writing the detailed README.md like I do for all my assets it takes a while because I put a lot of effort it also includes the git commit to make it actually show on the website cool thanks!"}, {"post_id": 60523, "ts": "2026-09-02T22:21:27Z", "hours": 0.3153, "text": "think I’m done, ready to move on (sorry that previous video is corrupted)"}, {"post_id": 59201, "ts": "2026-08-31T21:10:21Z", "hours": 1.7831, "text": "bear sim is proving challenging (feedback pls 🙏) so the only problem rn is that animations are a bit hard to use. I’ve never done code for animations at this level so at least I’m learning I’m starting to think that I should have published this as its own project and maybe I shouldn’t make it under a MIT license bc of how hard I’m working. but it doesnt really matter bc either way im getting an xbox 👏 (Probably hopefully theoretically practically) – ok so yeah give me feedback tell me what you think thanks!"}, {"post_id": 59029, "ts": "2026-08-31T16:44:58Z", "hours": 1.8611, "text": "working on my next asset, a bear sim! 🐻 before I start, let me just express my gratitude. I’m only 134 stardust away from my xbox!! thank you guys so much for the good reviews and great feedback! i can nearly guarantee that I can get it now because of all of you! actual devlog now the next asset is a bear simulator its very unique imo i got a great model from sketchfab that I am so excited to implement properly so I think the end result will be really great! this is definitely going to be on the featured list if it turns out nice thanks for reading and supporting!"}, {"post_id": 56954, "ts": "2026-08-28T23:58:30Z", "hours": 0.8514, "text": "for those reviewing, pls give me a good review so I can get xbox actual devlog below though added new blender lego assets! this includes lego crying castle crasher and lego crying guy (they use the same face) both of these are projects from a while ago but it didn’t take time to add them and there’s also no harm so I just decided to add them bc y not added the website’s font! this font called augie pixel comes from Jame gam which is something you guys should do btw and is hosted by @augie . they made it themselves and I’m really gratefu that it’s free to use that’s all, pls give me good review if your rating btw 🙏"}, {"post_id": 56733, "ts": "2026-08-28T16:35:54Z", "hours": 0.2736, "text": "pre-devlog ship! wish me luck!! still a devlog though so I should probably say what I spent 15m doing love this emoji thing ok so I obviously added the readme! the readme contains: the title (obviously) the logo (obviously #2) what you can find inside this website (the Godot and Blender packs) each feature how to get an asset, basically tutorials a bit more about the actual website credits (me and I talked about how the rest are in each asset’s README) that’s it, wish me luck!"}, {"post_id": 56255, "ts": "2026-08-27T22:55:02Z", "hours": 0.3103, "text": "added the marble controller to my website! I Got lots of support from my fps one so I thought that I would try to mimic its theme and style and stuff using the graybox background. I will admit though that this is not one of my favorite projects so it is definitely not getting the featured tag (you can find the projects that are featured by scrolling down on the home page) I also found that lots of my hackatime projects are not being counted correctly so I had to add them. thanks for the support!"}, {"post_id": 56229, "ts": "2026-08-27T22:05:51Z", "hours": 1.2081, "text": "marble run! new asset for my asset library! this asset uses advanced physics using RigidBody3D i think it’s jupiter, not really sure what the marble texture is not really a fan of the quality of this project so I probably will not be submitting to asset library stay tuned though!"}, {"post_id": 56184, "ts": "2026-08-27T20:24:47Z", "hours": 1.5231, "text": "a few changes NEW CATEGORY! i made the home screen a little less boring by adding a preview of my demo videos as a playlist in the back, kinda faded out. i don’t think it looks that good so I wil probably remove it later and put something else the next category is lego blender! i started this with a lego version of me that I made a while back using mecabricks, will upload new custom self-made minifigs soon stay tuned!"}, {"post_id": 55727, "ts": "2026-08-27T18:18:34Z", "hours": 6.7719, "text": "created the 2nd project for my asest hub! simple 3d platformer you can try it now! the source code is here and the demo video is here Features orbital camera wasd movement with jump and gravity amazingly integrated gdquest model and animations have fun!"}, {"post_id": 53343, "ts": "2026-08-23T20:35:53Z", "hours": 3.2794, "text": "Working website! (prototype) so obviously, there’s the home page then theres the actual store which is like the main part of the project, and then source which is a link to the websites github and then donate which ill probably delete. so far I’ve only added godot 4 as a category and in godot 4 there is my * Basic fps controller which you can see in the last devlog websites turning out pretty good os far, I was thinking of adding animation related categories like lego models (bc I used to make lego animations so it could be fun and helpful) anyway that’s all, thanks for the support!"}, {"post_id": 53098, "ts": "2026-08-23T15:07:58Z", "hours": 7.0828, "text": "created the first project for my asset hub! It’s a basic FPS controller template for Godot 4 access it here and watch the demo video here . Enjoy!"}, {"post_id": 50387, "ts": "2026-08-19T15:35:54Z", "hours": 8.6053, "text": "created my project! and got lots of progress towards my website and my first asset!! got lots of work on the basic fps controller (look at future devlogs for more details because as of now, still in works!) started the website; I’m going for an orange theme like one of my old projects magic chainsaw because I liked how it looks i also made my logo by changing the colors of Godot logo to the colors of the blender logo so it represents the overlap between both (bc both will be present in the free store) don’t forget to smash that like button, thanks!"}]...
|
Title: Arjun's Asset Hub by @ar-bh | Stardance Title: Arjun's Asset Hub by @ar-bh | Stardance
Devlogs:
created my project! and got lots of progress towards my website and my first asset!! got lots of work on the basic fps controller (look at future devlogs for more details because as of now, still in works!) started the website; I’m going for an orange theme like one of my old projects magic chainsaw because I liked how it looks i also made my logo by changing the colors of Godot logo to the colors of the blender logo so it represents the overlap between both (bc both will be present in the free store) don’t forget to smash that like button, thanks!
created the first project for my asset hub! It’s a basic FPS controller template for Godot 4 access it here and watch the demo video here . Enjoy!
Working website! (prototype) so obviously, there’s the home page then theres the actual store which is like the main part of the project, and then source which is a link to the websites github and then donate which ill probably delete. so far I’ve only added godot 4 as a category and in godot 4 there is my * Basic fps controller which you can see in the last devlog websites turning out pretty good os far, I was thinking of adding animation related categories like lego models (bc I used to make lego animations so it could be fun and helpful) anyway that’s all, thanks for the support!
created the 2nd project for my asest hub! simple 3d platformer you can try it now! the source code is here and the demo video is here Features orbital camera wasd movement with jump and gravity amazingly integrated gdquest model and animations have fun!
a few changes NEW CATEGORY! i made the home screen a little less boring by adding a preview of my demo videos as a playlist in the back, kinda faded out. i don’t think it looks that good so I wil probably remove it later and put something else the next category is lego blender! i started this with a lego version of me that I made a while back using mecabricks, will upload new custom self-made minifigs soon stay tuned!
marble run! new asset for my asset library! this asset uses advanced physics using RigidBody3D i think it’s jupiter, not really sure what the marble texture is not really a fan of the quality of this project so I probably will not be submitting to asset library stay tuned though!
added the marble controller to my website! I Got lots of support from my fps one so I thought that I would try to mimic its theme and style and stuff using the graybox background. I will admit though that this is not one of my favorite projects so it is definitely not getting the featured tag (you can find the projects that are featured by scrolling down on the home page) I also found that lots of my hackatime projects are not being counted correctly so I had to add them. thanks for the support!
pre-devlog ship! wish me luck!! still a devlog though so I should probably say what I spent 15m doing love this emoji thing ok so I obviously added the readme! the readme contains: the title (obviously) the logo (obviously #2) what you can find inside this website (the Godot and Blender packs) each feature how to get an asset, basically tutorials a bit more about the actual website credits (me and I talked about how the rest are in each asset’s README) that’s it, wish me luck!
for those reviewing, pls give me a good review so I can get xbox actual devlog below though added new blender lego assets! this includes lego crying castle crasher and lego crying guy (they use the same face) both of these are projects from a while ago but it didn’t take time to add them and there’s also no harm so I just decided to add them bc y not added the website’s font! this font called augie pixel comes from Jame gam which is something you guys should do btw and is hosted by @augie . they made it themselves and I’m really gratefu that it’s free to use that’s all, pls give me good review if your rating btw 🙏
working on my next asset, a bear sim! 🐻 before I start, let me just express my gratitude. I’m only 134 stardust away from my xbox!! thank you guys so much for the good reviews and great feedback! i can nearly guarantee that I can get it now because of all of you! actual devlog now the next asset is a bear simulator its very unique imo i got a great model from sketchfab that I am so excited to implement properly so I think the end result will be really great! this is definitely going to be on the featured list if it turns out nice thanks for reading and supporting!
bear sim is proving challenging (feedback pls 🙏) so the only problem rn is that animations are a bit hard to use. I’ve never done code for animations at this level so at least I’m learning I’m starting to think that I should have published this as its own project and maybe I shouldn’t make it under a MIT license bc of how hard I’m working. but it doesnt really matter bc either way im getting an xbox 👏 (Probably hopefully theoretically practically) – ok so yeah give me feedback tell me what you think thanks!
think I’m done, ready to move on (sorry that previous video is corrupted)
officially added the bear 🐻 asset! this devlog mostly comprised of writing the detailed README.md like I do for all my assets it takes a while because I put a lot of effort it also includes the git commit to make it actually show on the website cool thanks!
brand new asset! basic 2d platformer! and more changes below these 2 hours were actually pretty fun here are the changes obviously added the new basic 2d platformer asset (made it featured too) split godot 4 category into 2D godot 4 and 3D godot 4 this will allow things to be neater and easier to find stuff for users next time added a better way to distinguish featured projects when not in the home tab by adding a star and an orange glow. you will be able to tell if a project is featured by actually looking through the assets in the store instead of visiting the featured projects page to do make a search thing probably make experience better for phones and weird screens like chromebooks, etc. that’s all, thanks!
SUPER COOL NEW ASSET!! 🔥 ADVANCED PHYSICS ENGINE! watch demo here its super cool it has minions and visit website here finally implemented minions! i think this is the final project of arjun’s asset hub FOR NOW so I wanted to make it huge and revolutionary (especially the video, u should watch it its super cool) so here is the list of what i did obviously made the whole asset of advanced physics simulator tbh its not really a simulator but the name fits kinda so who cares made it featured and also moved my less relevant projects like the bear 🐻 out of the featured section made a super cool demo video, linked above fixed some ui bugs here’s what you can do with this asset! throw around minions pick up and drop stuff (throw by flinging mouse and letting go) throw blocks into walls or the ground to destroy them and make them explode smash minions heads into things or fling them off the map crush minions with the big giant block move around and stuff using my first asset’s basic locomotion customize EVERYTHING toggle on/off debug mode guess that’s about it. gonna ship soon, THANKS EVERYBODY FOR THE SUPPORT!!!!!
if you are a ship reviewer, please give me a good review so I can get an xbox actual devlog below though mostly just updated the readme, before it was only for the previous ship. it had no where as much information and was only suitable for when there were only 2 3d projects and 2 categories. now there are 4 categories and my guess is almost 7 projects in total (averaging about 3 hours each) I really hope this will be my last devlog as in I will have enough points for the big box. One last time, thank you everybody for the support! ive had an amazing summer with this program, learned a lot, yea bye
Ships:
Arjun’s Asset Hub!! hi everybody, I’m Arjun, I’m 14 years old, and this is my project. I have a deep passion for game-dev and animation so I decided to make this website as a tool for myself, and other people like me too! godot 4 I always make my games in Godot so for my asset store, I added a category called Godot 4 (obviously :) ) So far, this has Simple 3D FPS Controller Mario-like 3D Platformer Marble Run controller and much more to come! i don’t really want to go that in-depth for the lego one because as of right now, it only has 1 asset that is only for me :( but I will be adding more soon!! guys, I’ve been working the entire summer for my first gaming console, an XBOX , and school is starting soon so this is my last ship! if everyone gives this a good review, then I’ll be set! please give me a good review so I can get an xbox, but don’t forget feedback as well! thank you guys SO MUCH for the support!!
Arjun’s Asset Hub!! v2.0 — Bigger Store Updates and Quality-of-Life Improvements I’m Arjun, and I’m 14 years old! 👋 Hi everybody! I love game development and animation, so I created a free asset website for myself and other creators like me. 3D Godot 4 Advanced Physics Simulator — A first-person playground where you can grab, throw, push, and destroy physics objects. 🧱 Basic FPS Controller — A beginner-friendly controller with walking, sprinting, jumping, mouse look, and a graybox map. 3D Platformer — A Mario-inspired controller with animated movement, jumping, and an orbital camera. Marble Run Controller — A physics-based marble that rolls around different courses. 3D Bear Controller — An animated bear that can walk and run around a colorful 3D map. 🐻 2D Godot 4 Basic 2D Platformer — A beginner-friendly pixel platformer with sprinting, coyote time, animations, and a Kenney playground. 🕹️ LEGO Blender 🧱 LEGO Arjun — A private LEGO version of me wearing my purple hoodie. LEGO Crying Castle Crasher — An unofficial LEGO-style Blue Knight with rendered scenes and a downloadable Blender file. LEGO Crying Guy — A custom green LEGO character originally created for one of my games. LEGO Person — Another custom character that is still being developed. Fonts Augie Pixel — The downloadable pixel font created by Augie that is used throughout this website. What’s new in v2.0? New 2D and 3D projects Search bars 🔎 Featured stars and orange glows 🌟 Automatic GitHub ZIP downloads Copyable Git clone commands Videos and screenshot galleries 🎥 Better phone and Chromebook scaling Lots of overlap and layout fixes I also recorded demonstration videos, created screenshots, wrote documentation, tested downloads, and published separate open-source repositories. My Basic FPS Controller was accepted onto the official Godot Asset Library ! 🎉 super cool :) I’ve been working all summer for my first gaming console—an XBOX! This is my second and final Asset Hub ship for Stardance, so please try the website and leave an honest review! If everyone gives this an honest review, I’ll have more than enough for the big box! Thank you all SO MUCH for the support!! ❤️...
|
1793094812.2786808
|
1793181212.2786808
|
|
52248
|
City Sweep by @gungu | Stardance
|
gungu
|
1
|
43.0
|
838
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T10:11:00Z", "hours": 43.0, "multiplier": 19.27, "payout": 838, "blessing": "neutral", "text": "City Sweep is a game I made in about 2-3 weeks with the sole purpose to test out how well I can make a game in my freshly made 3D renderer and basically game engine. In this game you pick up trash in a small city. You earn money from the picked up trash, which you can spend on more storage, tools, or upgrades for your tools. That’s about it, this is just a tech demo I made for my engine, so it isn’t that ambitious.", "repo": "https://github.com/gungugugungu/City_Sweep", "demo": "https://github.com/gungugugungu/City_Sweep/releases/tag/1.0"}]...
|
[{"post_id": 62800, "ts": "202 [{"post_id": 62800, "ts": "2026-09-06T10:08:17Z", "hours": 0.7683, "text": "DEMO !! And that’s it, the demo is live. I’m going to ship the project and finally relax after a long summer. Unless there are bugs to fix of course, but I sure as hell hope there are none."}, {"post_id": 62502, "ts": "2026-09-05T22:02:26Z", "hours": 0.3247, "text": "SETTINGS and HELP MENU That’s it, I’m done. I made a game in my own renderer, and pretty well too. What I’ve made in the past couple of weeks simply amazes me, I never thought I would make a game in completely my own engine, and look at me now. Yes it’s just a simple tech demo, but it’s still a playable game."}, {"post_id": 62494, "ts": "2026-09-05T21:40:06Z", "hours": 0.6536, "text": "Sound effects Yeah there are sounds for everything now, the game is coming together, it’s sure as hell good for a tech demo."}, {"post_id": 62141, "ts": "2026-09-05T12:11:56Z", "hours": 0.3622, "text": "Music !! I spent the morning making a song that doesn’t feel to repetitive, as the game is like 15 minutes long, and I’m pretty sure this song is basic enough that it that it can be listened to for 15 minutes. I also had to implement SDL_mixer into my game so I can listen play sounds, but that was pretty easy. I wanted the song to have a vibe straight out of High On Life, and I think I’ve got it. I’ve attached a part of it so you can listen to it too."}, {"post_id": 61723, "ts": "2026-09-04T19:19:39Z", "hours": 1.3453, "text": "Everything finally has a proper price! I tried beating the entire game with this, and of course it’s a tech demo so it’s like a 10 minute experience at best, it’s still extremely cool. I’m almost there, just some polishing here and there and I’m done."}, {"post_id": 61586, "ts": "2026-09-04T15:58:33Z", "hours": 1.5619, "text": "I finished the upgrades for the broom and vacuum I did it for the storage too, it was only half done. It’s pretty cool. I also rearranged all the trash in the city, and nearly doubled it too. Now all I need is: Make everything cost money. All the prices are already calculated, I just need to make them work. I need to music, sound effects, and settings to make them work. I need to make a proper help menu, because I still use the placeholder. And then the last thing is some multi-platform playtesting, to make sure everything works as it’s supposed to."}, {"post_id": 60893, "ts": "2026-09-03T15:18:56Z", "hours": 1.7419, "text": "I filled the city with trash I doesn’t look too great yet, I’m definitely going to do something about how it looks, but as of right now I’m: A. Happy that it’s even working B. Surprised that my renderer can handle so many objects at once. This project was basically made so I can see how well my renderer can handle a full game, and it seems like it’s doing quite fine. Now all that remains is to: Finish all the upgrades for all the tools Give everything a price and display it Add some sfx and music Add a loading screen That’s not a bad list, I’m practically done already!😅"}, {"post_id": 60338, "ts": "2026-09-02T16:51:29Z", "hours": 1.1717, "text": "I finished the city!!! It’s neither the prettiest or the biggest, but I can’t commit to a map bigger than this for my first game in this renderer. So, for now, this is enough. It looks kinda cool tho, it might just be me. The point is: this is a basic map, but a great map for picking up trash in, all things considered I’m happy."}, {"post_id": 59635, "ts": "2026-09-01T15:36:29Z", "hours": 1.6458, "text": "Many changes, so here’s a list: I wrote an entire pixelation post-processing effect in the renderer so now the entire thing is cool and pixelated, I love how it looks. I worked a bit more on the map and re-lit the whole thing I drew a new skybox, I think it looks really cool."}, {"post_id": 58822, "ts": "2026-08-31T12:28:05Z", "hours": 2.0081, "text": "I started working on the world for the demo. It’s going to be quite small, I’ve already got 2 of 10 buildings down. I also need to make a new skybox too, but that’ll come later I suppose. I also want to make a pixelating effect that makes it look a bit more stylized, but that’ll come later."}, {"post_id": 58000, "ts": "2026-08-30T10:37:15Z", "hours": 1.9097, "text": "VACUUM TOOL I’m beginning to get to the end of the project. I still need to make the upgrades for the broom and vacuum, an actual map, sounds effects, music or ambience and make a build for windows too. I’m pretty sure that’s it."}, {"post_id": 57268, "ts": "2026-08-29T11:34:02Z", "hours": 4.8394, "text": "TOOL SYSTEM and BROOM I implemented an entire system for switching tools. I didn’t want to make a devlog without an example, so I drew, animated and programmed the broom tool as well. All of it’s settings are changeable, now all I need to do is spend a bit of time with the upgrades and it’s all done. I’m unsure if I talked about money in the last update, but if not then yeah, money exists too now, although it doesn’t have a use quite yet."}, {"post_id": 55742, "ts": "2026-08-27T18:34:04Z", "hours": 4.7506, "text": "BUYING TOOLS and TOOL ANIMATIONS Most my time spent in this update was actually with optimization. I freaked out the the game wasn’t performing well in a rendering situation that I won’t even come close to in the finished product, so I realized it was only a problem if I made it one. After that debacle I implemented buying tools and then I started working on animating the hands. All the other tools will be 2D and animated like this too."}, {"post_id": 54608, "ts": "2026-08-25T17:08:08Z", "hours": 1.1217, "text": "STORAGE UPGRADES minus the trashcan and wheelbarrow, I’m planning to make those actual physical objects you can move around and interact with which will come later on in development, I’ve still got a lot to do before that. But that does technically mean that most of the UI work is done (jippie !!!) , I only need to do the purchasing for other tools now, and the settings menu will come far later in development. I’m almost out of UI hell, almost there"}, {"post_id": 54491, "ts": "2026-08-25T14:45:23Z", "hours": 1.5553, "text": "It took a bit longer then I would have wanted, but I designed the storage upgrade menu. First image is nothing purchased, second image is everything bought."}, {"post_id": 53969, "ts": "2026-08-24T17:57:38Z", "hours": 1.5842, "text": "HAND UPGRADES Upgrade 1 : Pickup speed: shrinks the time between pickups Upgrade 2 : Palm size: the radius in which the player can pick up trash (basically just how much trash you can pick up at once) Upgrade 3 : Hold pick up: (one-time upgrade) allows holding the mouse button for picking up trash instead of having to click individually for each one"}, {"post_id": 53874, "ts": "2026-08-24T16:04:48Z", "hours": 2.2628, "text": "EXPANDABLE UPGRADE SYSTEM This is just the base for it, upgrades are not yet implemented, but thanks to all the work right now, implementing upgrades is easier than ever. The progress bars are how well the upgrades are progressing, and those are driven by a variable as well. Much of the time on this was just spent on figuring out how the UI should look, and to be honest I’m a bit disappointed because it’s not that good, but it’ll be better once it actually functions, because right now you can press the buttons but they don’t do anything that’s visible to the naked eye"}, {"post_id": 53158, "ts": "2026-08-23T16:30:23Z", "hours": 2.3658, "text": "this took way longer than it should have, but BASIC PAUSE MENU AND UI SYSTEM I made a simple button class and made sure they worked, I also had to do a bunch of debugging in the engine and in my raycasting function to iron out a bunch of bugs, I am finding why making your own engine is way more time consuming. I love it tho, it’s way more fun than making this in a big engine."}, {"post_id": 52969, "ts": "2026-08-23T10:50:30Z", "hours": 0.44, "text": "EMPTYING TRASH AND MAX TRASH AMOUNT Yeah pretty self explanatory. I capped the max amount you can hold and added bins on the map that you can empty trash into. Pretty cool."}, {"post_id": 52948, "ts": "2026-08-23T10:15:07Z", "hours": 1.0661, "text": "PHYSICS OPTIMIZATION Yeah the physics were really slow, I needed to work on optimizing it a little. Also, if you look closely you can see that the trash counter text is finally centered. That cool, right? Anyways, the point is that I won’t be having any trouble with performance anytime soon."}, {"post_id": 52630, "ts": "2026-08-22T21:05:36Z", "hours": 1.2803, "text": "TRASH COUNTER Yeah it’s not centered, I’ll fix that, I just want this feature out. I had to rewrite much of the 2D rendering in my renderer for this, so please appreciate it.😅"}, {"post_id": 52582, "ts": "2026-08-22T19:21:29Z", "hours": 0.8422, "text": "I added trash you can pick up It’s loaded from the map file you give it, and automatically identified based on the name. You can also kick it around, that’s it. Now that I finally built out all the necessary systems developing this game is a breeze, I so love the environment I built for myself. Totally worth the 60 hours I spent on it."}, {"post_id": 52538, "ts": "2026-08-22T18:16:57Z", "hours": 3.6858, "text": "I can’t believe I’m saying this, but FPS MOVEMENT AND PHYSICS SYSTEM If you saw any of my older devlogs (you didn’t tho) , you would point out that I already made a physics system and FPS movement. And that’s true, but those systems were copied from my last engine and slightly edited to fit my new renderer (except for PhysicsObject that was basically a full rewrite) , but I didn’t account for the fact that React Physics 3D may have been updated during this time. And of course they added breaking changes, which I had to annoyingly chase down with no information on why anything was happening. I’m not going to go into it because I don’t fully understand what it was freaking out so much about, but the point is that I had to rewrite most of the CharacterController and FPSController, or else the entire physics system would just collapse on itself. Anyways, here’s a video of me walking around on the dev environment."}, {"post_id": 51539, "ts": "2026-08-21T09:32:46Z", "hours": 0.3761, "text": "CHARACTERCONTROLLER AND FPSCONTROLLER CLASS I ported over an old CharacterController class from my old game engine along with the FPSController subclass. I had to do a little rewriting because this project uses a different math library and camera setup, but other than that it was really simple."}, {"post_id": 51521, "ts": "2026-08-21T09:02:32Z", "hours": 3.8094, "text": "RENDERER IMPLEMENTATION AND PHYSICS This project is a follow-up to my last project, which is a renderer using Vulkan. I spent some time figuring out how to use my own renderer as a library, but after a bunch of rewriting I managed to do it. After that I implemented ReactPhysics3D, which is a 3D physics library I used before, and I want to use it in this game too, so I spent some time writing a PhysicsObject class based on the PhysicsComponent from my game engine I built last year. I had to do a bunch of rewriting, and I also had to modify my GLTF loader in my renderer so it also returns vertex dat for convex shape generation, but it’s all done and working. The next step is a CharacterController class and an FPSController subclass, which I can hopefully just rip from my old game engine."}]...
|
Title: City Sweep by @gungu | Stardance
Devlogs:
Title: City Sweep by @gungu | Stardance
Devlogs:
RENDERER IMPLEMENTATION AND PHYSICS This project is a follow-up to my last project, which is a renderer using Vulkan. I spent some time figuring out how to use my own renderer as a library, but after a bunch of rewriting I managed to do it. After that I implemented ReactPhysics3D, which is a 3D physics library I used before, and I want to use it in this game too, so I spent some time writing a PhysicsObject class based on the PhysicsComponent from my game engine I built last year. I had to do a bunch of rewriting, and I also had to modify my GLTF loader in my renderer so it also returns vertex dat for convex shape generation, but it’s all done and working. The next step is a CharacterController class and an FPSController subclass, which I can hopefully just rip from my old game engine.
CHARACTERCONTROLLER AND FPSCONTROLLER CLASS I ported over an old CharacterController class from my old game engine along with the FPSController subclass. I had to do a little rewriting because this project uses a different math library and camera setup, but other than that it was really simple.
I can’t believe I’m saying this, but FPS MOVEMENT AND PHYSICS SYSTEM If you saw any of my older devlogs (you didn’t tho) , you would point out that I already made a physics system and FPS movement. And that’s true, but those systems were copied from my last engine and slightly edited to fit my new renderer (except for PhysicsObject that was basically a full rewrite) , but I didn’t account for the fact that React Physics 3D may have been updated during this time. And of course they added breaking changes, which I had to annoyingly chase down with no information on why anything was happening. I’m not going to go into it because I don’t fully understand what it was freaking out so much about, but the point is that I had to rewrite most of the CharacterController and FPSController, or else the entire physics system would just collapse on itself. Anyways, here’s a video of me walking around on the dev environment.
I added trash you can pick up It’s loaded from the map file you give it, and automatically identified based on the name. You can also kick it around, that’s it. Now that I finally built out all the necessary systems developing this game is a breeze, I so love the environment I built for myself. Totally worth the 60 hours I spent on it.
TRASH COUNTER Yeah it’s not centered, I’ll fix that, I just want this feature out. I had to rewrite much of the 2D rendering in my renderer for this, so please appreciate it.😅
PHYSICS OPTIMIZATION Yeah the physics were really slow, I needed to work on optimizing it a little. Also, if you look closely you can see that the trash counter text is finally centered. That cool, right? Anyways, the point is that I won’t be having any trouble with performance anytime soon.
EMPTYING TRASH AND MAX TRASH AMOUNT Yeah pretty self explanatory. I capped the max amount you can hold and added bins on the map that you can empty trash into. Pretty cool.
this took way longer than it should have, but BASIC PAUSE MENU AND UI SYSTEM I made a simple button class and made sure they worked, I also had to do a bunch of debugging in the engine and in my raycasting function to iron out a bunch of bugs, I am finding why making your own engine is way more time consuming. I love it tho, it’s way more fun than making this in a big engine.
EXPANDABLE UPGRADE SYSTEM This is just the base for it, upgrades are not yet implemented, but thanks to all the work right now, implementing upgrades is easier than ever. The progress bars are how well the upgrades are progressing, and those are driven by a variable as well. Much of the time on this was just spent on figuring out how the UI should look, and to be honest I’m a bit disappointed because it’s not that good, but it’ll be better once it actually functions, because right now you can press the buttons but they don’t do anything that’s visible to the naked eye
HAND UPGRADES Upgrade 1 : Pickup speed: shrinks the time between pickups Upgrade 2 : Palm size: the radius in which the player can pick up trash (basically just how much trash you can pick up at once) Upgrade 3 : Hold pick up: (one-time upgrade) allows holding the mouse button for picking up trash instead of having to click individually for each one
It took a bit longer then I would have wanted, but I designed the storage upgrade menu. First image is nothing purchased, second image is everything bought.
STORAGE UPGRADES minus the trashcan and wheelbarrow, I’m planning to make those actual physical objects you can move around and interact with which will come later on in development, I’ve still got a lot to do before that. But that does technically mean that most of the UI work is done (jippie !!!) , I only need to do the purchasing for other tools now, and the settings menu will come far later in development. I’m almost out of UI hell, almost there
BUYING TOOLS and TOOL ANIMATIONS Most my time spent in this update was actually with optimization. I freaked out the the game wasn’t performing well in a rendering situation that I won’t even come close to in the finished product, so I realized it was only a problem if I made it one. After that debacle I implemented buying tools and then I started working on animating the hands. All the other tools will be 2D and animated like this too.
TOOL SYSTEM and BROOM I implemented an entire system for switching tools. I didn’t want to make a devlog without an example, so I drew, animated and programmed the broom tool as well. All of it’s settings are changeable, now all I need to do is spend a bit of time with the upgrades and it’s all done. I’m unsure if I talked about money in the last update, but if not then yeah, money exists too now, although it doesn’t have a use quite yet.
VACUUM TOOL I’m beginning to get to the end of the project. I still need to make the upgrades for the broom and vacuum, an actual map, sounds effects, music or ambience and make a build for windows too. I’m pretty sure that’s it.
I started working on the world for the demo. It’s going to be quite small, I’ve already got 2 of 10 buildings down. I also need to make a new skybox too, but that’ll come later I suppose. I also want to make a pixelating effect that makes it look a bit more stylized, but that’ll come later.
Many changes, so here’s a list: I wrote an entire pixelation post-processing effect in the renderer so now the entire thing is cool and pixelated, I love how it looks. I worked a bit more on the map and re-lit the whole thing I drew a new skybox, I think it looks really cool.
I finished the city!!! It’s neither the prettiest or the biggest, but I can’t commit to a map bigger than this for my first game in this renderer. So, for now, this is enough. It looks kinda cool tho, it might just be me. The point is: this is a basic map, but a great map for picking up trash in, all things considered I’m happy.
I filled the city with trash I doesn’t look too great yet, I’m definitely going to do something about how it looks, but as of right now I’m: A. Happy that it’s even working B. Surprised that my renderer can handle so many objects at once. This project was basically made so I can see how well my renderer can handle a full game, and it seems like it’s doing quite fine. Now all that remains is to: Finish all the upgrades for all the tools Give everything a price and display it Add some sfx and music Add a loading screen That’s not a bad list, I’m practically done already!😅
I finished the upgrades for the broom and vacuum I did it for the storage too, it was only half done. It’s pretty cool. I also rearranged all the trash in the city, and nearly doubled it too. Now all I need is: Make everything cost money. All the prices are already calculated, I just need to make them work. I need to music, sound effects, and settings to make them work. I need to make a proper help menu, because I still use the placeholder. And then the last thing is some multi-platform playtesting, to make sure everything works as it’s supposed to.
Everything finally has a proper price! I tried beating the entire game with this, and of course it’s a tech demo so it’s like a 10 minute experience at best, it’s still extremely cool. I’m almost there, just some polishing here and there and I’m done.
Music !! I spent the morning making a song that doesn’t feel to repetitive, as the game is like 15 minutes long, and I’m pretty sure this song is basic enough that it that it can be listened to for 15 minutes. I also had to implement SDL_mixer into my game so I can listen play sounds, but that was pretty easy. I wanted the song to have a vibe straight out of High On Life, and I think I’ve got it. I’ve attached a part of it so you can listen to it too.
Sound effects Yeah there are sounds for everything now, the game is coming together, it’s sure as hell good for a tech demo.
SETTINGS and HELP MENU That’s it, I’m done. I made a game in my own renderer, and pretty well too. What I’ve made in the past couple of weeks simply amazes me, I never thought I would make a game in completely my own engine, and look at me now. Yes it’s just a simple tech demo, but it’s still a playable game.
DEMO !! And that’s it, the demo is live. I’m going to ship the project and finally relax after a long summer. Unless there are bugs to fix of course, but I sure as hell hope there are none.
Ships:
City Sweep is a game I made in about 2-3 weeks with the sole purpose to test out how well I can make a game in my freshly made 3D renderer and basically game engine. In this game you pick up trash in a small city. You earn money from the picked up trash, which you can spend on more storage, tools, or upgrades for your tools. That’s about it, this is just a tech demo I made for my engine, so it isn’t that ambitious....
|
1793101811.2852302
|
1793188211.2852302
|
|
55434
|
BKball by @Nanobi | Stardance
|
Nanobi
|
2
|
43.0
|
559
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-27T11:50:10Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Quality of life shipment !!! Last time, I got the game working, this time I’m making it more playable and enjoyable !!! There are multiple new key points: brand new animations for when you win, lose, or enter in editor mode New computer controls! The last ones were working differently depending on your computer. On your phone, sensibility was quite random. Now, I changed how it works for both platforms, with different input types There are now clearer explanations, images with labels, and a new popup explaining everything you need to play if you don’t understand a thing. There are now smoother movements too, and some bug fixes I finished building my BKpad so it works perfectly with the game, by turning the potentiometers you pull the ropes! Sound effects! Not too much but just what you need, to keep the website simple for everyone to play On the website there are small imporvements like a new level changer, new links to the BKpad repo The whole website is translated in french and in english, by hand, and it took me some time :blahaj-scooter I’m proud of the work I have done, working while thinking about the BKpad , and finishing the work I started I chose to frame a small devlog so you can see in the devlogs without seeing the same text every time :3 Thanks for reading!", "repo": "https://github.com/Nan0b1/BKball", "demo": "https://nan0b1.github.io/BKball/"}, {"ship_num": 2, "ts": "2026-09-23T16:37:28Z", "hours": 31.0, "multiplier": 18.46, "payout": 559, "blessing": "neutral", "text": "BKball is an html game where you pull ropes to make a ball go up the wall without falling into the holes. It is playable on any platform :D You have 12 levels and you can edit them or create new ones with the level editor ! I did this project thinking about my other project: the BKpad, a custom keypad. Therefore, the game is designed to work primarily with this MacroPad, secondarily for a keyboard and then on mobile. The project is a simple html zip, made with vanilla javascript and no plugins! It is small with less than 1000 lines of code, but with more it would be difficult to make them all in one file :o Doing this project was cool! I never did javascript this much, it’s floppy but it is not too hard to code even if 0 == false ;-; I am proud of having done everything myself, especially the canvas which is not a canvas element but an svg using animated elements and curves as lines so I can bend them :3 If you want to test the project, go to bkball.rf.gd everything is updated automatically :) I am proud of my “BK” hardware project (the cat head you can see in the website at the left) and happy that now it has a new website linked to him :D", "repo": "https://github.com/Nan0b1/BKball", "demo": "https://nan0b1.github.io/BKball/"}]...
|
[{"post_id": 83210, "ts": "202 [{"post_id": 83210, "ts": "2026-10-27T10:59:50Z", "hours": 5.8897, "text": "Devlog 3 s2 !!! The last one of the year!!! I hope I will be able to review projects to earn my stardust or I’m cooked :o What is my project An easy-to-play HTML game where you pull on the ropes to make a ball go up. It works on every platform (though not on the controllers) and it’s made entirely in vanilla js What’s new? A brand new explanation page!!! There are 4 ? icons on the website and they open a page for you where you can select your platform and it explains you the controls, it took some time to translate some smoother movements for you to enjoy the game even more! a big responsiveness boost, up to 100ms less input lag! So the user feels good :) polished animation + a new one for when you enter editor mode! If you’re on a phone, to make understanding easier, some redundant informations is hidden the editor now autosaves before you quit, you can easily test your level when in editor mode and it won’t go to the next level. You can change levels while editing by selecting the one you want so you can edit in mass. I now mention the legacy controls in the popup if you click on pc then legacy :) I added links to my BKpad’s github repo so you can see why the game is designed like that Some levels changed and when you share your creations you get a confirmation displayed in your browser’s language What’s next? Shipping!!! I polished my website to deliver the best user experience and I think it is much better now. I finished my tasks and am happy of my projects so I’ll stop there and come back next year Goodbye"}, {"post_id": 82634, "ts": "2026-10-25T13:54:43Z", "hours": 3.2014, "text": "Smol devlog 2 s2 Someone asked in the last shipment to do more devlogs so there it is What is my project It’s an html game made from scratch with no frameworks where you need to make a ball go up and not fall into other holes New things ! Brand new animations for when you win, loose, or swipe horizontally on your phone instead of vertically, all made in the svg canvas Sound ! When you win or fall in a hole, you get 4 different vfx Migrated website. The old website keeps getting blacklisted by google so I have now my website in github pages !!! I smoothed some movements and patched the keyboard response time (I was maybe checking inputs every 200ms so you had to wait the next tick :3) What’s next? I have no ideas :( For the moment I’ll finish my BKpad’s website to ship it :) If you think about a feature just ask me in comms"}, {"post_id": 82278, "ts": "2026-10-24T13:25:57Z", "hours": 2.7092, "text": "Small devlog 1 s2 What is my project? In this HTML game, you need to pull ropes to make a ball go up, but don’t fall in the holes What’s new? I tried my best to make the user experience feel better New computer controls (I keep the legacy ones hidden for the BKpad to work the best :o) Reworked gestures for phones and every touchable screen Clearer explanations for each platform A new level selector on top of the one existing, because I noticed nobody changed levels with my selector Bug fixes: ropes were bending when you used gestures and your death was delayed, but now everything works What next? A win animation? Sounds? translation fix Hope the devlog was fun to read :) Goodbye"}, {"post_id": 72679, "ts": "2026-09-23T14:11:02Z", "hours": 1.8417, "text": "SmallLog 5 :) What is my game? A hand made html/js game where you have to make the ball go up, featuring 12 levels and an entirely functional level editor where you can share your creations with others Last touches I polished the code (and added the last ; ) I added an on-close warning if you haven’t saved You can now change levels when in level editor and it saves what you did The readme is more complete now The decision was made to not make easter eggs (simpler is sometimes good and adding random things is not my priority (it’s what I did during 50 hours but nevermind)) You can test it on BKball’s official website !!!! I have completed my mission and have to say goodbye :o I won’t make new projects, I have personal work to do Goodbye, it was fun to be in the stardance hackClub :)"}, {"post_id": 72360, "ts": "2026-09-22T19:08:32Z", "hours": 9.0103, "text": "Devlog 4 !! :D What is this project about? In this html game, you have to make the ball go in the green hole, by pulling on the two lateral ropes. 8 hours of work: I worked on several things: I added a complete working level editor: functions to add holes functions to modify and delete holes ! with this I added 8 new levels! I completed french translation and integrated the language selector into the page I added many missing semicolons in the javascript because I normally code in python I added a favicon ! then I quickly fixed some bugs :) What’s next? Fix an editor mode where it edits 2 levels at once Change the mobile controls editor logo at the left one last devlog SHIP THE PROJECT!!!"}, {"post_id": 67168, "ts": "2026-09-13T07:33:07Z", "hours": 7.7208, "text": "Big Devlog 3 !!! What is this project about? I”m making a web game about pulling ropes to make a ball up but you can fall in the wall holes :o This project is pure html, javascript and css what does I added during those 7h40? I first cleaned the whole code I fixed all physics issue with reliable solutions, now if you pull too hard on one the other will loosen itself I transformed ropes lines into straight curves with the straight curves I can bend them if you push too many rope on one side I styled the whole website and added controls explanation + levels selection brand new gesture system for phones and everything that have a touchscreen I store the level you are so you can join without reselecting everything Some Minecraft Modder on github helped me to determine a localstorage related bug and implemented lang.js -> I have now french support ! I started implementing level edition! (not pushed) (it’s for me because now to do levels I need to tweak arrays in vsCode :/) An official website is now availiable , thanks to infinityfree, they are a simple and good solution! I added instant auto deployement from the github to the new website! Controls are unified, it don’t make the difference between AZERTY and QWERTY or any other random layout :) what’s next? continue level editor do levels with it add an easter egg Thanks for reading this really long devlog I didn’t saw the time going on (4h in half a day is a lot for my little brain but music helps!) Special thanks to Some Minecraft Modder for not only his help but for following my project!"}, {"post_id": 64834, "ts": "2026-09-09T15:01:19Z", "hours": 6.0619, "text": "Devlog 2 BKball !!! What is this? This is an html game where you have to make a ball up while not falling into the holes :) I do this with native html, css and javascript (with < svg> ) 5 hours of work: I added holes I added a way to win (it’s not common for a game i think ) I fixed some physics issues where you could go in the sky :o Brand new level system where you can choose a level and change with real ease -> two levels :) what I have to do? clean the code so I can dev easily :) add more level add a custom backroom level with “all of the lights” while you are being chased the whole website because for now I only have the “canvas” Thanks for reading it’s fun to do and thanks to “Some minecraft Modder” who is supporting me"}, {"post_id": 58799, "ts": "2026-08-31T11:44:44Z", "hours": 6.2797, "text": "Hello there! First devlog! I’m glad to lunch a new project: BKball What is it? You have a ball down a wall and you want to make it go up by pulling on 2 ropes :o Why is this a continuation of the BKpad? The game is designed to work directly with the potentiometers of the BKpad and later the ball will be BKthemed :) What have I done? 6h16 of work : launched the project ideas and things I would use I did the main frame, I will do native js, html and css I will not use game frameworks but items I did physics! I didn’t simulated the whole thing lol, I just used some equations :) (go see it’s fun) my grandma was with me and followed the whole process during some hours A friend of mine helped me with some css tweaks so the Github is updated :) For the future: I already have holes but I have to add collisions I need to do a level system! I will have to make a welcome popup to explain some things Goodbye :D"}]...
|
Title: BKball by @Nanobi | Stardance
Devlogs:
Hel Title: BKball by @Nanobi | Stardance
Devlogs:
Hello there! First devlog! I’m glad to lunch a new project: BKball What is it? You have a ball down a wall and you want to make it go up by pulling on 2 ropes :o Why is this a continuation of the BKpad? The game is designed to work directly with the potentiometers of the BKpad and later the ball will be BKthemed :) What have I done? 6h16 of work : launched the project ideas and things I would use I did the main frame, I will do native js, html and css I will not use game frameworks but items I did physics! I didn’t simulated the whole thing lol, I just used some equations :) (go see it’s fun) my grandma was with me and followed the whole process during some hours A friend of mine helped me with some css tweaks so the Github is updated :) For the future: I already have holes but I have to add collisions I need to do a level system! I will have to make a welcome popup to explain some things Goodbye :D
Devlog 2 BKball !!! What is this? This is an html game where you have to make a ball up while not falling into the holes :) I do this with native html, css and javascript (with < svg> ) 5 hours of work: I added holes I added a way to win (it’s not common for a game i think ) I fixed some physics issues where you could go in the sky :o Brand new level system where you can choose a level and change with real ease -> two levels :) what I have to do? clean the code so I can dev easily :) add more level add a custom backroom level with “all of the lights” while you are being chased the whole website because for now I only have the “canvas” Thanks for reading it’s fun to do and thanks to “Some minecraft Modder” who is supporting me
Big Devlog 3 !!! What is this project about? I”m making a web game about pulling ropes to make a ball up but you can fall in the wall holes :o This project is pure html, javascript and css what does I added during those 7h40? I first cleaned the whole code I fixed all physics issue with reliable solutions, now if you pull too hard on one the other will loosen itself I transformed ropes lines into straight curves with the straight curves I can bend them if you push too many rope on one side I styled the whole website and added controls explanation + levels selection brand new gesture system for phones and everything that have a touchscreen I store the level you are so you can join without reselecting everything Some Minecraft Modder on github helped me to determine a localstorage related bug and implemented lang.js -> I have now french support ! I started implementing level edition! (not pushed) (it’s for me because now to do levels I need to tweak arrays in vsCode :/) An official website is now availiable , thanks to infinityfree, they are a simple and good solution! I added instant auto deployement from the github to the new website! Controls are unified, it don’t make the difference between AZERTY and QWERTY or any other random layout :) what’s next? continue level editor do levels with it add an easter egg Thanks for reading this really long devlog I didn’t saw the time going on (4h in half a day is a lot for my little brain but music helps!) Special thanks to Some Minecraft Modder for not only his help but for following my project!
Devlog 4 !! :D What is this project about? In this html game, you have to make the ball go in the green hole, by pulling on the two lateral ropes. 8 hours of work: I worked on several things: I added a complete working level editor: functions to add holes functions to modify and delete holes ! with this I added 8 new levels! I completed french translation and integrated the language selector into the page I added many missing semicolons in the javascript because I normally code in python I added a favicon ! then I quickly fixed some bugs :) What’s next? Fix an editor mode where it edits 2 levels at once Change the mobile controls editor logo at the left one last devlog SHIP THE PROJECT!!!
SmallLog 5 :) What is my game? A hand made html/js game where you have to make the ball go up, featuring 12 levels and an entirely functional level editor where you can share your creations with others Last touches I polished the code (and added the last ; ) I added an on-close warning if you haven’t saved You can now change levels when in level editor and it saves what you did The readme is more complete now The decision was made to not make easter eggs (simpler is sometimes good and adding random things is not my priority (it’s what I did during 50 hours but nevermind)) You can test it on BKball’s official website !!!! I have completed my mission and have to say goodbye :o I won’t make new projects, I have personal work to do Goodbye, it was fun to be in the stardance hackClub :)
Small devlog 1 s2 What is my project? In this HTML game, you need to pull ropes to make a ball go up, but don’t fall in the holes What’s new? I tried my best to make the user experience feel better New computer controls (I keep the legacy ones hidden for the BKpad to work the best :o) Reworked gestures for phones and every touchable screen Clearer explanations for each platform A new level selector on top of the one existing, because I noticed nobody changed levels with my selector Bug fixes: ropes were bending when you used gestures and your death was delayed, but now everything works What next? A win animation? Sounds? translation fix Hope the devlog was fun to read :) Goodbye
Smol devlog 2 s2 Someone asked in the last shipment to do more devlogs so there it is What is my project It’s an html game made from scratch with no frameworks where you need to make a ball go up and not fall into other holes New things ! Brand new animations for when you win, loose, or swipe horizontally on your phone instead of vertically, all made in the svg canvas Sound ! When you win or fall in a hole, you get 4 different vfx Migrated website. The old website keeps getting blacklisted by google so I have now my website in github pages !!! I smoothed some movements and patched the keyboard response time (I was maybe checking inputs every 200ms so you had to wait the next tick :3) What’s next? I have no ideas :( For the moment I’ll finish my BKpad’s website to ship it :) If you think about a feature just ask me in comms
Devlog 3 s2 !!! The last one of the year!!! I hope I will be able to review projects to earn my stardust or I’m cooked :o What is my project An easy-to-play HTML game where you pull on the ropes to make a ball go up. It works on every platform (though not on the controllers) and it’s made entirely in vanilla js What’s new? A brand new explanation page!!! There are 4 ? icons on the website and they open a page for you where you can select your platform and it explains you the controls, it took some time to translate some smoother movements for you to enjoy the game even more! a big responsiveness boost, up to 100ms less input lag! So the user feels good :) polished animation + a new one for when you enter editor mode! If you’re on a phone, to make understanding easier, some redundant informations is hidden the editor now autosaves before you quit, you can easily test your level when in editor mode and it won’t go to the next level. You can change levels while editing by selecting the one you want so you can edit in mass. I now mention the legacy controls in the popup if you click on pc then legacy :) I added links to my BKpad’s github repo so you can see why the game is designed like that Some levels changed and when you share your creations you get a confirmation displayed in your browser’s language What’s next? Shipping!!! I polished my website to deliver the best user experience and I think it is much better now. I finished my tasks and am happy of my projects so I’ll stop there and come back next year Goodbye
Ships:
BKball is an html game where you pull ropes to make a ball go up the wall without falling into the holes. It is playable on any platform :D You have 12 levels and you can edit them or create new ones with the level editor ! I did this project thinking about my other project: the BKpad, a custom keypad. Therefore, the game is designed to work primarily with this MacroPad, secondarily for a keyboard and then on mobile. The project is a simple html zip, made with vanilla javascript and no plugins! It is small with less than 1000 lines of code, but with more it would be difficult to make them all in one file :o Doing this project was cool! I never did javascript this much, it’s floppy but it is not too hard to code even if 0 == false ;-; I am proud of having done everything myself, especially the canvas which is not a canvas element but an svg using animated elements and curves as lines so I can bend them :3 If you want to test the project, go to bkball.rf.gd everything is updated automatically :) I am proud of my “BK” hardware project (the cat head you can see in the website at the left) and happy that now it has a new website linked to him :D
Quality of life shipment !!! Last time, I got the game working, this time I’m making it more playable and enjoyable !!! There are multiple new key points: brand new animations for when you win, lose, or enter in editor mode New computer controls! The last ones were working differently depending on your computer. On your phone, sensibility was quite random. Now, I changed how it works for both platforms, with different input types There are now clearer explanations, images with labels, and a new popup explaining everything you need to play if you don’t understand a thing. There are now smoother movements too, and some bug fixes I finished building my BKpad so it works perfectly with the game, by turning the potentiometers you pull the ropes! Sound effects! Not too much but just what you need, to keep the website simple for everyone to play On the website there are small imporvements like a new level changer, new links to the BKpad repo The whole website is translated in french and in english, by hand, and it took me some time :blahaj-scooter I’m proud of the work I have done, working while thinking about the BKpad , and finishing the work I started I chose to frame a small devlog so you can see in the devlogs without seeing the same text every time :3 Thanks for reading!...
|
1793145155.5276048
|
1793231555.5276048
|
|
59944
|
Aster by @srithimahi | Stardance
|
srithimahi
|
0
|
42.91
|
0
|
[]
|
[{"post_id": 76540, "ts": "202 [{"post_id": 76540, "ts": "2026-10-03T21:27:22Z", "hours": 9.3839, "text": "Devlog-6 in the last devlog I ended by saying “Next I want a shortcuts command to show all the shortcuts cause I am STARTING TO FORGET EVERYTHING” …yeahhhh, i made that and an entire command system Aster has COMMANDSSSSS Before this, every action was linked to a keyboard shortcut. That was a mildly questionable. SO i made shortcuts for tabs, panes, zooming, focusing the panes, search, copy, paste, opening the system monitor, blah blah and I was reaching the point where I MADE THE TERMINAL AND EVEN I COULDN’T REMEMBER HOW TO USE IT. So instead of having all those actions just scattered around the keyboard handling code part, so I made a command system So things like NewTab, CloseTab, SplitVertical, SplitHorizontal, and much more are now commands The keyboard shortcuts just execute those commands now instead of each shortcut having its own completely separate logic. whichhhhh also meant I could use those exact same commands from other places… SHORTCUT MENU I did the thing yep! i made the menu There is a shortcuts overlay now that shows the shortcuts for tabs, panes, navigation and other terminal commands. So I no longer need to remember ANYTHING to summon the features. very useful considering this project now has TOOOO MANY CONTROLS COMMAND PALETTE There is also a searchable command palette now. So when you open it and start typing it, it would filter out the available aster commands. Then you can select any one command you like and execute it just by clicking enter ASTER HAS : COMMANDS ok my absolute favourite feature. If you just type : in a fresh terminal input, Aster would intercept and open its OWN COMMAND LINE AHGHHHH. I can now do things like :themes , :monitor, :shortcuts and these are SPECIFICALLY aster command, not for powershell BTW IT ALSO HAS AUTOCOMPLETE when you click tab after you typed some of your commands out. A BUNCH MORE THEMES I have been planning this for too long and NOW THEY EXIST Now Aster has themes like: stardance, nebula, sunshine, mono and you can change them in the shortcuts command line. NEXTTTT Aster is much much closer to where I wanted it to be. I only want some more patches here and there for this iteration of this project FOR THE FINAL STRETCH: Polish the Monitor Make the process killing a bit more safer Polish the theme and command UI Hunt down bugs and make everything feel finished AND THENNNNN ASTER IS DONE (for now)"}, {"post_id": 74299, "ts": "2026-09-27T04:33:19Z", "hours": 9.6747, "text": "Devlog-5 soooooo last devlog, I said I wanted to add some uniquely dedicated panes, something specific like something that could monitor RAM and memory while I was working. … I may have gotten a little too further in that… like a 10 hours too further SO ALL PANES WONT JUST BE TERMINALS Originally every pane in Aster was fundamentally a terminal. That did work just fine, but I wanted something more cause i like torturing myself… and I refactored the pane’s architecture. Instead of a pane directly holding a terminal, panes can now be different types using a rust enum called PaneKind So, a pane is just like a container and anything in it can be different and it took a longggg longggg time to change all the code for this, but i can add SOOO many more stuff cause of this (i will tease them in the coming up section) System Monitor and then i just accidentally made my first specific pane Ctrl+Shift+M now splits the current pane and opens up a super live System Monitor and it displays CPU usage, Memory usage, Disk usage, Network activity, System uptime, Running processes. Both the CPU and memory have cute little bars. (they use sysinfo to update btw) Process List & Process Inspector and Terminator You can select a process and pressing I or Enter to open up a specific process inspector and it shows the process specific stuff like specific things like name, pid, cpu usage and memory usage. and esc or q can get u out of the specific process. You can kill processes now! just by pressing k in the specific process inspector and saying yes to a confirmation. Though the kill still uses the stored pid, finds the corresponding process through sysinfo and it would request the OS terminate it. (I may have killed Aster… with Aster…) Originally I was just going to show the top five processes anddddd that lasted exactly one run, because I couldnt kill a process as it kept shifting as the cpu usage kept changing. So, i made it so u can see all the processes NEXT While making Aster I realised that WINDOWS TERMINAL ALREADY HAVE A LOT OF THE THINGS I WANTED. SO i am changing directions: instead of making aster just another customizable terminal, i want it to be more of a terminal-centered around developer workspace. SO THIS IS THE FIRST STEP. Next, i want a shortcuts command to show all the shortcuts cause i myself am starting to forget everything. AI Agent monitor so you can see what your agents are doing meanwhile u work. AND yes i need to make the themes… and fix the bugs…"}, {"post_id": 72954, "ts": "2026-09-24T03:18:54Z", "hours": 8.6644, "text": "Devlog-4! So last time, we were done with vertical panes, being able to have multiple tabs and plenty of shortcut keys to move through the tabs, cursor and panes much quicker. PANE STUFF I first added borders to each individual pane because it became visually messy without them and the ability to be able to resize the panes because some panes are more important than the other, obvi. I did the resizing using a regular hand dragging motion and using some simple math using the old width and height and the current hand grabbing motion’s position to calculate the new position of the panes. Switching between panes have become much easier with its own shortcuts: ctrl + shift + (any arrow keys) to move between them. Apparently this was called spatial navigation when I was researching abt it. TEXT SELECTION!!! I did add text selection and copy and paste, because I got sick and tired of having to test some long and painful commands by hand, instead of just copy-pasting it from the internet. Paste => Ctrl + Shift + V and to copy just select the text by hovering over the text, and click and drag the text and Copy => Ctrl + C Added a much more accurate scrollback to retrieve your terminal commands from even before you opened aster. SEARCH UR STUFF you can now also search whatever previous commands you typed into using Ctrl + Shift + F. Yes, I did make it run ASTER aster Aster 100 times to test search😭 so it will do the regular selection point from the start to end of the search terms and show the amount of times it has appeared in the terminal it is just a super simple for loop searching for the particular search terms and the thing is rust is fast as hell, even if there are 10000 instances, rust is super fast just like c++… i have a feeling i fell out of love with java and found someone new Moving on by the next devlog, I want to add some uniquely dedicated panes, maybe a pane that would monitor the RAM and memory usage on the side while you are working on your main pane or even a AI agent pane that would update on the progress of your AI agents. I also want to add a lot more themes, and just make the core template aesthetically pleasing while retaining its bare personality. (and fix the bugs… i have too much of them."}, {"post_id": 70885, "ts": "2026-09-19T23:16:46Z", "hours": 9.8094, "text": "I will write the specificities a bit later, but! i added scroll up and down, keyboard shortcuts like arrow_up, arrow_down. arrow_right and arrow_left to edit text and ofc backspace and stuff like that. Then I worked on having multiple terminal windows and added shortcuts like ctrl+shift+t for a new tab, ctrl+tab to alternate between tabs, and ctrl+shift+tab to delete tabs. And also the multiplexer option where you can have two or more windows open at the same time!"}, {"post_id": 67738, "ts": "2026-09-13T23:27:08Z", "hours": 3.7961, "text": "im going to come back to put in the description in full detail"}, {"post_id": 64426, "ts": "2026-09-08T19:55:04Z", "hours": 1.5822, "text": "i need to write more and edit this cause i have bad internet So I started ASTER, a FULLY-customizable terminal emulator and multiplexer in Rust. This is also my first Rust project (I have had a little dusting up in Rust so dont worry too much). But I did have to get familiar with borrowing a bit more, and enums. I started with the terminal itself then the GUI. I created the Cell structure to show all individual characters and their formatting, then built a terminal width using a flat Vec. Each (x,y) coordinate represents an index using that y * width + x formula."}]...
|
Title: Aster by @srithimahi | Stardance
Devlogs:
Title: Aster by @srithimahi | Stardance
Devlogs:
i need to write more and edit this cause i have bad internet So I started ASTER, a FULLY-customizable terminal emulator and multiplexer in Rust. This is also my first Rust project (I have had a little dusting up in Rust so dont worry too much). But I did have to get familiar with borrowing a bit more, and enums. I started with the terminal itself then the GUI. I created the Cell structure to show all individual characters and their formatting, then built a terminal width using a flat Vec. Each (x,y) coordinate represents an index using that y * width + x formula.
im going to come back to put in the description in full detail
I will write the specificities a bit later, but! i added scroll up and down, keyboard shortcuts like arrow_up, arrow_down. arrow_right and arrow_left to edit text and ofc backspace and stuff like that. Then I worked on having multiple terminal windows and added shortcuts like ctrl+shift+t for a new tab, ctrl+tab to alternate between tabs, and ctrl+shift+tab to delete tabs. And also the multiplexer option where you can have two or more windows open at the same time!
Devlog-4! So last time, we were done with vertical panes, being able to have multiple tabs and plenty of shortcut keys to move through the tabs, cursor and panes much quicker. PANE STUFF I first added borders to each individual pane because it became visually messy without them and the ability to be able to resize the panes because some panes are more important than the other, obvi. I did the resizing using a regular hand dragging motion and using some simple math using the old width and height and the current hand grabbing motion’s position to calculate the new position of the panes. Switching between panes have become much easier with its own shortcuts: ctrl + shift + (any arrow keys) to move between them. Apparently this was called spatial navigation when I was researching abt it. TEXT SELECTION!!! I did add text selection and copy and paste, because I got sick and tired of having to test some long and painful commands by hand, instead of just copy-pasting it from the internet. Paste => Ctrl + Shift + V and to copy just select the text by hovering over the text, and click and drag the text and Copy => Ctrl + C Added a much more accurate scrollback to retrieve your terminal commands from even before you opened aster. SEARCH UR STUFF you can now also search whatever previous commands you typed into using Ctrl + Shift + F. Yes, I did make it run ASTER aster Aster 100 times to test search😭 so it will do the regular selection point from the start to end of the search terms and show the amount of times it has appeared in the terminal it is just a super simple for loop searching for the particular search terms and the thing is rust is fast as hell, even if there are 10000 instances, rust is super fast just like c++… i have a feeling i fell out of love with java and found someone new Moving on by the next devlog, I want to add some uniquely dedicated panes, maybe a pane that would monitor the RAM and memory usage on the side while you are working on your main pane or even a AI agent pane that would update on the progress of your AI agents. I also want to add a lot more themes, and just make the core template aesthetically pleasing while retaining its bare personality. (and fix the bugs… i have too much of them.
Devlog-5 soooooo last devlog, I said I wanted to add some uniquely dedicated panes, something specific like something that could monitor RAM and memory while I was working. … I may have gotten a little too further in that… like a 10 hours too further SO ALL PANES WONT JUST BE TERMINALS Originally every pane in Aster was fundamentally a terminal. That did work just fine, but I wanted something more cause i like torturing myself… and I refactored the pane’s architecture. Instead of a pane directly holding a terminal, panes can now be different types using a rust enum called PaneKind So, a pane is just like a container and anything in it can be different and it took a longggg longggg time to change all the code for this, but i can add SOOO many more stuff cause of this (i will tease them in the coming up section) System Monitor and then i just accidentally made my first specific pane Ctrl+Shift+M now splits the current pane and opens up a super live System Monitor and it displays CPU usage, Memory usage, Disk usage, Network activity, System uptime, Running processes. Both the CPU and memory have cute little bars. (they use sysinfo to update btw) Process List & Process Inspector and Terminator You can select a process and pressing I or Enter to open up a specific process inspector and it shows the process specific stuff like specific things like name, pid, cpu usage and memory usage. and esc or q can get u out of the specific process. You can kill processes now! just by pressing k in the specific process inspector and saying yes to a confirmation. Though the kill still uses the stored pid, finds the corresponding process through sysinfo and it would request the OS terminate it. (I may have killed Aster… with Aster…) Originally I was just going to show the top five processes anddddd that lasted exactly one run, because I couldnt kill a process as it kept shifting as the cpu usage kept changing. So, i made it so u can see all the processes NEXT While making Aster I realised that WINDOWS TERMINAL ALREADY HAVE A LOT OF THE THINGS I WANTED. SO i am changing directions: instead of making aster just another customizable terminal, i want it to be more of a terminal-centered around developer workspace. SO THIS IS THE FIRST STEP. Next, i want a shortcuts command to show all the shortcuts cause i myself am starting to forget everything. AI Agent monitor so you can see what your agents are doing meanwhile u work. AND yes i need to make the themes… and fix the bugs…
Devlog-6 in the last devlog I ended by saying “Next I want a shortcuts command to show all the shortcuts cause I am STARTING TO FORGET EVERYTHING” …yeahhhh, i made that and an entire command system Aster has COMMANDSSSSS Before this, every action was linked to a keyboard shortcut. That was a mildly questionable. SO i made shortcuts for tabs, panes, zooming, focusing the panes, search, copy, paste, opening the system monitor, blah blah and I was reaching the point where I MADE THE TERMINAL AND EVEN I COULDN’T REMEMBER HOW TO USE IT. So instead of having all those actions just scattered around the keyboard handling code part, so I made a command system So things like NewTab, CloseTab, SplitVertical, SplitHorizontal, and much more are now commands The keyboard shortcuts just execute those commands now instead of each shortcut having its own completely separate logic. whichhhhh also meant I could use those exact same commands from other places… SHORTCUT MENU I did the thing yep! i made the menu There is a shortcuts overlay now that shows the shortcuts for tabs, panes, navigation and other terminal commands. So I no longer need to remember ANYTHING to summon the features. very useful considering this project now has TOOOO MANY CONTROLS COMMAND PALETTE There is also a searchable command palette now. So when you open it and start typing it, it would filter out the available aster commands. Then you can select any one command you like and execute it just by clicking enter ASTER HAS : COMMANDS ok my absolute favourite feature. If you just type : in a fresh terminal input, Aster would intercept and open its OWN COMMAND LINE AHGHHHH. I can now do things like :themes , :monitor, :shortcuts and these are SPECIFICALLY aster command, not for powershell BTW IT ALSO HAS AUTOCOMPLETE when you click tab after you typed some of your commands out. A BUNCH MORE THEMES I have been planning this for too long and NOW THEY EXIST Now Aster has themes like: stardance, nebula, sunshine, mono and you can change them in the shortcuts command line. NEXTTTT Aster is much much closer to where I wanted it to be. I only want some more patches here and there for this iteration of this project FOR THE FINAL STRETCH: Polish the Monitor Make the process killing a bit more safer Polish the theme and command UI Hunt down bugs and make everything feel finished AND THENNNNN ASTER IS DONE (for now)...
|
1793029998.2127697
|
1793634798.2127697
|
|
48072
|
automatic roller shutter system by @Basalf | Stard automatic roller shutter system by @Basalf | Stardance...
|
Basalf
|
0
|
42.73
|
0
|
[]
|
[{"post_id": 62471, "ts": "202 [{"post_id": 62471, "ts": "2026-09-05T20:33:45Z", "hours": 8.4869, "text": "I ended code for sender esp32 (I’m using esp NOW communication) and start checking if the CAD project have some inconveniences, and it has a lot. First the spear for beads wasn’t the right size and form, so I fixed this. Second button wasn’t fitting in the mold for it so I also fixed it (it’s visible on the front of casing). Third, I added holes for motor controler casing. And fourth I added hole for powerring circut from the electrical outlet on the lid of the casing. Tommorow I will end the CAD and AGAIN writing the code for reciever of esp32."}, {"post_id": 60468, "ts": "2026-09-02T20:10:09Z", "hours": 8.5619, "text": "I’ve been working on new automatic system for roller blades. Most time I tried to fix the older one but I realised I need a new one. I only built a little of it but tomowor I will continiue. Also I stored my folder and started creating list of what I need to buy. The debuging time was so frustrating that I wasn’t on strenght to continue but when I got the solution I get some motivation (I didn’t post for 3 days but in this devlog are 3 days of work)"}, {"post_id": 58437, "ts": "2026-08-30T21:08:45Z", "hours": 4.6547, "text": "I figured out why WiFi didn’t want to connect. That was because of my WiFi. I have 5GHz while esp32 limit is 2.4GHz so I used my hotspot(I didn’t feel like changing the router settings). I also replaced that library with my own code. Also I did data transporter with help of ESP NOW. Now I need to just create software for another esp32 to receive messages."}, {"post_id": 57649, "ts": "2026-08-29T21:14:07Z", "hours": 3.1031, "text": "I’ve been working on new way to replace the library that controls my motor. Most of the time I spent on trying to figure out how the LED didn’t want to turn on or off on my ESP32 and the WiFi doesn’t want to connect (I checked SSID and password a lot of times). I’m done for today."}, {"post_id": 56876, "ts": "2026-08-28T21:11:26Z", "hours": 3.2167, "text": "I didn’t get much done today. I worked on the software and finished the CAD project (properly this time) by adding a housing for the manual control button. I managed to program systems such as the motor controller shutdown in case of overheating and a prototype for the automatic motor switching system. I still need to work on tracking the time and using it to trigger the extending and retracting of the blinds."}, {"post_id": 56207, "ts": "2026-08-27T21:09:06Z", "hours": 5.0508, "text": "I’m back from vacation and have done some work. I replaced the threaded mounts for the blinds with hinges and detached the battery pack so that the mechanism can be installed on both sides of the blinds using the same model. All that’s left is the button for manually opening and closing them. I’ve also been working on the circuit diagram and need to add the button I mentioned earlier."}, {"post_id": 49582, "ts": "2026-08-18T13:54:40Z", "hours": 3.9292, "text": "I am on vacation now, but I take screenshot from my mobile app. I worked on easy montage and casing for engine controller in the back of the main casing."}, {"post_id": 48449, "ts": "2026-08-16T19:58:06Z", "hours": 3.3181, "text": "Today, I added a cover for the ESP32, a housing lid, a gear for the blinds, and a 9V battery holder with cable cutouts for the power supply. I still need to add space for the motor driver, and the CAD design will be complete. I also decided to not make PCB because it will not fit inside of casing, so I decided to set components seperate."}, {"post_id": 47697, "ts": "2026-08-15T19:36:46Z", "hours": 2.4114, "text": "I got back from my grandmother’s around 3 PM today, and that’s all I managed to get done. I’m working on an automatic system for opening and closing the blinds. So far, I’ve only built the housing. Tomorrow, I’ll try to finish the CAD design and start working on the software (I haven’t ordered the parts for the project yet)."}]...
|
Title: automatic roller shutter system by @Basalf Title: automatic roller shutter system by @Basalf | Stardance
Devlogs:
I got back from my grandmother’s around 3 PM today, and that’s all I managed to get done. I’m working on an automatic system for opening and closing the blinds. So far, I’ve only built the housing. Tomorrow, I’ll try to finish the CAD design and start working on the software (I haven’t ordered the parts for the project yet).
Today, I added a cover for the ESP32, a housing lid, a gear for the blinds, and a 9V battery holder with cable cutouts for the power supply. I still need to add space for the motor driver, and the CAD design will be complete. I also decided to not make PCB because it will not fit inside of casing, so I decided to set components seperate.
I am on vacation now, but I take screenshot from my mobile app. I worked on easy montage and casing for engine controller in the back of the main casing.
I’m back from vacation and have done some work. I replaced the threaded mounts for the blinds with hinges and detached the battery pack so that the mechanism can be installed on both sides of the blinds using the same model. All that’s left is the button for manually opening and closing them. I’ve also been working on the circuit diagram and need to add the button I mentioned earlier.
I didn’t get much done today. I worked on the software and finished the CAD project (properly this time) by adding a housing for the manual control button. I managed to program systems such as the motor controller shutdown in case of overheating and a prototype for the automatic motor switching system. I still need to work on tracking the time and using it to trigger the extending and retracting of the blinds.
I’ve been working on new way to replace the library that controls my motor. Most of the time I spent on trying to figure out how the LED didn’t want to turn on or off on my ESP32 and the WiFi doesn’t want to connect (I checked SSID and password a lot of times). I’m done for today.
I figured out why WiFi didn’t want to connect. That was because of my WiFi. I have 5GHz while esp32 limit is 2.4GHz so I used my hotspot(I didn’t feel like changing the router settings). I also replaced that library with my own code. Also I did data transporter with help of ESP NOW. Now I need to just create software for another esp32 to receive messages.
I’ve been working on new automatic system for roller blades. Most time I tried to fix the older one but I realised I need a new one. I only built a little of it but tomowor I will continiue. Also I stored my folder and started creating list of what I need to buy. The debuging time was so frustrating that I wasn’t on strenght to continue but when I got the solution I get some motivation (I didn’t post for 3 days but in this devlog are 3 days of work)
I ended code for sender esp32 (I’m using esp NOW communication) and start checking if the CAD project have some inconveniences, and it has a lot. First the spear for beads wasn’t the right size and form, so I fixed this. Second button wasn’t fitting in the mold for it so I also fixed it (it’s visible on the front of casing). Third, I added holes for motor controler casing. And fourth I added hole for powerring circut from the electrical outlet on the lid of the casing. Tommorow I will end the CAD and AGAIN writing the code for reciever of esp32....
|
1793209978.4638367
|
1793814778.4638367
|
|
55930
|
Bugatti Type 57SC Atlantic by @nejenabinupa | Star Bugatti Type 57SC Atlantic by @nejenabinupa | Stardance...
|
nejenabinupa
|
0
|
42.72
|
0
|
[]
|
[{"post_id": 80815, "ts": "202 [{"post_id": 80815, "ts": "2026-10-18T21:26:56Z", "hours": 1.3042, "text": "its finish now, after around 40+ hours"}, {"post_id": 61579, "ts": "2026-09-04T15:39:00Z", "hours": 4.4256, "text": "I make a cool seen to render with and add textures normal maps to it and I did I said and out well"}, {"post_id": 60685, "ts": "2026-09-03T07:00:26Z", "hours": 10.0406, "text": "I make the underbody and the rims and the inner and added sum textures and materials"}, {"post_id": 59681, "ts": "2026-09-01T16:31:59Z", "hours": 10.5028, "text": "I make small bits and added them, now working on the underside"}, {"post_id": 59036, "ts": "2026-08-31T16:55:18Z", "hours": 10.0525, "text": "I added the rivets by hand and make the modle little nicer and add thr grill and she look good"}, {"post_id": 58123, "ts": "2026-08-30T14:07:40Z", "hours": 6.3931, "text": "I make the base shape of the Atlantic and it look good enough for now."}]...
|
Title: Bugatti Type 57SC Atlantic by @nejenabinupa Title: Bugatti Type 57SC Atlantic by @nejenabinupa | Stardance
Devlogs:
I make the base shape of the Atlantic and it look good enough for now.
I added the rivets by hand and make the modle little nicer and add thr grill and she look good
I make small bits and added them, now working on the underside
I make the underbody and the rims and the inner and added sum textures and materials
I make a cool seen to render with and add textures normal maps to it and I did I said and out well
its finish now, after around 40+ hours...
|
1792641134.7121732
|
1793245934.7121732
|
|
8841
|
MegaSkins by @onako | Stardance
|
onako
|
0
|
42.66
|
0
|
[]
|
[{"post_id": 49923, "ts": "202 [{"post_id": 49923, "ts": "2026-08-18T21:50:24Z", "hours": 6.5681, "text": "Mega Search Skins big update It’s been a long time since the last devlog! The search inside MegaSkins is much better now! I’ve added to the search that it checks if your entered string such as “red uniform” also look at if a description contains exactly “red uniform”. Previously it wouldn’t care about the exact string but only if the words/tokens are inside the description, not the connected words. Now it works how you’d imagine it. Inside the video you can see the difference :D In case you plan to use the API: You don’t have to do anything at all. The update applies to the current search endpoint. also another update: In case you’re opening a skin that isn’t inside the database then the skin is downloaded for you so it works like if it was in the db <3"}, {"post_id": 41578, "ts": "2026-08-05T21:28:14Z", "hours": 1.5381, "text": "New: OpenGraph preview with MC Skin heads I’ve added Minecraft skin heads to the OpenGraph preview so it doesn’t look boring anymore. If you’ve not read the previous devblogs already: OpenGraph is the cool thing that allows you to display a preview in apps such as Twitter(X), Discord, Whatsapp, Slack, etc. Previously there was only a description inside that preview. Now I’ve added the head of the skin to that preview. Want to try out the feature? Post a link from a skin such as https://nuc.de.majic.rs/megaskins/skin/103605da15e8ba3e73de52e20bd96227bc258eabc3f65797a3a1d6f8ca7fdf4b inside any chat (you can also send this to yourself on Slack) In case you need the skin head yourself you can get a png with the following format: https://nuc.de.majic.rs/api/megaskins/skin/head?hash=[hash]&scale=[scale,optional] The scale must be between 1.0 and 64.0 Or if you like the Api-Tester 3000 I’ve added yesterday , you can test it out at the bottom of the page (beginning of the video) Feedback? I am open to suggestions in the comments ♥️"}, {"post_id": 41055, "ts": "2026-08-05T00:31:58Z", "hours": 3.8978, "text": "API? Easy to learn? Easy to experiment with? Yes, you’ve heard it right. The MegaSkins public API ( https://nuc.de.majic.rs/api/megaskins/ ) is now much easier to learn. I’ve added documentation and interactive demos to every page. There is also a page that contains all API usage demos: https://nuc.de.majic.rs/megaskins/api On this page you can experiment with the MegaSkins API inside the web browser without using specialized tools such as Insomnia. Info: API usage limits also apply to the website (I doubt that it is possible to reach limits with legitimate request) Next steps: full opengraph compat Feedback? I am open to suggestions in the comments ♥️"}, {"post_id": 40759, "ts": "2026-08-04T14:30:15Z", "hours": 2.4808, "text": "Skin Safety details can now be viewed from the web browser. This feature uses the skin safety api. The safety API has a rate limit of 3 requests per second per ipv4 (Good luck hitting that limit bro). The value the user receives is between 0 and 1, the same as on the API. Even if a skin displays 404, you can try the button because it downloads the skin from Mojang’s servers if it isn’t in the db. 0 = completely safe 1 = seriously unsafe, exact match Want to try out the feature? https://nuc.de.majic.rs/megaskins/skin/10594735a3796fa80b9aad48fc013f1af831735bc968c7d870c036b367db02ae The recommended threshold for declaring a skin unsafe is 0.95 (95%) Feedback? I am open to suggestions in the comments ♥️"}, {"post_id": 40215, "ts": "2026-08-03T16:56:58Z", "hours": 0.2628, "text": "Added native light mode support for the header now :D. Previously it was completely dark when light mode was enabled. Also the header should look better on dark mode. this isn’t an excuse to use light mode because dark mode is a billion times better Next steps: full opengraph compat add safety page that allows checking skin safety in the browser add api documentation to the website"}, {"post_id": 40200, "ts": "2026-08-03T16:34:34Z", "hours": 2.6944, "text": "Search inside the browser You can search for Minecraft skins inside the web browser now. Search in the browser has the same rate limit as the search API (the page uses the search API) Also, the UI should look much better on vertical monitors. Example search: https://nuc.de.majic.rs/megaskins/search/police In case you prefer the api (max 10 results): https://nuc.de.majic.rs/api/megaskins/skin/search?query=police Feedback? I am open to suggestions in the comments <3"}, {"post_id": 39786, "ts": "2026-08-02T23:57:31Z", "hours": 6.9528, "text": "Safety? Ever wanted to have a skin filter on your Minecraft server? Now you are able to check if a Minecraft skin is sus (aka. not child friendly). The system detects how similar a skin is to an existing flagged skin in the database. Technical The only thing you provide is the skin hash (the id Mojang gives your skin) and then the server tries to find it locally. If it can’t be found locally then the skin is downloaded directly from Mojang. After that step each pixel that is valid for a skin is compared against every pixel of flagged skins and a percentage value is calculated from 0 to 1. Meanings: 0 not similar at all or an error has occurred 1 identical image 0.95 = 95% similarity Practical use This system will be improved in future to be more reliable against false positives. I am planning to create a Minecraft plugin that does this job for you Ahh btw. The server takes ~10-20ms to process one request at the moment. (it is a really old one haha) Current false positives : toddler/baby skins (they have tons of skin) (almost) fully yellow skins (confuses these skins with a skin that contains symbols illegal in Germany) More details You can see more details in the screenshot! You can try it yourself with for example: https://nuc.de.majic.rs/api/megaskins/skin/safety?hash=101f6e9ae23fe8997d9fdf2c1409d97e7270b32f0590c1111eea1e04d1e05d4 If you have any questions or feedback then you can leave a comment or contact via Slack 😀 Good night <3"}, {"post_id": 5737, "ts": "2026-06-09T17:13:12Z", "hours": 0.7164, "text": "OpenGraph? What’s that open thingy? It’s a pretty cool thingy! MegaSkins supports OpenGraph now 🎉 What is OpenGraph? OpenGraph is a protocol for websites that allows them to provide a title, description, thumbnail, etc. which should be shown in other apps such as Slack. Why is it cool? Almost every good app supports it and instead of a plain URL, you get a rich preview that looks much better and provides useful information at a glance. Plans for the OpenGraph feature: Minecraft skin previews are currently being rendered. This may take a little while, but once they’re ready, they’ll be integrated into the previews! Feedback? I am open to suggestions in the comments <3"}, {"post_id": 5172, "ts": "2026-06-08T21:08:05Z", "hours": 0.9264, "text": "MegaSkins has a public search & description API now! No auth needed! GET https://nuc.de.majic.rs/api/megaskins/skin/search?query=WORDS output: String[] (limit:10 per request) rate limit: 10 r/min and GET https://nuc.de.majic.rs/api/megaskins/skin/description?hash=SKIN_HASH output: String, raw description rate limit: 6 r/min Requests return HTTP 429 after reaching the limit. [each type has its own limits depending on how demanding they are and how much of value a resource is (I don’t want people bombarding the server with hundreds of requests per seconds just to build a copy 😭)] Deployed on https://nuc.de.majic.rs/megaskins"}, {"post_id": 4975, "ts": "2026-06-08T16:56:57Z", "hours": 2.4644, "text": "Add a counter of current skins in the database 💯"}, {"post_id": 4883, "ts": "2026-06-08T13:26:33Z", "hours": 1.9686, "text": "The website is mobile friendly now. What’s missing: search, site stats, safety API"}, {"post_id": 4413, "ts": "2026-06-07T18:50:37Z", "hours": 7.535, "text": "The main page and everything else is deployed on https://nuc.de.majic.rs/megaskins/ . Time to continue cooking!"}, {"post_id": 3613, "ts": "2026-06-06T16:46:19Z", "hours": 1.8583, "text": "Doing some (not) serious frontend stuff now. Now i remember why I hate frontend… Luckily my focus isn’t on frontend haha"}, {"post_id": 3516, "ts": "2026-06-06T14:24:46Z", "hours": 2.7914, "text": "Hello, World! I think I have good progress! :D Building a database of Minecraft skins that allows automated usage"}]...
|
Title: MegaSkins by @onako | Stardance
Devlogs:
H Title: MegaSkins by @onako | Stardance
Devlogs:
Hello, World! I think I have good progress! :D Building a database of Minecraft skins that allows automated usage
Doing some (not) serious frontend stuff now. Now i remember why I hate frontend… Luckily my focus isn’t on frontend haha
The main page and everything else is deployed on https://nuc.de.majic.rs/megaskins/ . Time to continue cooking!
The website is mobile friendly now. What’s missing: search, site stats, safety API
Add a counter of current skins in the database 💯
MegaSkins has a public search & description API now! No auth needed! GET https://nuc.de.majic.rs/api/megaskins/skin/search?query=WORDS output: String[] (limit:10 per request) rate limit: 10 r/min and GET https://nuc.de.majic.rs/api/megaskins/skin/description?hash=SKIN_HASH output: String, raw description rate limit: 6 r/min Requests return HTTP 429 after reaching the limit. [each type has its own limits depending on how demanding they are and how much of value a resource is (I don’t want people bombarding the server with hundreds of requests per seconds just to build a copy 😭)] Deployed on https://nuc.de.majic.rs/megaskins
OpenGraph? What’s that open thingy? It’s a pretty cool thingy! MegaSkins supports OpenGraph now 🎉 What is OpenGraph? OpenGraph is a protocol for websites that allows them to provide a title, description, thumbnail, etc. which should be shown in other apps such as Slack. Why is it cool? Almost every good app supports it and instead of a plain URL, you get a rich preview that looks much better and provides useful information at a glance. Plans for the OpenGraph feature: Minecraft skin previews are currently being rendered. This may take a little while, but once they’re ready, they’ll be integrated into the previews! Feedback? I am open to suggestions in the comments <3
Safety? Ever wanted to have a skin filter on your Minecraft server? Now you are able to check if a Minecraft skin is sus (aka. not child friendly). The system detects how similar a skin is to an existing flagged skin in the database. Technical The only thing you provide is the skin hash (the id Mojang gives your skin) and then the server tries to find it locally. If it can’t be found locally then the skin is downloaded directly from Mojang. After that step each pixel that is valid for a skin is compared against every pixel of flagged skins and a percentage value is calculated from 0 to 1. Meanings: 0 not similar at all or an error has occurred 1 identical image 0.95 = 95% similarity Practical use This system will be improved in future to be more reliable against false positives. I am planning to create a Minecraft plugin that does this job for you Ahh btw. The server takes ~10-20ms to process one request at the moment. (it is a really old one haha) Current false positives : toddler/baby skins (they have tons of skin) (almost) fully yellow skins (confuses these skins with a skin that contains symbols illegal in Germany) More details You can see more details in the screenshot! You can try it yourself with for example: https://nuc.de.majic.rs/api/megaskins/skin/safety?hash=101f6e9ae23fe8997d9fdf2c1409d97e7270b32f0590c1111eea1e04d1e05d4 If you have any questions or feedback then you can leave a comment or contact via Slack 😀 Good night <3
Search inside the browser You can search for Minecraft skins inside the web browser now. Search in the browser has the same rate limit as the search API (the page uses the search API) Also, the UI should look much better on vertical monitors. Example search: https://nuc.de.majic.rs/megaskins/search/police In case you prefer the api (max 10 results): https://nuc.de.majic.rs/api/megaskins/skin/search?query=police Feedback? I am open to suggestions in the comments <3
Added native light mode support for the header now :D. Previously it was completely dark when light mode was enabled. Also the header should look better on dark mode. this isn’t an excuse to use light mode because dark mode is a billion times better Next steps: full opengraph compat add safety page that allows checking skin safety in the browser add api documentation to the website
Skin Safety details can now be viewed from the web browser. This feature uses the skin safety api. The safety API has a rate limit of 3 requests per second per ipv4 (Good luck hitting that limit bro). The value the user receives is between 0 and 1, the same as on the API. Even if a skin displays 404, you can try the button because it downloads the skin from Mojang’s servers if it isn’t in the db. 0 = completely safe 1 = seriously unsafe, exact match Want to try out the feature? https://nuc.de.majic.rs/megaskins/skin/10594735a3796fa80b9aad48fc013f1af831735bc968c7d870c036b367db02ae The recommended threshold for declaring a skin unsafe is 0.95 (95%) Feedback? I am open to suggestions in the comments ♥️
API? Easy to learn? Easy to experiment with? Yes, you’ve heard it right. The MegaSkins public API ( https://nuc.de.majic.rs/api/megaskins/ ) is now much easier to learn. I’ve added documentation and interactive demos to every page. There is also a page that contains all API usage demos: https://nuc.de.majic.rs/megaskins/api On this page you can experiment with the MegaSkins API inside the web browser without using specialized tools such as Insomnia. Info: API usage limits also apply to the website (I doubt that it is possible to reach limits with legitimate request) Next steps: full opengraph compat Feedback? I am open to suggestions in the comments ♥️
New: OpenGraph preview with MC Skin heads I’ve added Minecraft skin heads to the OpenGraph preview so it doesn’t look boring anymore. If you’ve not read the previous devblogs already: OpenGraph is the cool thing that allows you to display a preview in apps such as Twitter(X), Discord, Whatsapp, Slack, etc. Previously there was only a description inside that preview. Now I’ve added the head of the skin to that preview. Want to try out the feature? Post a link from a skin such as https://nuc.de.majic.rs/megaskins/skin/103605da15e8ba3e73de52e20bd96227bc258eabc3f65797a3a1d6f8ca7fdf4b inside any chat (you can also send this to yourself on Slack) In case you need the skin head yourself you can get a png with the following format: https://nuc.de.majic.rs/api/megaskins/skin/head?hash=[hash]&scale=[scale,optional] The scale must be between 1.0 and 64.0 Or if you like the Api-Tester 3000 I’ve added yesterday , you can test it out at the bottom of the page (beginning of the video) Feedback? I am open to suggestions in the comments ♥️
Mega Search Skins big update It’s been a long time since the last devlog! The search inside MegaSkins is much better now! I’ve added to the search that it checks if your entered string such as “red uniform” also look at if a description contains exactly “red uniform”. Previously it wouldn’t care about the exact string but only if the words/tokens are inside the description, not the connected words. Now it works how you’d imagine it. Inside the video you can see the difference :D In case you plan to use the API: You don’t have to do anything at all. The update applies to the current search endpoint. also another update: In case you’re opening a skin that isn’t inside the database then the skin is downloaded for you so it works like if it was in the db <3...
|
1793148923.652506
|
1793753723.652506
|
|
48819
|
Burger shop by @Avmovito | Stardance
|
Avmovito
|
1
|
42.64
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T22:24:00Z", "hours": 40.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a burger shop website This is one of the finest creations in my project collection One of the special features you have was you can customise the burger you choose check that out it was fun", "repo": "https://github.com/Adwaith-AR/Buger-shop", "demo": "https://bugershop-av.vercel.app/"}]...
|
[{"post_id": 52975, "ts": "202 [{"post_id": 52975, "ts": "2026-08-23T10:58:17Z", "hours": 0.4611, "text": "i finaly completed the theme swicher adding to the website completly"}, {"post_id": 51460, "ts": "2026-08-21T05:51:56Z", "hours": 2.1772, "text": "css updated as per the ship write instructons"}, {"post_id": 49939, "ts": "2026-08-18T22:17:29Z", "hours": 0.6028, "text": "this is the last update of this website i know my story telling was so bad but the website is beautiful also bcs it the most good looking website in my collection okay in this vlog i removed the bugs i noticed in my project and fixed the responcev problem and also added a tiny animation"}, {"post_id": 49821, "ts": "2026-08-18T19:25:22Z", "hours": 2.1522, "text": "the theme swicher is added to te burger shop it was pritty fun to do it"}, {"post_id": 47905, "ts": "2026-08-16T05:31:51Z", "hours": 36.9725, "text": "this is a burger shop website i build this website after june 1 st you check the devlog of git push i forgot to upload this project into stardust in fact i didn’t know about this event all this time sorry for the delay i have to still complet theme switcher and need more morden js coding type to improve the code any way i was uploading the current progress"}]...
|
Title: Burger shop by @Avmovito | Stardance
Devlo Title: Burger shop by @Avmovito | Stardance
Devlogs:
this is a burger shop website i build this website after june 1 st you check the devlog of git push i forgot to upload this project into stardust in fact i didn’t know about this event all this time sorry for the delay i have to still complet theme switcher and need more morden js coding type to improve the code any way i was uploading the current progress
the theme swicher is added to te burger shop it was pritty fun to do it
this is the last update of this website i know my story telling was so bad but the website is beautiful also bcs it the most good looking website in my collection okay in this vlog i removed the bugs i noticed in my project and fixed the responcev problem and also added a tiny animation
css updated as per the ship write instructons
i finaly completed the theme swicher adding to the website completly
Ships:
This is a burger shop website This is one of the finest creations in my project collection One of the special features you have was you can customise the burger you choose check that out it was fun...
|
1793101684.539563
|
1793188084.539563
|
|
41780
|
0.8KW DIY CNC by @PXGG3RS | Stardance
|
PXGG3RS
|
0
|
42.58
|
0
|
[]
|
[{"post_id": 70396, "ts": "202 [{"post_id": 70396, "ts": "2026-09-19T03:15:29Z", "hours": 1.7936, "text": "Wrote up github file and BOM I’m right above $1000 total (by 2 dollars btw) after my state’s taxes. Not sure about shipping, but it should be fine. Some parts have to be machined after the fact, which will cost me like $200 dollars later. But as of now they are going to be made."}, {"post_id": 70352, "ts": "2026-09-19T00:56:44Z", "hours": 5.0667, "text": "Finally done? with the design portion at least. Gonna get a friend to review my model and make sure everything is good enough to build. Hoping the base gives it enough mass that it just doesn’t move at all. Requesting funding, please accept my thing my PC crashed like 4 times trying to load this render. Added: Base Rebudgeted things. It’s still ridiculously expensive btw"}, {"post_id": 67058, "ts": "2026-09-13T03:13:45Z", "hours": 4.7836, "text": "Finished the majority of the x axis and the surrounding frame. Lord have mercy on my bank account The tariffs they got on machined parts… 88% like what are we doing. Now I guess I gotta make everything myself to save money . Machining Area - 290 x 315 x 88 mm Do not ask me why it is like this I just put stuff and hoped. Plus the z axis ball screw I am too lazy to change, like im not redesigning ts for like 12mm or smth. Added - Corner braces Way too much hardware x axis ball screws and linear rails (uses sfu1204 and MGN12) extruded aluminum overkill mounts for everything"}, {"post_id": 59327, "ts": "2026-09-01T01:39:27Z", "hours": 1.9003, "text": "Might do these daily. Finished spindle finally. I’m like 90% sure that I’m done with this part. I just need to finish the rest which shouldn’t be too hard."}, {"post_id": 58661, "ts": "2026-08-31T04:48:18Z", "hours": 1.6333, "text": "Did a lot of budgeting fixes and fixed some of the centering issues i had when setting up the gantry. Cost of the machine atp is around 900-1000, but once the base is modelled and I can get estimates. It’d be around 1100, which is ok for this style of machine. Will need to work on that more though."}, {"post_id": 57855, "ts": "2026-08-30T05:17:41Z", "hours": 1.2, "text": "Finished the entire gantry (except later modifications for HGH blocks) Changes: screws added to every single part (around 138 fasteners currently… my poor loctite bottle) small 3d printed part added to make sure the y axis stepper doesn’t move improvements to brace structure -fixed the pocketing -made small extrusion so the sfu nut housing doesn’t make contact fixed small parts not being centered (sfu nut housings) What’s Next: finish adding linear rails to gantry figure out base material (i.e. concrete filled aluminum extrusion, epoxy granite filled aluminum extrusion finalize bed size (i’ve changed it like 3 times already) Design base add enclosure so I don’t have to clean as often fix the screw sizing (I have like 10 different screws atp 😭) figure out how my hand isn’t gonna break when assembling this"}, {"post_id": 57091, "ts": "2026-08-29T05:43:35Z", "hours": 3.3336, "text": "Went back to finish the spindle setup I had. Added: screws to every single hole (excluding the y axis ball screw, y axis linear rails, and spindle clamp) added the nema 17 stepper to the top because I forgot to before somehow Next things: make sure everything is actually machinable and that I can get access to a printer that can print ABS finish base and gantry"}, {"post_id": 54877, "ts": "2026-08-26T02:45:18Z", "hours": 2.3836, "text": "Finished most of the gantry, but small changes will need to be made once I actually get the parts. Added/Adjusted: -back plate for the y axis linear rails (MGN12) -more parts of the frame -Fixed the holes of each part (allowing a 0.2mm tolerance) -Fillets to most parts"}, {"post_id": 47836, "ts": "2026-08-16T01:42:08Z", "hours": 3.5503, "text": "Finished spindle setup I’m pretty sure. Switched to sheet metal with some fillets bc i didnt like how thick the old design was and how complex it was."}, {"post_id": 46094, "ts": "2026-08-13T01:51:31Z", "hours": 7.9736, "text": "New spindle redesign in progress. Old one had issues with how I was supposed to attach the y axis and the bearings being like 300 dollars for some reason. Also the spindle choice was poor due to its 220V requirement and me living in the US. So I switched to a better 0.8kW watercooled 110V spindle, which I had to design based off a terrible diagram."}, {"post_id": 43518, "ts": "2026-08-08T20:46:06Z", "hours": 3.0336, "text": "More spindle related work. Made the body that connects the aluminum tubes + ball screw together. lots of pocketing needs to be done so it doesn’t weight 60 lbs. small improvements to the rest of the structure need to be made, but not right now."}, {"post_id": 42343, "ts": "2026-08-07T00:48:24Z", "hours": 5.9303, "text": "I worked on a simple spindle setup based on the one on the Makera Carvera Air. This setup isn’t complete, since the pillow blocks are hanging out without anything attached, and minor changes to the aluminum plate connecting everything will be made."}]...
|
Title: 0.8KW DIY CNC by @PXGG3RS | Stardance
Devl Title: 0.8KW DIY CNC by @PXGG3RS | Stardance
Devlogs:
I worked on a simple spindle setup based on the one on the Makera Carvera Air. This setup isn’t complete, since the pillow blocks are hanging out without anything attached, and minor changes to the aluminum plate connecting everything will be made.
More spindle related work. Made the body that connects the aluminum tubes + ball screw together. lots of pocketing needs to be done so it doesn’t weight 60 lbs. small improvements to the rest of the structure need to be made, but not right now.
New spindle redesign in progress. Old one had issues with how I was supposed to attach the y axis and the bearings being like 300 dollars for some reason. Also the spindle choice was poor due to its 220V requirement and me living in the US. So I switched to a better 0.8kW watercooled 110V spindle, which I had to design based off a terrible diagram.
Finished spindle setup I’m pretty sure. Switched to sheet metal with some fillets bc i didnt like how thick the old design was and how complex it was.
Finished most of the gantry, but small changes will need to be made once I actually get the parts. Added/Adjusted: -back plate for the y axis linear rails (MGN12) -more parts of the frame -Fixed the holes of each part (allowing a 0.2mm tolerance) -Fillets to most parts
Went back to finish the spindle setup I had. Added: screws to every single hole (excluding the y axis ball screw, y axis linear rails, and spindle clamp) added the nema 17 stepper to the top because I forgot to before somehow Next things: make sure everything is actually machinable and that I can get access to a printer that can print ABS finish base and gantry
Finished the entire gantry (except later modifications for HGH blocks) Changes: screws added to every single part (around 138 fasteners currently… my poor loctite bottle) small 3d printed part added to make sure the y axis stepper doesn’t move improvements to brace structure -fixed the pocketing -made small extrusion so the sfu nut housing doesn’t make contact fixed small parts not being centered (sfu nut housings) What’s Next: finish adding linear rails to gantry figure out base material (i.e. concrete filled aluminum extrusion, epoxy granite filled aluminum extrusion finalize bed size (i’ve changed it like 3 times already) Design base add enclosure so I don’t have to clean as often fix the screw sizing (I have like 10 different screws atp 😭) figure out how my hand isn’t gonna break when assembling this
Did a lot of budgeting fixes and fixed some of the centering issues i had when setting up the gantry. Cost of the machine atp is around 900-1000, but once the base is modelled and I can get estimates. It’d be around 1100, which is ok for this style of machine. Will need to work on that more though.
Might do these daily. Finished spindle finally. I’m like 90% sure that I’m done with this part. I just need to finish the rest which shouldn’t be too hard.
Finished the majority of the x axis and the surrounding frame. Lord have mercy on my bank account The tariffs they got on machined parts… 88% like what are we doing. Now I guess I gotta make everything myself to save money . Machining Area - 290 x 315 x 88 mm Do not ask me why it is like this I just put stuff and hoped. Plus the z axis ball screw I am too lazy to change, like im not redesigning ts for like 12mm or smth. Added - Corner braces Way too much hardware x axis ball screws and linear rails (uses sfu1204 and MGN12) extruded aluminum overkill mounts for everything
Finally done? with the design portion at least. Gonna get a friend to review my model and make sure everything is good enough to build. Hoping the base gives it enough mass that it just doesn’t move at all. Requesting funding, please accept my thing my PC crashed like 4 times trying to load this render. Added: Base Rebudgeted things. It’s still ridiculously expensive btw
Wrote up github file and BOM I’m right above $1000 total (by 2 dollars btw) after my state’s taxes. Not sure about shipping, but it should be fine. Some parts have to be machined after the fact, which will cost me like $200 dollars later. But as of now they are going to be made....
|
1793144993.8366942
|
1793749793.8366942
|
|
49970
|
M.I.L.O by @Omar4lifex | Stardance
|
Omar4lifex
|
1
|
42.53
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T16:52:23Z", "hours": 24.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "M.I.L.O v1.0.0 is officially ready. M.I.L.O is a local AI file organizer that lets you talk to your computer in normal language and find information inside your own files. What’s included Natural-language file search - ask MILO to find files and folders using normal chat. Local AI - powered by Ollama and Qwen3:8b, which runs on the user’s own PC. PDF reading - MILO can search normal text-based PDFs. OCR - MILO can read scanned/image-based PDFs using Tesseract OCR. Conversation memory - MILO remembers what happened earlier in the same chat, so follow-ups like “what file did you find?” work. Chat history - create new chats and return to previous conversations. Faster search - filename-first searching, ignored junk folders, and OCR caching make large-folder searches much faster. Automatic setup - Start MILO.bat checks for Python, Ollama, Tesseract, dependencies, and the Qwen3 model. Privacy M.I.L.O is designed around local processing. Your files stay on your computer, and the AI runs locally through Ollama instead of sending your files to a remote AI server. Getting started Download MILO-v1.0.0.zip Extract it Run Start MILO.bat Let the setup finish Choose the folder you want MILO to access Start chatting What’s next v1.1 will focus on file actions , starting with things like renaming and organizing files.", "repo": "https://github.com/Omar4life/M.I.L.O", "demo": "https://github.com/Omar4life/M.I.L.O/releases/tag/v1.0.0"}]...
|
[{"post_id": 58329, "ts": "202 [{"post_id": 58329, "ts": "2026-08-30T18:25:46Z", "hours": 9.5231, "text": "Devlog #9 - MILO can create folders Today I added Create Folder to M.I.L.O so now I can say: Create a folder called MILO FOLDER TEST and then MILO understands it, checks the location, then asks for confirmation before creating it. I added the new CREATE_FOLDER action to the AI and backend, plus Create / Cancel buttons in the frontend.{ “action”: “CREATE_FOLDER”, “new_name”: “School” } I also added safety checks so it won’t create a folder if the name is invalid or something with that name already exists."}, {"post_id": 55167, "ts": "2026-08-26T17:18:45Z", "hours": 9.0058, "text": "Devlog #8 - Rename stuff I spent around 9 hours working on one of the biggest upgrades to M.I.L.O so far: file actions. Until now, M.I.L.O could find files and understand their contents, but it couldn’t actually do anything with them. I decided to start with Rename. Now I can tell milo rename my spiderman ticket (pixedH1723.pdf) to spiderman ticket and it asks for confirmation and then renames it. It remembers which file “it” refers to, asks for confirmation, and then renames it. A LOT of bugs happened 😭The first problem was that M.I.L.O found the correct Spider-Man ticket but also returned completely unrelated files. For example, it found:README.md pixedH1723.pdf The README contained the words “Spider-Man” and “ticket” because those words were used in an example inside the README. After filtering README files, M.I.L.O still found random files like: cd.txt vintage-ticket-stub.md because they contained generic words like “ticket”.I fixed this by improving the search scoring system so M.I.L.O considers the combination of important terms instead of matching one generic word. For a query like: Spider-Man + movie + ticket M.I.L.O now gives much more importance to files that actually contain those concepts together. I also added path filtering so M.I.L.O ignores internal development folders such as: node_modules .git __pycache__ .local .agents .next Rename itself had a bug too, the first Rename attempt crashed with: name ‘os’ is not defined because the rename code was using Python’s os module without importing it. That was fixed, and I also added protection so M.I.L.O doesn’t rename anything without confirmation, won’t overwrite an existing file, keeps the original file extension, automatically handles files that no longer exist, and remembers the last file found through conversation memory."}, {"post_id": 52475, "ts": "2026-08-22T16:37:30Z", "hours": 1.8806, "text": "Devlog #7 - Making MILO Much Faster I spent almost 2 hours improving MILO’s search performance. I found a pretty bad bug where searching a large folder like Downloads could take 7+ minutes because MILO was trying to process too many PDFs, including scanned PDFs that required OCR. I changed the search system so MILO now does a much faster process: ↓ Check normal PDF text ↓ Only OCR likely scanned PDFs ↓ Cache the OCR result ↓ Return the result I also added an OCR limit so MILO doesn’t try to OCR hundreds of unrelated PDFs: MAX_OCR_CANDIDATES = 30 Another important improvement was OCR caching. Once MILO reads a scanned PDF, it saves the extracted text so it doesn’t have to OCR the same file again unless the file changes. I also added more ignored folders like: .git __pycache__ .venv .next dist build .cache This helped remove a lot of irrelevant files from searches. After the changes, the Spider-Man ticket search that was taking several minutes became much faster while the scanned EduWW Verification of Enrollment PDF still works with OCR."}, {"post_id": 52296, "ts": "2026-08-22T12:36:14Z", "hours": 2.3839, "text": "Devlog #6 - Giving MILO Memory Today I spent 2h 5m adding memory per-chat (since before that, even if it was the same chat, it could not remember the previous message I sent) + improved MILO’s conversation system. I added per-chat memory so MILO can actually remember what happened earlier in the same conversation instead of treating every message like a completely new request. For example: Me: Find my Spider-Man ticket MILO: I found pixedH1723.pdf Me: What did I just ask you to find? MILO: You asked me to find your Spider-Man ticket. Me: Which type of file is it? MILO: The Spider-Man Ticket is a PDF file I added a backend chat_memory system that keeps information like the last command, action, query, found file, results, and file content for each individual chat. def get_chat_memory(chat_id): if chat_id not in chat_memory: chat_memory[chat_id] = { \"last_command\": \"\", \"last_action\": \"\", \"last_file\": None, \"last_results\": [] } return chat_memory[chat_id] I also added a new CHAT action to MILO’s AI so it can answer normal conversational questions like “what did I just ask you?” instead of forcing everything into SEARCH or QUESTION. Another improvement was passing the recent conversation history into Qwen3 so it has more context when interpreting follow-up messages such as “it”, “that file”, or “what did you find?”. One of the reasons I added memory is because it’s the foundation for the next major feature which is file actions like Rename, where I can say: Find my Spider-Man ticket And then say: Rename it to Spider-Man Ticket instead of having to say the original filename like: Can you rename “pixedH1723” to “Spider-Man”."}, {"post_id": 51951, "ts": "2026-08-21T22:16:30Z", "hours": 9.7489, "text": "#Devlog #5 - Making MILO Actually Usable (BIIIG Devlog Update) TL;DR: M.I.L.O works for other pcs that have windows + added OCR so it can read scanned/image-based pdfs (demo below, the verification of enrollment was a scanned pdf and it found it!) I spent 9h 44m working on MILO without a devlog lol. I made a lot of progress toward making MILO usable by other people, not just on my PC (Only windows for now tho). I added a setup ( .bat file) system so MILO can automatically check for and install things like Python, Ollama, the AI model (qwen3:8b), and its required packages (if you don’t alr have them) on another Windows PC. I also added OCR (Optical Character Recognition) support so MILO can read scanned/image-based PDFs instead of only normal text PDFs (planning to add OCR for images like png, jpg, etc…). I tested it on a scanned Verification of Enrollment document for my school and MILO was able to find it and read the contents. I also improved the file search so it skips folders like node_modules , .git , __pycache__ , and other junk folders that were causing completely unrelated search results. There were a LOT of bugs during this update, like a LOT 😭, there was Python detection, pip SSL errors, Ollama model installation, broken PDFs, OCR not finding Tesseract, Windows Documents being redirected to OneDrive, search ranking issues, and more. After fixing all of that, MILO can now run on another Windows PC (will make sure to test it again tommorow before shipping js incase), use that computer’s own files, search documents, read normal PDFs, and OCR scanned PDFs. Demo is below! (the verification of enrollment was a scanned pdf and M.I.L.O found it using OCR) Time to go to sleep now! (12:42 AM rn)"}, {"post_id": 50458, "ts": "2026-08-19T16:53:56Z", "hours": 2.5606, "text": "Devlog 4 - HUGE update! Made another big update to M.I.L.O today. you can now ask M.I.L.O questions about the files it finds, instead of just finding them. For example, I can ask: “How much did I pay for my Spider-Man ticket?” “What seats did I get?” “What time does it start?” “What’s the reservation number?” and M.I.L.O reads the actual PDF and gives me the answer. I also fixed a bug where MILO needed the exact words from the file to find the right information. But now it can understand related words and questions."}, {"post_id": 50176, "ts": "2026-08-19T09:12:09Z", "hours": 2.8514, "text": "Spent pretty much the whole previous day fixing a bug with MILO’s file search 😭 I got it to the point where MILO can actually read the contents of files like PDFs and text files, instead of only looking at their names. For example, I can say: “Find my Spider-Man Brand New Day VOSTFR 4DX Ticket” and MILO can actually read the PDF and find the right one even if the Ticket PDF is called “pixedH1723”. It took way longer than I expected to get the search working properly, but it finally works! Still a lot more to build, but this is a pretty big step for MILO."}, {"post_id": 49131, "ts": "2026-08-17T19:23:15Z", "hours": 1.4847, "text": "Devlog #2 - M.I.L.O Made some good progress on MILO the past hour and a half. I connected the AI to the file search system, so MILO can now understand normal sentences instead of needing exact file names. For example, I can say: “Find the folder which shows AI tools hype vs output and MILO can understand what I’m looking for and find the correct folder. It has a little bug tho, it can find multiple files with a specific keyword so for example it found another folder called “AI tools for each type of person” only because it has “AI” in it, so gonna work on that a bit later Still a lot to build, but it’s starting to feel like an actual assistant now."}, {"post_id": 48963, "ts": "2026-08-17T15:21:53Z", "hours": 3.3864, "text": "Started building M.I.L.O (My Intelligent Local Organizer) today. I ran into quite a few bugs while setting everything up, but I got the first part working. M.I.L.O can now scan a folder I choose and display the files and folders inside it along with the number of files/folders. The AI commands aren’t connected yet, so for now it just receives the command. Next, I’m working on making MILO actually understand the command and search through the files."}]...
|
Title: M.I.L.O by @Omar4lifex | Stardance
Devlogs Title: M.I.L.O by @Omar4lifex | Stardance
Devlogs:
Started building M.I.L.O (My Intelligent Local Organizer) today. I ran into quite a few bugs while setting everything up, but I got the first part working. M.I.L.O can now scan a folder I choose and display the files and folders inside it along with the number of files/folders. The AI commands aren’t connected yet, so for now it just receives the command. Next, I’m working on making MILO actually understand the command and search through the files.
Devlog #2 - M.I.L.O Made some good progress on MILO the past hour and a half. I connected the AI to the file search system, so MILO can now understand normal sentences instead of needing exact file names. For example, I can say: “Find the folder which shows AI tools hype vs output and MILO can understand what I’m looking for and find the correct folder. It has a little bug tho, it can find multiple files with a specific keyword so for example it found another folder called “AI tools for each type of person” only because it has “AI” in it, so gonna work on that a bit later Still a lot to build, but it’s starting to feel like an actual assistant now.
Spent pretty much the whole previous day fixing a bug with MILO’s file search 😭 I got it to the point where MILO can actually read the contents of files like PDFs and text files, instead of only looking at their names. For example, I can say: “Find my Spider-Man Brand New Day VOSTFR 4DX Ticket” and MILO can actually read the PDF and find the right one even if the Ticket PDF is called “pixedH1723”. It took way longer than I expected to get the search working properly, but it finally works! Still a lot more to build, but this is a pretty big step for MILO.
Devlog 4 - HUGE update! Made another big update to M.I.L.O today. you can now ask M.I.L.O questions about the files it finds, instead of just finding them. For example, I can ask: “How much did I pay for my Spider-Man ticket?” “What seats did I get?” “What time does it start?” “What’s the reservation number?” and M.I.L.O reads the actual PDF and gives me the answer. I also fixed a bug where MILO needed the exact words from the file to find the right information. But now it can understand related words and questions.
#Devlog #5 - Making MILO Actually Usable (BIIIG Devlog Update) TL;DR: M.I.L.O works for other pcs that have windows + added OCR so it can read scanned/image-based pdfs (demo below, the verification of enrollment was a scanned pdf and it found it!) I spent 9h 44m working on MILO without a devlog lol. I made a lot of progress toward making MILO usable by other people, not just on my PC (Only windows for now tho). I added a setup ( .bat file) system so MILO can automatically check for and install things like Python, Ollama, the AI model (qwen3:8b), and its required packages (if you don’t alr have them) on another Windows PC. I also added OCR (Optical Character Recognition) support so MILO can read scanned/image-based PDFs instead of only normal text PDFs (planning to add OCR for images like png, jpg, etc…). I tested it on a scanned Verification of Enrollment document for my school and MILO was able to find it and read the contents. I also improved the file search so it skips folders like node_modules , .git , __pycache__ , and other junk folders that were causing completely unrelated search results. There were a LOT of bugs during this update, like a LOT 😭, there was Python detection, pip SSL errors, Ollama model installation, broken PDFs, OCR not finding Tesseract, Windows Documents being redirected to OneDrive, search ranking issues, and more. After fixing all of that, MILO can now run on another Windows PC (will make sure to test it again tommorow before shipping js incase), use that computer’s own files, search documents, read normal PDFs, and OCR scanned PDFs. Demo is below! (the verification of enrollment was a scanned pdf and M.I.L.O found it using OCR) Time to go to sleep now! (12:42 AM rn)
Devlog #6 - Giving MILO Memory Today I spent 2h 5m adding memory per-chat (since before that, even if it was the same chat, it could not remember the previous message I sent) + improved MILO’s conversation system. I added per-chat memory so MILO can actually remember what happened earlier in the same conversation instead of treating every message like a completely new request. For example: Me: Find my Spider-Man ticket MILO: I found pixedH1723.pdf Me: What did I just ask you to find? MILO: You asked me to find your Spider-Man ticket. Me: Which type of file is it? MILO: The Spider-Man Ticket is a PDF file I added a backend chat_memory system that keeps information like the last command, action, query, found file, results, and file content for each individual chat. def get_chat_memory(chat_id): if chat_id not in chat_memory: chat_memory[chat_id] = { "last_command": "", "last_action": "", "last_file": None, "last_results": [] } return chat_memory[chat_id] I also added a new CHAT action to MILO’s AI so it can answer normal conversational questions like “what did I just ask you?” instead of forcing everything into SEARCH or QUESTION. Another improvement was passing the recent conversation history into Qwen3 so it has more context when interpreting follow-up messages such as “it”, “that file”, or “what did you find?”. One of the reasons I added memory is because it’s the foundation for the next major feature which is file actions like Rename, where I can say: Find my Spider-Man ticket And then say: Rename it to Spider-Man Ticket instead of having to say the original filename like: Can you rename “pixedH1723” to “Spider-Man”.
Devlog #7 - Making MILO Much Faster I spent almost 2 hours improving MILO’s search performance. I found a pretty bad bug where searching a large folder like Downloads could take 7+ minutes because MILO was trying to process too many PDFs, including scanned PDFs that required OCR. I changed the search system so MILO now does a much faster process: ↓ Check normal PDF text ↓ Only OCR likely scanned PDFs ↓ Cache the OCR result ↓ Return the result I also added an OCR limit so MILO doesn’t try to OCR hundreds of unrelated PDFs: MAX_OCR_CANDIDATES = 30 Another important improvement was OCR caching. Once MILO reads a scanned PDF, it saves the extracted text so it doesn’t have to OCR the same file again unless the file changes. I also added more ignored folders like: .git __pycache__ .venv .next dist build .cache This helped remove a lot of irrelevant files from searches. After the changes, the Spider-Man ticket search that was taking several minutes became much faster while the scanned EduWW Verification of Enrollment PDF still works with OCR.
Devlog #8 - Rename stuff I spent around 9 hours working on one of the biggest upgrades to M.I.L.O so far: file actions. Until now, M.I.L.O could find files and understand their contents, but it couldn’t actually do anything with them. I decided to start with Rename. Now I can tell milo rename my spiderman ticket (pixedH1723.pdf) to spiderman ticket and it asks for confirmation and then renames it. It remembers which file “it” refers to, asks for confirmation, and then renames it. A LOT of bugs happened 😭The first problem was that M.I.L.O found the correct Spider-Man ticket but also returned completely unrelated files. For example, it found:README.md pixedH1723.pdf The README contained the words “Spider-Man” and “ticket” because those words were used in an example inside the README. After filtering README files, M.I.L.O still found random files like: cd.txt vintage-ticket-stub.md because they contained generic words like “ticket”.I fixed this by improving the search scoring system so M.I.L.O considers the combination of important terms instead of matching one generic word. For a query like: Spider-Man + movie + ticket M.I.L.O now gives much more importance to files that actually contain those concepts together. I also added path filtering so M.I.L.O ignores internal development folders such as: node_modules .git __pycache__ .local .agents .next Rename itself had a bug too, the first Rename attempt crashed with: name ‘os’ is not defined because the rename code was using Python’s os module without importing it. That was fixed, and I also added protection so M.I.L.O doesn’t rename anything without confirmation, won’t overwrite an existing file, keeps the original file extension, automatically handles files that no longer exist, and remembers the last file found through conversation memory.
Devlog #9 - MILO can create folders Today I added Create Folder to M.I.L.O so now I can say: Create a folder called MILO FOLDER TEST and then MILO understands it, checks the location, then asks for confirmation before creating it. I added the new CREATE_FOLDER action to the AI and backend, plus Create / Cancel buttons in the frontend.{ “action”: “CREATE_FOLDER”, “new_name”: “School” } I also added safety checks so it won’t create a folder if the name is invalid or something with that name already exists.
Ships:
M.I.L.O v1.0.0 is officially ready. M.I.L.O is a local AI file organizer that lets you talk to your computer in normal language and find information inside your own files. What’s included Natural-language file search - ask MILO to find files and folders using normal chat. Local AI - powered by Ollama and Qwen3:8b, which runs on the user’s own PC. PDF reading - MILO can search normal text-based PDFs. OCR - MILO can read scanned/image-based PDFs using Tesseract OCR. Conversation memory - MILO remembers what happened earlier in the same chat, so follow-ups like “what file did you find?” work. Chat history - create new chats and return to previous conversations. Faster search - filename-first searching, ignored junk folders, and OCR caching make large-folder searches much faster. Automatic setup - Start MILO.bat checks for Python, Ollama, Tesseract, dependencies, and the Qwen3 model. Privacy M.I.L.O is designed around local processing. Your files stay on your computer, and the AI runs locally through Ollama instead of sending your files to a remote AI server. Getting started Download MILO-v1.0.0.zip Extract it Run Start MILO.bat Let the setup finish Choose the folder you want MILO to access Start chatting What’s next v1.1 will focus on file actions , starting with things like renaming and organizing files....
|
1792878437.104797
|
1793742437.104797
|
|
61016
|
Built it by @AjoSubarjo | Stardance
|
AjoSubarjo
|
1
|
42.52
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T14:25:28Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "im building a microgame or minigame like warioware and dumb ways to die. currently it only had 2 level but in the warioware mission 2 i will add more feature and level. and for the assets i use blender and the most challenging part is the timer like it kinda little bit confusing when it collapse with other timer", "repo": "https://github.com/Ajo-Subarjo/Nail-It", "demo": "https://ajo-subarjo.itch.io/build-it"}]...
|
[{"post_id": 78637, "ts": "202 [{"post_id": 78637, "ts": "2026-10-11T04:31:39Z", "hours": 8.7747, "text": "creating game manager"}, {"post_id": 77091, "ts": "2026-10-05T16:53:31Z", "hours": 8.5025, "text": "making prototype of level 3 and 4"}, {"post_id": 74233, "ts": "2026-09-27T00:42:15Z", "hours": 8.575, "text": "creating another level"}, {"post_id": 69127, "ts": "2026-09-16T13:09:47Z", "hours": 0.6719, "text": "adding demo vidio each level tutorial"}, {"post_id": 68075, "ts": "2026-09-14T14:02:45Z", "hours": 7.4419, "text": "one last devlog before ship it . i use blender for create all of the assets. currently its just had 2 level but in the next mission or mission 2. maybe i will adding some short background story, music, level of course, and upgrade the ui or the menu"}, {"post_id": 67031, "ts": "2026-09-13T02:12:17Z", "hours": 3.4619, "text": "done with some level. but idk how to track time when creating assets in blender"}, {"post_id": 65957, "ts": "2026-09-11T13:28:03Z", "hours": 5.0844, "text": "starting prototyping for the game level"}]...
|
Title: Built it by @AjoSubarjo | Stardance
Devlog Title: Built it by @AjoSubarjo | Stardance
Devlogs:
starting prototyping for the game level
done with some level. but idk how to track time when creating assets in blender
one last devlog before ship it . i use blender for create all of the assets. currently its just had 2 level but in the next mission or mission 2. maybe i will adding some short background story, music, level of course, and upgrade the ui or the menu
adding demo vidio each level tutorial
creating another level
making prototype of level 3 and 4
creating game manager
Ships:
im building a microgame or minigame like warioware and dumb ways to die. currently it only had 2 level but in the warioware mission 2 i will add more feature and level. and for the assets i use blender and the most challenging part is the timer like it kinda little bit confusing when it collapse with other timer...
|
1793206614.4463007
|
1793293014.4463007
|
|
1847
|
Catalyst by @adii | Stardance
|
adii
|
0
|
42.51
|
0
|
[]
|
[{"post_id": 7013, "ts": "2026 [{"post_id": 7013, "ts": "2026-06-11T19:22:47Z", "hours": 42.5106, "text": "started learning pygame. and this is what i’ve built so far (ik this aint a lot). lots of bugs, lots of googling, but we’re making progress 😭 will be posting more updates later!!"}]...
|
Title: Catalyst by @adii | Stardance
Devlogs:
sta Title: Catalyst by @adii | Stardance
Devlogs:
started learning pygame. and this is what i’ve built so far (ik this aint a lot). lots of bugs, lots of googling, but we’re making progress 😭 will be posting more updates later!!...
|
1792796075.466325
|
1793400875.466325
|
|
66766
|
Quantar by @Systemic_speed | Stardance
|
Systemic_speed
|
0
|
42.5
|
0
|
[]
|
[{"post_id": 82635, "ts": "202 [{"post_id": 82635, "ts": "2026-10-25T14:01:20Z", "hours": 1.5508, "text": "Devlog 7: Quantar hey there, for anyone new here, Quantar is a superset of python that can: run quantum simulations (those superposition thingies that can speed up math) run some physics allow you to make your own operators What we got guys, this is the LAST DEVLOG BEFORE SHIP , so we have got some basic stuff to recap on: we got an extension for Quantar (see it on the marketplace here ), still haven’t got a logo for it and the language I am currently learning rust to use it as the new backend of this language (since rust is way faster and has better memory management, so no segfaults) kinda small change, but we now are using uuid to identify functions well, see y’all at ship. (btw here is me realizing that i cut my pypirc instead of copying it when i was planning to change to linux)"}, {"post_id": 82187, "ts": "2026-10-24T06:20:50Z", "hours": 8.5667, "text": "Devlog 6: Quantar hey there, for anyone new here, Quantar is a superset of python that can: run quantum simulations (those superposition thingies that can speed up math) run some physics allow you to make your own operators What we got We got, some news, QUANTAR CAN RUN ON ANY COMPUTER WITH PYTHON AND 8 GIGS OF RAM!!!! now, it is time for me to try and speedrun making the lsp (which is actually just a ton of json, js and other stuff), which will color the code. Next steps Complete the LSP SHIP THAT THING BEFORE HALLOWEEN make a rust backend in a later program (coral ig??) so, see ya all either at ship or in the next devlog (btw, here is Quantar code running)"}, {"post_id": 81212, "ts": "2026-10-20T10:02:34Z", "hours": 7.0942, "text": "Devlog 5: Quantar hey there, for anyone new here, Quantar is a quantum programming language that allows its users to : use and easily control quantum stuff like qubits or gates use some cool physics stuff (in progress, gotta complete it fast) INFINITE OPERATORS : basically, for any function you want as an operators, you just add a @operator(name, kind) (name is how the operator will be invoked and kind can be of 4 types: unary (currently prefix only), binary, matrix and a generic callable thing) and you can use it in your program as an operator. What happened well, I only realized yesterday that THERE IS ONE WEEK LEFT FOR STARDANCE, so i cobbled up a plan to finally ship Quantar. so today was just a basic debugging session where i just cleaned up a few files, refactored the code using AI (if you refactor code yourself, plz teach me how to manage the import trees for such projects) What next tomorrow, we are just gonna speedrun completing the physics part and the language part (the lexer and other stuff) well, see ya dead, alive or as a cat. (here is me trying to figure out why “000” can’t be used in dictionary keys (spoiler, you can use them, i was just an idiot))"}, {"post_id": 78719, "ts": "2026-10-11T12:11:27Z", "hours": 9.9817, "text": "Devlog 4: Quantar hey there, for anyone new here, Quantar is a python superset (basically a language that can do what python does but with more features) that I have been making that allows people to easily do cool physics and quantum simulations without using some insane quantum computer or something. well, we can kinda see the light at the end of the tunnel, as i have made the basic systems for the interpreter and also implemented the second most feature of this language, the @operator decorator (basically a small line of code you add right before the function definition that allow you to use that thing as an operator in Quantar). we also completed most of the standard library (the stl) by adding quantum optimization and some high level classes and methods for them now, we just gotta manage parematerized gates, make an AST, run the ast, make an extension and then we would be mostly done. btw here is me trying out a version of factoring that uses a quantum optimizer (it is kinda slow because simulating a 512 dimensional state vector along with crazy multiplication is very, very bad for my 8 gigs of DDR4)"}, {"post_id": 77863, "ts": "2026-10-08T16:13:16Z", "hours": 4.9781, "text": "Devlog 3: Quantar hey there, today was ok (maybe, but it was too much math). completed making an optimized model of shor’s algorithm (gonna stop the stupidly complex algorithms there, basically shor’s alg just factors a number FAST and grover’s algorithm find a number based on a function FAST) So, for anyone new here, Quantar is a python library (going to be a language) that allows people to use quantum computers, make physics simulations (and one more random feature that no language has ever done)or for the layman, it helps you do physics and quantum stuff easily and fast. What happened made an optimized version of both shor’s and grover’s algorithms (shor can factor 143 in 8 - 12 seconds). added composite gates and circuit gates (basically, ways to make gates out of gates like QFT or the iQFT) began planning for the physics part. now, for a kinda big reveal (ngl, gonna sound cringe), but the new feature i am adding to my lang is INFINITE OPERATOR OVERLOADS , basically, any character or combination of characters that can be typed using a keyboard (like a prefix * or <->) can be made into an operator that people can use. the last one will really either help people be creative with libraries or allow code to look clean (btw here is me trying out shor’s algorithm on 403, took some time, so gonna implement qunatum optimization algs later)"}, {"post_id": 76635, "ts": "2026-10-04T07:10:12Z", "hours": 5.1464, "text": "Devlog 2: Quantar hey there, today was actually ok (ish), i was able to implement Grover’s Algorithm (some complicated ahh stuff that takes in a constraint func and will give you a high chance of seeing that number when you measure the qubits in the computer) for anyone new here, Quantar is a python library (going to be a language) that allows people to use quantum computers, make physics simulations (and one more random feature that no language has ever done) or for the layman, it helps you do physics and quantum stuff easily and fast What’s next making some basic quantum algorithms making the physics backend making plotter abstractions adding a really cool feature (btw here is a photo of how insane Grover’s algorithm is (we wanted 111))"}, {"post_id": 76115, "ts": "2026-10-02T10:45:20Z", "hours": 5.1772, "text": "Devlog 1: Quantar Quantar is going to be a quantum programming language that can take in average python commands and would also be used for physics (like differentials, fields and maybe even nuclear physics). What I did today today was a kind of ok, i am mostly done with the basics of the quantum abstractions (qubits, quantum computers and quantum gates), just gotta complete testing and uncomputation. Next steps (basically a todo list for myself) making accurate and useful physics abstractions (like dual numbers for differentials or vector verlets and vector fields (really confusing stuff)) designing a proper syntax for Quantar (along with the compiler) Maybe some other stuff (gonna think about it today) well, here is me making the gate matrices for a few basic gates"}]...
|
Title: Quantar by @Systemic_speed | Stardance
Dev Title: Quantar by @Systemic_speed | Stardance
Devlogs:
Devlog 1: Quantar Quantar is going to be a quantum programming language that can take in average python commands and would also be used for physics (like differentials, fields and maybe even nuclear physics). What I did today today was a kind of ok, i am mostly done with the basics of the quantum abstractions (qubits, quantum computers and quantum gates), just gotta complete testing and uncomputation. Next steps (basically a todo list for myself) making accurate and useful physics abstractions (like dual numbers for differentials or vector verlets and vector fields (really confusing stuff)) designing a proper syntax for Quantar (along with the compiler) Maybe some other stuff (gonna think about it today) well, here is me making the gate matrices for a few basic gates
Devlog 2: Quantar hey there, today was actually ok (ish), i was able to implement Grover’s Algorithm (some complicated ahh stuff that takes in a constraint func and will give you a high chance of seeing that number when you measure the qubits in the computer) for anyone new here, Quantar is a python library (going to be a language) that allows people to use quantum computers, make physics simulations (and one more random feature that no language has ever done) or for the layman, it helps you do physics and quantum stuff easily and fast What’s next making some basic quantum algorithms making the physics backend making plotter abstractions adding a really cool feature (btw here is a photo of how insane Grover’s algorithm is (we wanted 111))
Devlog 3: Quantar hey there, today was ok (maybe, but it was too much math). completed making an optimized model of shor’s algorithm (gonna stop the stupidly complex algorithms there, basically shor’s alg just factors a number FAST and grover’s algorithm find a number based on a function FAST) So, for anyone new here, Quantar is a python library (going to be a language) that allows people to use quantum computers, make physics simulations (and one more random feature that no language has ever done)or for the layman, it helps you do physics and quantum stuff easily and fast. What happened made an optimized version of both shor’s and grover’s algorithms (shor can factor 143 in 8 - 12 seconds). added composite gates and circuit gates (basically, ways to make gates out of gates like QFT or the iQFT) began planning for the physics part. now, for a kinda big reveal (ngl, gonna sound cringe), but the new feature i am adding to my lang is INFINITE OPERATOR OVERLOADS , basically, any character or combination of characters that can be typed using a keyboard (like a prefix * or <->) can be made into an operator that people can use. the last one will really either help people be creative with libraries or allow code to look clean (btw here is me trying out shor’s algorithm on 403, took some time, so gonna implement qunatum optimization algs later)
Devlog 4: Quantar hey there, for anyone new here, Quantar is a python superset (basically a language that can do what python does but with more features) that I have been making that allows people to easily do cool physics and quantum simulations without using some insane quantum computer or something. well, we can kinda see the light at the end of the tunnel, as i have made the basic systems for the interpreter and also implemented the second most feature of this language, the @operator decorator (basically a small line of code you add right before the function definition that allow you to use that thing as an operator in Quantar). we also completed most of the standard library (the stl) by adding quantum optimization and some high level classes and methods for them now, we just gotta manage parematerized gates, make an AST, run the ast, make an extension and then we would be mostly done. btw here is me trying out a version of factoring that uses a quantum optimizer (it is kinda slow because simulating a 512 dimensional state vector along with crazy multiplication is very, very bad for my 8 gigs of DDR4)
Devlog 5: Quantar hey there, for anyone new here, Quantar is a quantum programming language that allows its users to : use and easily control quantum stuff like qubits or gates use some cool physics stuff (in progress, gotta complete it fast) INFINITE OPERATORS : basically, for any function you want as an operators, you just add a @operator(name, kind) (name is how the operator will be invoked and kind can be of 4 types: unary (currently prefix only), binary, matrix and a generic callable thing) and you can use it in your program as an operator. What happened well, I only realized yesterday that THERE IS ONE WEEK LEFT FOR STARDANCE, so i cobbled up a plan to finally ship Quantar. so today was just a basic debugging session where i just cleaned up a few files, refactored the code using AI (if you refactor code yourself, plz teach me how to manage the import trees for such projects) What next tomorrow, we are just gonna speedrun completing the physics part and the language part (the lexer and other stuff) well, see ya dead, alive or as a cat. (here is me trying to figure out why “000” can’t be used in dictionary keys (spoiler, you can use them, i was just an idiot))
Devlog 6: Quantar hey there, for anyone new here, Quantar is a superset of python that can: run quantum simulations (those superposition thingies that can speed up math) run some physics allow you to make your own operators What we got We got, some news, QUANTAR CAN RUN ON ANY COMPUTER WITH PYTHON AND 8 GIGS OF RAM!!!! now, it is time for me to try and speedrun making the lsp (which is actually just a ton of json, js and other stuff), which will color the code. Next steps Complete the LSP SHIP THAT THING BEFORE HALLOWEEN make a rust backend in a later program (coral ig??) so, see ya all either at ship or in the next devlog (btw, here is Quantar code running)
Devlog 7: Quantar hey there, for anyone new here, Quantar is a superset of python that can: run quantum simulations (those superposition thingies that can speed up math) run some physics allow you to make your own operators What we got guys, this is the LAST DEVLOG BEFORE SHIP , so we have got some basic stuff to recap on: we got an extension for Quantar (see it on the marketplace here ), still haven’t got a logo for it and the language I am currently learning rust to use it as the new backend of this language (since rust is way faster and has better memory management, so no segfaults) kinda small change, but we now are using uuid to identify functions well, see y’all at ship. (btw here is me realizing that i cut my pypirc instead of copying it when i was planning to change to linux)...
|
1793101959.1990452
|
1793706759.1990452
|
|
743
|
Pokemon Macropad by @Sahild | Stardance
|
Sahild
|
1
|
42.46
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-20T01:52:51Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Pokemon Hackpad is a 5 key macropad with a rotary encoder, and 4 SK6812 MINI E RGB LEDs. It uses KMK firmware Features: An EC11 rotary encoder, controls volume, click to mute 4 SK6812 MINI E RGB LEDs, swirl and static modes 5 Cherry MX style keys, encoder click counts as the 5th Pokemon themed design", "repo": "https://github.com/sahilchess/Pokemon-Hackpad", "demo": ""}]...
|
[{"post_id": 25085, "ts": "202 [{"post_id": 25085, "ts": "2026-07-09T01:56:48Z", "hours": 0.3078, "text": "kmk update i added oled support and thats really it"}, {"post_id": 24799, "ts": "2026-07-08T16:21:22Z", "hours": 0.4333, "text": "done im not writing anything her ebc imma write a ship post nvm you dont ship post for hardware….. here is my hackpad: 5 keys and a rotary encoder/switch in matrix wiring, an OLED scree, 3 rgb LEDS (1 for underglow, 2 for key glow and lighting up the case.). the case has a 2 degree tilt. thereason it isnt more is bc the screws wouldn’t reach if it was more. the case is 126.64mm (length) x 95.18mm (width) x 21.5mm (height)"}, {"post_id": 24459, "ts": "2026-07-08T01:12:48Z", "hours": 0.4667, "text": "almost done early devlog here. im just saing i finsihed teh redo for the holes making them 7mm from the wall instead of 5mm. but now i mchoosing to make them 10mm isntead of 7mm. here it is rn i should be done by next session or max tmmrw"}, {"post_id": 24452, "ts": "2026-07-08T00:43:36Z", "hours": 4.45, "text": "holy crappedididapidee I’m almost done and this is like surreal. finally, all my hard work is coming to an end. all my pain suffering diligence is showing as a final product i added a hc logo in the top right. i gave up on the “cool effect” for a pokemon logo bc i keep getting manifold body errors. I used the 2020 HC progress logo so i could get a cool rounded fillet effect. also, instead of making the holes 5mm from the wall, they are 7mm. i saw some pics also changing the name to pokepad"}, {"post_id": 23233, "ts": "2026-07-06T01:45:36Z", "hours": 5.2564, "text": "design im now more focused on designs i added a pikachu and meowth. im ttryna add the pokemon logo. whats cool is that imma make it so the blue part with bbe at a different height from teh yellow and is will be a very cool effect."}, {"post_id": 21899, "ts": "2026-07-04T02:21:15Z", "hours": 0.3836, "text": "production productive I got a good job. I got the HC banner into the bottom, got the under glow led fixated. I was forced to move the old screen because it was too close and I wanted to chamfer the keys. Then I chamfered the keys. i removed the fillets for less ram usage also here are the 2.9 hours that i didn’t record to hackatime: one two three"}, {"post_id": 21224, "ts": "2026-07-03T01:41:03Z", "hours": 0.9836, "text": "uhh so um. i was looking at my previous timlapses and i noticed…. that i was idling a ton. so and um.i dont want to count for fraud, so… uh…. my idea was to record my self designing for like 4 hours and would NOT put that in hackatime/lookout/lapse. i would just record it. i i would put it here. but yeah thats what happened. i also got a 3rd layer"}, {"post_id": 21041, "ts": "2026-07-02T20:17:23Z", "hours": 2.1453, "text": "im going crazy finished importing all the parts and moved them out of the main document so my computer doesn’t die opening it found a problem though. the plate is only sized for the upper part of the switch base and not the bottom part so nothing sits right when i put it together gonna need to add some tolerances to the parts too or nothing’s gonna fit clean back to onshape"}, {"post_id": 20092, "ts": "2026-07-01T16:42:35Z", "hours": 0.4503, "text": "onshape onshape is soooooo slow, even on unshaded graphics and ambient occlusion and 0%. like this is crazy. just yesterday it was good and now it is horrible"}, {"post_id": 19625, "ts": "2026-07-01T00:17:04Z", "hours": 1.2669, "text": "wow i made a lot of updates here they are: usbc hole is rounded added in the pcb started adding in the parts removed my shading and maybe (call me crazy) i might use unshaded some of the time"}, {"post_id": 17654, "ts": "2026-06-28T15:16:18Z", "hours": 3.7528, "text": "bro what i really dont know waht i did for 3hrs but ig i will devlog i uh imported my pcb into onshape and that took really long ig and i am still tryna figure out why my top case doesnt align with the silkscreen on my pcb"}, {"post_id": 15140, "ts": "2026-06-24T16:27:00Z", "hours": 1.285, "text": "Routing done yeah ig thats it, i finished routing, now we gonna cad some more. I also figured out that you can use KMK for all of this. idk what QMK is for if KMK has all of this. ts is just in a harder coding lang"}, {"post_id": 14780, "ts": "2026-06-24T00:35:11Z", "hours": 4.6083, "text": "updates and descisions i updated the board by rounding the corners, i updated the 3d models of parts in kicad, and now it looks very good. I also added an OLDE. future i am gonna make my thign look like the orpheuspad like qcoral :). (not copying) but like I would like it to look as clean as it with the round corners and no screw holes on the tops."}, {"post_id": 13899, "ts": "2026-06-22T19:42:57Z", "hours": 3.6661, "text": "im tilting I added a tilt and this is prolly the coolest thing abt this case. how i did it was i created a rectangle with lenght of the case width. then extrudedd that and rotated it just like the rest of the case. tehn i got the mesurement of the triangle it created. then i extrueded teh triangle. that is the wedge created. next, I added one hole for the screw and insert. since i only get 6 screws and inserts and already used 4, i can only secure the tilt with 2. i had to use a hole instead of the extrude because the screws have to be perpendicualr to the bottom. i also made the insert be in the bottom case instead of the tilt because i didn’t like the vision of the heatset insert being visible"}, {"post_id": 12289, "ts": "2026-06-20T01:50:32Z", "hours": 6.2314, "text": "pokemon macropad is done finished the wiring changes, added the 4 rgb leds, wrote the kmk firmware for the encoder and keys, finalized the case in onshape, and wrapped up the submission reqs. fully built, fully working, pokemon themed start to finish"}, {"post_id": 3807, "ts": "2026-06-06T21:13:28Z", "hours": 2.3547, "text": "Case Designing so i basically worked for 2 hours and finished the case and am planning to add more flair like my name and some pokemon later👍"}, {"post_id": 2938, "ts": "2026-06-05T20:54:41Z", "hours": 0.6283, "text": "next step is the usb c hole and the firmware!"}, {"post_id": 2906, "ts": "2026-06-05T20:11:40Z", "hours": 3.9333, "text": "🫠fusion blew my computer up so i had to shift to onshape"}]...
|
Title: Pokemon Macropad by @Sahild | Stardance
De Title: Pokemon Macropad by @Sahild | Stardance
Devlogs:
🫠fusion blew my computer up so i had to shift to onshape
next step is the usb c hole and the firmware!
Case Designing so i basically worked for 2 hours and finished the case and am planning to add more flair like my name and some pokemon later👍
pokemon macropad is done finished the wiring changes, added the 4 rgb leds, wrote the kmk firmware for the encoder and keys, finalized the case in onshape, and wrapped up the submission reqs. fully built, fully working, pokemon themed start to finish
im tilting I added a tilt and this is prolly the coolest thing abt this case. how i did it was i created a rectangle with lenght of the case width. then extrudedd that and rotated it just like the rest of the case. tehn i got the mesurement of the triangle it created. then i extrueded teh triangle. that is the wedge created. next, I added one hole for the screw and insert. since i only get 6 screws and inserts and already used 4, i can only secure the tilt with 2. i had to use a hole instead of the extrude because the screws have to be perpendicualr to the bottom. i also made the insert be in the bottom case instead of the tilt because i didn’t like the vision of the heatset insert being visible
updates and descisions i updated the board by rounding the corners, i updated the 3d models of parts in kicad, and now it looks very good. I also added an OLDE. future i am gonna make my thign look like the orpheuspad like qcoral :). (not copying) but like I would like it to look as clean as it with the round corners and no screw holes on the tops.
Routing done yeah ig thats it, i finished routing, now we gonna cad some more. I also figured out that you can use KMK for all of this. idk what QMK is for if KMK has all of this. ts is just in a harder coding lang
bro what i really dont know waht i did for 3hrs but ig i will devlog i uh imported my pcb into onshape and that took really long ig and i am still tryna figure out why my top case doesnt align with the silkscreen on my pcb
wow i made a lot of updates here they are: usbc hole is rounded added in the pcb started adding in the parts removed my shading and maybe (call me crazy) i might use unshaded some of the time
onshape onshape is soooooo slow, even on unshaded graphics and ambient occlusion and 0%. like this is crazy. just yesterday it was good and now it is horrible
im going crazy finished importing all the parts and moved them out of the main document so my computer doesn’t die opening it found a problem though. the plate is only sized for the upper part of the switch base and not the bottom part so nothing sits right when i put it together gonna need to add some tolerances to the parts too or nothing’s gonna fit clean back to onshape
uhh so um. i was looking at my previous timlapses and i noticed…. that i was idling a ton. so and um.i dont want to count for fraud, so… uh…. my idea was to record my self designing for like 4 hours and would NOT put that in hackatime/lookout/lapse. i would just record it. i i would put it here. but yeah thats what happened. i also got a 3rd layer
production productive I got a good job. I got the HC banner into the bottom, got the under glow led fixated. I was forced to move the old screen because it was too close and I wanted to chamfer the keys. Then I chamfered the keys. i removed the fillets for less ram usage also here are the 2.9 hours that i didn’t record to hackatime: one two three
design im now more focused on designs i added a pikachu and meowth. im ttryna add the pokemon logo. whats cool is that imma make it so the blue part with bbe at a different height from teh yellow and is will be a very cool effect.
holy crappedididapidee I’m almost done and this is like surreal. finally, all my hard work is coming to an end. all my pain suffering diligence is showing as a final product i added a hc logo in the top right. i gave up on the “cool effect” for a pokemon logo bc i keep getting manifold body errors. I used the 2020 HC progress logo so i could get a cool rounded fillet effect. also, instead of making the holes 5mm from the wall, they are 7mm. i saw some pics also changing the name to pokepad
almost done early devlog here. im just saing i finsihed teh redo for the holes making them 7mm from the wall instead of 5mm. but now i mchoosing to make them 10mm isntead of 7mm. here it is rn i should be done by next session or max tmmrw
done im not writing anything her ebc imma write a ship post nvm you dont ship post for hardware….. here is my hackpad: 5 keys and a rotary encoder/switch in matrix wiring, an OLED scree, 3 rgb LEDS (1 for underglow, 2 for key glow and lighting up the case.). the case has a 2 degree tilt. thereason it isnt more is bc the screws wouldn’t reach if it was more. the case is 126.64mm (length) x 95.18mm (width) x 21.5mm (height)
kmk update i added oled support and thats really it
Ships:
Pokemon Hackpad is a 5 key macropad with a rotary encoder, and 4 SK6812 MINI E RGB LEDs. It uses KMK firmware Features: An EC11 rotary encoder, controls volume, click to mute 4 SK6812 MINI E RGB LEDs, swirl and static modes 5 Cherry MX style keys, encoder click counts as the 5th Pokemon themed design...
|
1793130665.569636
|
1793217065.569636
|
|
27634
|
MemoryEngine by @Bober | Stardance
|
Bober
|
0
|
42.46
|
0
|
[]
|
[{"post_id": 45391, "ts": "202 [{"post_id": 45391, "ts": "2026-08-11T20:25:23Z", "hours": 2.3192, "text": "Nothing special I was busy restructurizing project again because of the fact that I added research folder to repo. In it I will be placing researches that I did to come up with some decision about a project. One that I did today was embedding formats research. What did it cover It used python script to go through multiple formats that will be passed to llm embedder. I used results to pick one that will work the best for our case. Funny that it contributed to changing current embedding strategy. Ig research is needed after all… !! THX FOR READING !!"}, {"post_id": 44717, "ts": "2026-08-10T17:36:57Z", "hours": 2.4281, "text": "! Working embedder ! This milestone brings me one step closer to engine MVP as it means that now graph is semantically queryable (by meaning not by accuracy) What I did ? I integrated qwen-embedder-8b model into my engine which now embedds (Generates 1024 dim vector representing semantic meaning text) this text block for each entity: canonical_name[type] . That allows you to run vector similarity search accross graph entities which makes engine kind of like a little RAG. ~~ Thats all ~~ THX FOR READING"}, {"post_id": 44195, "ts": "2026-08-09T20:03:08Z", "hours": 1.0444, "text": "Cool feature xD I added auto-add-admin feature. If you file a specific admin_request with very specific message you will receive free admin on page which allows you to chat with assistant ;D What else? I also made project more self-hostable in a way that I just expanded instructions on how to run it. (I might forgot bout smth though) ! THX FOR READING THIS SHORT AHH DEVLOG !"}, {"post_id": 42984, "ts": "2026-08-08T00:12:41Z", "hours": 3.2453, "text": "Finishing touches AND FIXES to playground I added finishing touches to the playground and also fixed memory_add endpoint which used fire-nd-forget approach which unfortunately is not allowed on vercel :( This simple problem caused a lot of headache I needed to migrate entire function to cloudflare. It landed on claudflare queues which means that now i have an entire queue system build for backend api xD NEW FEATURE request_admin_access i added button to request admin access ! ** Thx for reading and see you sooon **"}, {"post_id": 42689, "ts": "2026-08-07T15:24:22Z", "hours": 4.5986, "text": "! OpenMem playground is now live ! Only caveat is that to chat with llm inside you need to be on admins list but if you comment your user id under this devlog(or message me on slack: bober with black and white pf) I will happily add you here ;D What changed? I expanded entire db schema by a factor of probably 2 xD. This included handling RLS, CLS (Column privileges) in database and also minor fixes to existing schema. Essentially security stuff Completed ui for playground with sessions , containers , data_viewer and llm_chat . Next steps Ship Add indirect_deduper to make engine actually usable Add recaller to be able to use data inside of the engine Later idk… ;D ** !! Thx for reading !! See you soon…**"}, {"post_id": 42184, "ts": "2026-08-06T20:00:05Z", "hours": 7.9856, "text": "A lot has happened xD As you can see 8h have elapsed since last time I have written a single devlog. That is because I have been extremely busy and didn’t even still finish what I have been working on To the point… For past 8h I have been making these things: Web playable playground (very basic, enough for ship to be accepted because running engine by yourself rn is a big pain xD) 4h Updates to entity/relation direct deduper 1h Relations inserter (including relation_mentions ) 1h Cleaning up code mess I have created for past time just trying to get engine to work in any way 1h Rethinking/reapplying database schema and restructurizing it to allow me to introduce admins and regular users 1h Still finishing touches needed before first ship… This ship will not mean “Engine is ready to use check it out” It will only mean that I need those hours accepted rn (xD) Engine still requires implementation of indirect entity deduper which will be pretty hard (as I explained in earlier in devlogs). This ship will let you create account on playground and chat with model and see how your memories are stored in db that’s it for now.. ** As always ;D** ❤️ THX FOR READING ❤️"}, {"post_id": 39680, "ts": "2026-08-02T20:18:12Z", "hours": 3.4069, "text": "Full Entity deduper + Inserter ! Now system is capable of taking conversation and turning it into entities that are linked by relations and preserve history of changes! From technical point of view What actually changed in past 3.5h was that I fully implemented entity deduper and inserter. Now entities land in database which also means that previously implemented db deduper can use those as references to do its job. Slowly but steadily Now system is starting to come to a point where in next 20h it might become actually usable. Only things left now are: Recaller - System for querying this knowledge graph Periodical Merger - Extension of deduper that will periodically run to merge potentially wrong flagged entities for example: Rust (PROGRAMMING_LANGUAGE) AND Rust (TECHNOLOGY) , These two refer to the same entity but couldn’t have been merged by direct deduper because this is an Indirect relationship !!! Thx for reading and see you soon !!!"}, {"post_id": 39063, "ts": "2026-08-01T19:04:38Z", "hours": 4.4022, "text": "Partial Entity Deduper! After loong 3h of constant designing and rethinking my previous architecture choices (xD) I managed to create direct entity deduplication system . Hold up… Direct?? Direct meaning actual duplicates/cross references . For example: entity x, aliases: [y,z,c] entity y, aliases: [a,b,c] Current deduper setup will merge these two because name y appears in aliases for entity x . Not so fast This is just to ilustrate how to distinguish direct from indirect. But in reality hardest part of this implementation was to figure out how to merge these two together (How properties should behave). For example: How confidence for given entity should be calculated? How to merge unique properties? How to preserve history of entity merging (kinda like git diffs) Still more to come… I still didn’t design a solution for indirect entity matching (What I will be working on now). How to figure out that entity of name: “Alice” is the same as entity named: “Dr. Alice” when neither of those is present in subject’s aliases array. :(((( There is hope! After entity deduper is finally finished I will be able to test this system on actual tests checking how well it handles entity resolution, memory understanding etc… Btw I changed my model to xiaomi-mimo-v2.5 but don’t tell anyone…. shhh That’s all for today. As always… !! THX FOR READING AND SEE YOU NEXT TIME !!"}, {"post_id": 37317, "ts": "2026-07-29T22:45:04Z", "hours": 3.8297, "text": "Finally some real progress! For the past 4h (And even more spent chatting with tencent-hy3 ) I have been making a NER (Named entity recognition) system for my engine. What does this mean? It means that now after system generates memories from chat history they get passed into entity resolver which extracts entities(people, locations, events) from them and forms relationships between them. What comes next? Next I will be adding entity deduper (even harder problem). What I am missing right now is: What if NER system generates direct duplicates of entities or (even worse) indirect ones. Direct duplicate would be: Same entity name appearing in different memories . This is easy to fix. Just a regular == scan. Indirect duplicate would be: Same entity referenced by slightly different names/properties . For example: Rust[Language] / Rust[Programming Language] . This problem is still unsolved by me although I have some ideas about how to go around it. However this is theme for next devlog… Thx for reading this ;D. See you soon"}, {"post_id": 34337, "ts": "2026-07-24T23:02:36Z", "hours": 2.7092, "text": "Nvim setup It will happen to all of us at certain time…. What was I doing Migrating myself from vscode to NeoVim with NvChad preconfig. This took a long time for me to get used to it. I also removed @openrouter/sdk because it absolutely SUCKS My question to openrouter team How can you be a leader in api space and be unable to have up-to-date docs????"}, {"post_id": 33520, "ts": "2026-07-23T15:18:21Z", "hours": 2.5103, "text": "New Architecture After very loooong thinking I figured that letting agents/models generate memories themselves on their session will lead to inconsistent and unpredictable memory . For that reason I implemented memory generation on the server. FoR NeRdS Architecture setup User creates new session via new_session endpoint. Using sessionId user calls add_memory endpoint which expects: newMessages field. Servers inserts newMessages into session_messages table in database Background job (Currently fire-and-forget ) is scheduled and response instantly returned Background Job Using sessionId and newMessages job fetches memories assigned to session . With messages and session_memories it calls an llm(currently nvidia/nemotron-3-ultra-550b-a55b:free ) BeCaUsE It Is FrEe which extract memories from these messages. session_memories are passed as context so that model can understand what each entity means Thx for reading! See you soon… ;D"}, {"post_id": 28436, "ts": "2026-07-14T17:52:47Z", "hours": 3.9819, "text": "Thinker ;D Currently just trying to figure out structure of this entire project and also… How in the world! Will I make usable memory knowledge graph out of text ThX fOr ReAdInG tHaT sHoRt AhHhH dEvLoG!"}]...
|
Title: MemoryEngine by @Bober | Stardance
Devlogs Title: MemoryEngine by @Bober | Stardance
Devlogs:
Thinker ;D Currently just trying to figure out structure of this entire project and also… How in the world! Will I make usable memory knowledge graph out of text ThX fOr ReAdInG tHaT sHoRt AhHhH dEvLoG!
New Architecture After very loooong thinking I figured that letting agents/models generate memories themselves on their session will lead to inconsistent and unpredictable memory . For that reason I implemented memory generation on the server. FoR NeRdS Architecture setup User creates new session via new_session endpoint. Using sessionId user calls add_memory endpoint which expects: newMessages field. Servers inserts newMessages into session_messages table in database Background job (Currently fire-and-forget ) is scheduled and response instantly returned Background Job Using sessionId and newMessages job fetches memories assigned to session . With messages and session_memories it calls an llm(currently nvidia/nemotron-3-ultra-550b-a55b:free ) BeCaUsE It Is FrEe which extract memories from these messages. session_memories are passed as context so that model can understand what each entity means Thx for reading! See you soon… ;D
Nvim setup It will happen to all of us at certain time…. What was I doing Migrating myself from vscode to NeoVim with NvChad preconfig. This took a long time for me to get used to it. I also removed @openrouter/sdk because it absolutely SUCKS My question to openrouter team How can you be a leader in api space and be unable to have up-to-date docs????
Finally some real progress! For the past 4h (And even more spent chatting with tencent-hy3 ) I have been making a NER (Named entity recognition) system for my engine. What does this mean? It means that now after system generates memories from chat history they get passed into entity resolver which extracts entities(people, locations, events) from them and forms relationships between them. What comes next? Next I will be adding entity deduper (even harder problem). What I am missing right now is: What if NER system generates direct duplicates of entities or (even worse) indirect ones. Direct duplicate would be: Same entity name appearing in different memories . This is easy to fix. Just a regular == scan. Indirect duplicate would be: Same entity referenced by slightly different names/properties . For example: Rust[Language] / Rust[Programming Language] . This problem is still unsolved by me although I have some ideas about how to go around it. However this is theme for next devlog… Thx for reading this ;D. See you soon
Partial Entity Deduper! After loong 3h of constant designing and rethinking my previous architecture choices (xD) I managed to create direct entity deduplication system . Hold up… Direct?? Direct meaning actual duplicates/cross references . For example: entity x, aliases: [y,z,c] entity y, aliases: [a,b,c] Current deduper setup will merge these two because name y appears in aliases for entity x . Not so fast This is just to ilustrate how to distinguish direct from indirect. But in reality hardest part of this implementation was to figure out how to merge these two together (How properties should behave). For example: How confidence for given entity should be calculated? How to merge unique properties? How to preserve history of entity merging (kinda like git diffs) Still more to come… I still didn’t design a solution for indirect entity matching (What I will be working on now). How to figure out that entity of name: “Alice” is the same as entity named: “Dr. Alice” when neither of those is present in subject’s aliases array. :(((( There is hope! After entity deduper is finally finished I will be able to test this system on actual tests checking how well it handles entity resolution, memory understanding etc… Btw I changed my model to xiaomi-mimo-v2.5 but don’t tell anyone…. shhh That’s all for today. As always… !! THX FOR READING AND SEE YOU NEXT TIME !!
Full Entity deduper + Inserter ! Now system is capable of taking conversation and turning it into entities that are linked by relations and preserve history of changes! From technical point of view What actually changed in past 3.5h was that I fully implemented entity deduper and inserter. Now entities land in database which also means that previously implemented db deduper can use those as references to do its job. Slowly but steadily Now system is starting to come to a point where in next 20h it might become actually usable. Only things left now are: Recaller - System for querying this knowledge graph Periodical Merger - Extension of deduper that will periodically run to merge potentially wrong flagged entities for example: Rust (PROGRAMMING_LANGUAGE) AND Rust (TECHNOLOGY) , These two refer to the same entity but couldn’t have been merged by direct deduper because this is an Indirect relationship !!! Thx for reading and see you soon !!!
A lot has happened xD As you can see 8h have elapsed since last time I have written a single devlog. That is because I have been extremely busy and didn’t even still finish what I have been working on To the point… For past 8h I have been making these things: Web playable playground (very basic, enough for ship to be accepted because running engine by yourself rn is a big pain xD) 4h Updates to entity/relation direct deduper 1h Relations inserter (including relation_mentions ) 1h Cleaning up code mess I have created for past time just trying to get engine to work in any way 1h Rethinking/reapplying database schema and restructurizing it to allow me to introduce admins and regular users 1h Still finishing touches needed before first ship… This ship will not mean “Engine is ready to use check it out” It will only mean that I need those hours accepted rn (xD) Engine still requires implementation of indirect entity deduper which will be pretty hard (as I explained in earlier in devlogs). This ship will let you create account on playground and chat with model and see how your memories are stored in db that’s it for now.. ** As always ;D** ❤️ THX FOR READING ❤️
! OpenMem playground is now live ! Only caveat is that to chat with llm inside you need to be on admins list but if you comment your user id under this devlog(or message me on slack: bober with black and white pf) I will happily add you here ;D What changed? I expanded entire db schema by a factor of probably 2 xD. This included handling RLS, CLS (Column privileges) in database and also minor fixes to existing schema. Essentially security stuff Completed ui for playground with sessions , containers , data_viewer and llm_chat . Next steps Ship Add indirect_deduper to make engine actually usable Add recaller to be able to use data inside of the engine Later idk… ;D ** !! Thx for reading !! See you soon…**
Finishing touches AND FIXES to playground I added finishing touches to the playground and also fixed memory_add endpoint which used fire-nd-forget approach which unfortunately is not allowed on vercel :( This simple problem caused a lot of headache I needed to migrate entire function to cloudflare. It landed on claudflare queues which means that now i have an entire queue system build for backend api xD NEW FEATURE request_admin_access i added button to request admin access ! ** Thx for reading and see you sooon **
Cool feature xD I added auto-add-admin feature. If you file a specific admin_request with very specific message you will receive free admin on page which allows you to chat with assistant ;D What else? I also made project more self-hostable in a way that I just expanded instructions on how to run it. (I might forgot bout smth though) ! THX FOR READING THIS SHORT AHH DEVLOG !
! Working embedder ! This milestone brings me one step closer to engine MVP as it means that now graph is semantically queryable (by meaning not by accuracy) What I did ? I integrated qwen-embedder-8b model into my engine which now embedds (Generates 1024 dim vector representing semantic meaning text) this text block for each entity: canonical_name[type] . That allows you to run vector similarity search accross graph entities which makes engine kind of like a little RAG. ~~ Thats all ~~ THX FOR READING
Nothing special I was busy restructurizing project again because of the fact that I added research folder to repo. In it I will be placing researches that I did to come up with some decision about a project. One that I did today was embedding formats research. What did it cover It used python script to go through multiple formats that will be passed to llm embedder. I used results to pick one that will work the best for our case. Funny that it contributed to changing current embedding strategy. Ig research is needed after all… !! THX FOR READING !!...
|
1793199238.0532565
|
1793804038.0532565
|
|
990
|
PythOS by @milo0622 | Stardance
|
milo0622
|
1
|
42.45
|
270
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T14:06:19Z", "hours": 14.0, "multiplier": 19.35, "payout": 270, "blessing": "neutral", "text": "This is a Linux distro written almost completely in Python!! What’s special about it, is that the whole Linux distro is compiled and assembled by me!! Compared to previous versions in the previous repo, those all relied on other Linux distro shells. But this time, the shell and other programs in /bin is written in Python. How it works: Boots grub bootloader Boots Linux kernel Loads init script Loads init.py from sbin/ Tries to load pysh.py from bin/ -> If fails or user exits pyshell, it falls back to init.py as a logon menu (written with ncurses) This is a protection mechanism that prevents kernel panic (which needs us to force reboot the PC) I’m really proud that my OS worked, and has always been my dream creating an up and running OS!!", "repo": "https://github.com/milo0622/PythOS", "demo": "https://github.com/milo0622/PythOS/releases/"}]...
|
[{"post_id": 31306, "ts": "202 [{"post_id": 31306, "ts": "2026-07-19T16:31:21Z", "hours": 9.7153, "text": "Alright. So in the past 8 hours, I’ve been working on the KMSDRM rendering for PythOS’ desktop. Since all apps will be called via standard execve, functions inside cannot be called directly from the main server. That’s where IPC comes in. Like GNOME, it pygui acts as a server that handles the custom made apps that contains the GUI APIs, and performs a communication back and forth to render the apps. The process is NOT easy, and got my brain frying."}, {"post_id": 28979, "ts": "2026-07-15T16:38:05Z", "hours": 7.3539, "text": "In this 6 hours’ work, I’ve added a handle to the windows for the user to drag them. Various APIs were also added, such as buttons, text and images. There is one more useful feature: window focusing. When multiple windows are added, you can focus on them by clicking on them just like normal OSes."}, {"post_id": 28215, "ts": "2026-07-14T11:11:36Z", "hours": 11.3847, "text": "In this 11 hours (shows 10 hours because of the limit of devlogs), I’ve worked on framebuffering with PyGame, it was kinda painful trying to learn writing GUI in a completely different language, but it’s kinda worth it and enjoyable :) Also the theme of the GUI is based on Windows 98"}, {"post_id": 19180, "ts": "2026-06-30T13:20:41Z", "hours": 7.0183, "text": "After rewriting code for 7 hours and building the ISO file for more than 5 hours, I have finally built a bootable PythOS ISO file!!! What I have rewritten, was pysh.py to optimize the shell. I’ve also fixed a TypeError of PosixPath + str in ls.py. How the OS works: Boots grub bootloader Boots Linux kernel Loads init script Loads init.py from sbin/ Tries to load pysh.py from bin/ -> If fails or user exits pyshell, it falls back to init.py as a logon menu (written with ncurses) This is a protection mechanism that prevents kernel panic (which needs us to force reboot the PC) How to dualboot: (for Windows users. Skip if you know how to dualboot Linux, but please do not ignore step 6 when flashing): Prerequisites: Rufus (download from here ) PythOS ISO (download from the releases page ) A USB (at least 200MB) Steps: Plug in your USB and run Rufus you have just downloaded Select your USB device in the “Device” dropdown menu In the “Boot selection” dropdown, select “Disk or ISO image (Please select)” Select PythOS ISO file Click START Select DD mode as the flash mode instead of ISO mode (ISO mode will NOT work) and click OK Wait for it to flash Reboot your computer after flashing and enter UEFI boot menu Select the USB flash drive Select PythOS Phoenix ENJOY! NOTE: If your computer uses legacy BIOS instead of UEFI, I’m sorry… I’ll be adding BIOS support very soon tho :) Other architecture builds of the OS will be released very soon. The current supported arch is x86_64 (64-bit) P.S. You might be wondering if you’ll need to type in “.py” for running my scripts in bin, you don’t. Simply type in the command without .py, it’ll be good to go. Of course you CAN type in .py if you want, but it would basically be your choice mate"}, {"post_id": 2103, "ts": "2026-06-04T13:07:32Z", "hours": 4.5208, "text": "In this ~4.5 hours, I’ve added many commands to PythOS: clear, date, ls, mkdir, touch, uname And the most amazing thing I’ve done, is adding arguments and options :). I do think that this project can let me learn a LOT more about Python, Linux and low-level things"}, {"post_id": 748, "ts": "2026-06-02T11:46:02Z", "hours": 2.4308, "text": "I’ve relaunched the project PythOS, a Linux distro but almost fully written in Python. Instead of relying on init systems like BusyBox, it uses bare-minimum components: a Linux kernel, musl library, Python library, and my own Python runtime (init systems are written by me in C) I’ve actually worked on a project like this, also a Linux distro written in C, but back then, the distro relied on Alpine Linux as a base system. This time I’m actually trying to create the Linux distro myself :) The image I’ve uploaded is a preview of the shell. It’s still run on my Linux VM as it’s not built into a system yet."}]...
|
Title: PythOS by @milo0622 | Stardance
Devlogs:
I Title: PythOS by @milo0622 | Stardance
Devlogs:
I’ve relaunched the project PythOS, a Linux distro but almost fully written in Python. Instead of relying on init systems like BusyBox, it uses bare-minimum components: a Linux kernel, musl library, Python library, and my own Python runtime (init systems are written by me in C) I’ve actually worked on a project like this, also a Linux distro written in C, but back then, the distro relied on Alpine Linux as a base system. This time I’m actually trying to create the Linux distro myself :) The image I’ve uploaded is a preview of the shell. It’s still run on my Linux VM as it’s not built into a system yet.
In this ~4.5 hours, I’ve added many commands to PythOS: clear, date, ls, mkdir, touch, uname And the most amazing thing I’ve done, is adding arguments and options :). I do think that this project can let me learn a LOT more about Python, Linux and low-level things
After rewriting code for 7 hours and building the ISO file for more than 5 hours, I have finally built a bootable PythOS ISO file!!! What I have rewritten, was pysh.py to optimize the shell. I’ve also fixed a TypeError of PosixPath + str in ls.py. How the OS works: Boots grub bootloader Boots Linux kernel Loads init script Loads init.py from sbin/ Tries to load pysh.py from bin/ -> If fails or user exits pyshell, it falls back to init.py as a logon menu (written with ncurses) This is a protection mechanism that prevents kernel panic (which needs us to force reboot the PC) How to dualboot: (for Windows users. Skip if you know how to dualboot Linux, but please do not ignore step 6 when flashing): Prerequisites: Rufus (download from here ) PythOS ISO (download from the releases page ) A USB (at least 200MB) Steps: Plug in your USB and run Rufus you have just downloaded Select your USB device in the “Device” dropdown menu In the “Boot selection” dropdown, select “Disk or ISO image (Please select)” Select PythOS ISO file Click START Select DD mode as the flash mode instead of ISO mode (ISO mode will NOT work) and click OK Wait for it to flash Reboot your computer after flashing and enter UEFI boot menu Select the USB flash drive Select PythOS Phoenix ENJOY! NOTE: If your computer uses legacy BIOS instead of UEFI, I’m sorry… I’ll be adding BIOS support very soon tho :) Other architecture builds of the OS will be released very soon. The current supported arch is x86_64 (64-bit) P.S. You might be wondering if you’ll need to type in “.py” for running my scripts in bin, you don’t. Simply type in the command without .py, it’ll be good to go. Of course you CAN type in .py if you want, but it would basically be your choice mate
In this 11 hours (shows 10 hours because of the limit of devlogs), I’ve worked on framebuffering with PyGame, it was kinda painful trying to learn writing GUI in a completely different language, but it’s kinda worth it and enjoyable :) Also the theme of the GUI is based on Windows 98
In this 6 hours’ work, I’ve added a handle to the windows for the user to drag them. Various APIs were also added, such as buttons, text and images. There is one more useful feature: window focusing. When multiple windows are added, you can focus on them by clicking on them just like normal OSes.
Alright. So in the past 8 hours, I’ve been working on the KMSDRM rendering for PythOS’ desktop. Since all apps will be called via standard execve, functions inside cannot be called directly from the main server. That’s where IPC comes in. Like GNOME, it pygui acts as a server that handles the custom made apps that contains the GUI APIs, and performs a communication back and forth to render the apps. The process is NOT easy, and got my brain frying.
Ships:
This is a Linux distro written almost completely in Python!! What’s special about it, is that the whole Linux distro is compiled and assembled by me!! Compared to previous versions in the previous repo, those all relied on other Linux distro shells. But this time, the shell and other programs in /bin is written in Python. How it works: Boots grub bootloader Boots Linux kernel Loads init script Loads init.py from sbin/ Tries to load pysh.py from bin/ -> If fails or user exits pyshell, it falls back to init.py as a logon menu (written with ncurses) This is a protection mechanism that prevents kernel panic (which needs us to force reboot the PC) I’m really proud that my OS worked, and has always been my dream creating an up and running OS!!...
|
1793109261.4008055
|
1793195661.4008055
|
|
45265
|
(TVC) Rocket by @advay_chatriki | Stardance
|
advay_chatriki
|
0
|
42.4
|
0
|
[]
|
[{"post_id": 80261, "ts": "202 [{"post_id": 80261, "ts": "2026-10-16T23:57:27Z", "hours": 5.9467, "text": "Created footprints for each part, got started routing"}, {"post_id": 78935, "ts": "2026-10-12T02:51:08Z", "hours": 1.5669, "text": "Made some tweaks to the TVC and make the mount to fit ID of the body and maybe this week we will have everything done with the electronics and hardware and will start to order parts!!! And also I have not been made a devlog in sometime because school is lowk cooked but will keep it updated and hopefully have a ROCKETTTTTT bueeee."}, {"post_id": 78877, "ts": "2026-10-11T20:57:30Z", "hours": 0.3333, "text": "Added the power from the schematic onto the PCB CAD"}, {"post_id": 73789, "ts": "2026-09-26T00:16:49Z", "hours": 2.5344, "text": "Today I worked on fixing minor issues, as a comment on the last post said, and added the rod holes for the servo rods to sit in, and also made some small fixes to the schematic but I was more focused on TVC today."}, {"post_id": 73335, "ts": "2026-09-24T22:07:28Z", "hours": 2.2008, "text": "Finished V2 of the TVC with all of the errors fixed and it looks more fun tbh but I anyways I did optimize it for the new servos we are using and also fixed the pitch and yaw which were kind of goofy on the last one. But thankfully, this one has no errors and might start to print it in some time."}, {"post_id": 71978, "ts": "2026-09-21T21:48:22Z", "hours": 5.9264, "text": "Today, I rebuilt the TVC because the last TVC had major issues where the pitch and yaw were not moving correctly, so I redid the whole thing, where this is the bottom part of the TVC. Also fixed some errors on the eeschema including issues with polarity, footprints, component values, power reg, and logic, the continuation of this should ensure that the PCB routing process remains easy."}, {"post_id": 68882, "ts": "2026-09-15T23:02:14Z", "hours": 2.5525, "text": "Finished the schematic, learned a lot in the process, ESP32, MicroSD, ICM42688, BMP280, Power, GND, USBC, UART(conversion), Pyro Firing, and Servo circuits are complete, after a short review period will be ready for quick layout and manufacturer sendoff!"}, {"post_id": 67012, "ts": "2026-09-13T01:39:13Z", "hours": 1.2656, "text": "Made a compartment for the PCB to lay in"}, {"post_id": 66239, "ts": "2026-09-11T23:04:03Z", "hours": 3.4833, "text": "Made the fins, made some changes to the inner body, finished the servo power circuit, and started the SD logging circuit."}, {"post_id": 63918, "ts": "2026-09-07T23:23:32Z", "hours": 2.3406, "text": "Wsp guys had a break in the middle because school lowk started :( but I am back at it and today I made the body and Nosecone and assembled it on CAD and added it to the TVC as well"}, {"post_id": 53441, "ts": "2026-08-24T00:05:14Z", "hours": 3.1172, "text": "Started working on the wiring for the connections to the servos so they can actually do TVC work, chose 20kgcm servos for this, supplied by a 2S LiPo battery, also redid the layout on the schematic(which is close to being finished!)"}, {"post_id": 53337, "ts": "2026-08-23T20:29:46Z", "hours": 0.4667, "text": "Fully finished the TVC! and made some holes in it to save weight."}, {"post_id": 53309, "ts": "2026-08-23T19:38:35Z", "hours": 1.2194, "text": "I finished the Pyro Firing Channel(parachute ejection circuit) in the schematic, now for the servo connectors and GPS and the schematic is finished!"}, {"post_id": 50699, "ts": "2026-08-20T00:56:12Z", "hours": 1.5336, "text": "Today I simulated the rocket’s altitude, velocity, and acceleration curves. First, I used regression in Desmos in order to find a fitting polynomial curve for the thrust. After that, I factored in gravity and drag to make an ODE(Riccati differential equation) for the acceleration. Since Desmos is quite slow with numerical integration, I opted to create a python script instead and use matplotlib to graph all the curves, yielding this visual and a calculated apogee of 268.65 meters at 7.66 seconds!"}, {"post_id": 50617, "ts": "2026-08-19T20:56:15Z", "hours": 1.1667, "text": "Started to make the bottom of TVC"}, {"post_id": 48616, "ts": "2026-08-17T02:37:16Z", "hours": 1.6503, "text": "Started wiring the pyro channels for rocket parachute ejection"}, {"post_id": 47132, "ts": "2026-08-14T20:06:03Z", "hours": 1.1667, "text": "Finished CAD for first servo mount"}, {"post_id": 45995, "ts": "2026-08-12T20:43:36Z", "hours": 0.3667, "text": "Started to build the TVC mount for the rocket"}, {"post_id": 45199, "ts": "2026-08-11T14:58:33Z", "hours": 0.8667, "text": "Finished wiring the BMP280 as I2C"}, {"post_id": 44824, "ts": "2026-08-10T21:01:22Z", "hours": 0.6025, "text": "Added more stuff for the schematic(incomplete)"}, {"post_id": 44801, "ts": "2026-08-10T20:22:28Z", "hours": 0.9344, "text": "Fixed naming conventions on net labels and fixed a few wiring issues here and there."}, {"post_id": 42971, "ts": "2026-08-07T23:34:22Z", "hours": 1.1556, "text": "Cleaned up the wiring on my (incomplete) schematic for the PCB which will house the flight computer and sensors"}]...
|
Title: (TVC) Rocket by @advay_chatriki | Stardance Title: (TVC) Rocket by @advay_chatriki | Stardance
Devlogs:
Cleaned up the wiring on my (incomplete) schematic for the PCB which will house the flight computer and sensors
Fixed naming conventions on net labels and fixed a few wiring issues here and there.
Added more stuff for the schematic(incomplete)
Finished wiring the BMP280 as I2C
Started to build the TVC mount for the rocket
Finished CAD for first servo mount
Started wiring the pyro channels for rocket parachute ejection
Started to make the bottom of TVC
Today I simulated the rocket’s altitude, velocity, and acceleration curves. First, I used regression in Desmos in order to find a fitting polynomial curve for the thrust. After that, I factored in gravity and drag to make an ODE(Riccati differential equation) for the acceleration. Since Desmos is quite slow with numerical integration, I opted to create a python script instead and use matplotlib to graph all the curves, yielding this visual and a calculated apogee of 268.65 meters at 7.66 seconds!
I finished the Pyro Firing Channel(parachute ejection circuit) in the schematic, now for the servo connectors and GPS and the schematic is finished!
Fully finished the TVC! and made some holes in it to save weight.
Started working on the wiring for the connections to the servos so they can actually do TVC work, chose 20kgcm servos for this, supplied by a 2S LiPo battery, also redid the layout on the schematic(which is close to being finished!)
Wsp guys had a break in the middle because school lowk started :( but I am back at it and today I made the body and Nosecone and assembled it on CAD and added it to the TVC as well
Made the fins, made some changes to the inner body, finished the servo power circuit, and started the SD logging circuit.
Made a compartment for the PCB to lay in
Finished the schematic, learned a lot in the process, ESP32, MicroSD, ICM42688, BMP280, Power, GND, USBC, UART(conversion), Pyro Firing, and Servo circuits are complete, after a short review period will be ready for quick layout and manufacturer sendoff!
Today, I rebuilt the TVC because the last TVC had major issues where the pitch and yaw were not moving correctly, so I redid the whole thing, where this is the bottom part of the TVC. Also fixed some errors on the eeschema including issues with polarity, footprints, component values, power reg, and logic, the continuation of this should ensure that the PCB routing process remains easy.
Finished V2 of the TVC with all of the errors fixed and it looks more fun tbh but I anyways I did optimize it for the new servos we are using and also fixed the pitch and yaw which were kind of goofy on the last one. But thankfully, this one has no errors and might start to print it in some time.
Today I worked on fixing minor issues, as a comment on the last post said, and added the rod holes for the servo rods to sit in, and also made some small fixes to the schematic but I was more focused on TVC today.
Added the power from the schematic onto the PCB CAD
Made some tweaks to the TVC and make the mount to fit ID of the body and maybe this week we will have everything done with the electronics and hardware and will start to order parts!!! And also I have not been made a devlog in sometime because school is lowk cooked but will keep it updated and hopefully have a ROCKETTTTTT bueeee.
Created footprints for each part, got started routing...
|
1792619331.0495994
|
1793224131.0495994
|
|
16
|
DeepPly by @DarshJ | Stardance
|
DarshJ
|
1
|
42.39
|
732
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T08:40:40Z", "hours": 40.0, "multiplier": 18.5, "payout": 732, "blessing": "neutral", "text": "This is the first ship of a student chess training platform I’m making based on the problems I faced myself as a FIDE rated chess player. I had been working on this before but the code was kinda too messy, so through this ship I made the codebase cleaner, more robust, removed excess architecture like the stockfish worker part. I didn’t expect it to take this long but ig its finally done.", "repo": "https://github.com/someonewhoexists1210/DeepPly", "demo": "https://www.deepply.com/"}]...
|
[{"post_id": 49136, "ts": "202 [{"post_id": 49136, "ts": "2026-08-17T19:27:33Z", "hours": 2.3886, "text": "Updated the UI Before the ui was made by ai cuz I kinda hated frontend coding, but I thought this should be more human so I changed the ui. Didn’t take a whole lot of time cuz I preplanned the new coloring n all and what changes I wanna make"}, {"post_id": 47993, "ts": "2026-08-16T08:36:11Z", "hours": 0.6872, "text": "nvrm this is the last one um I was testing it one more time as a sanity check with a new game and it flagged like all the moves, so I had to correct the mistake flagging logic so that it doesn’t highlight all moves only the ones which are not acceptable but still shows insights for ones which still deviate from the plan. 15-20 mins were spent debugging why the page randomly gave an error when all I forgot was a single ?. fml"}, {"post_id": 47927, "ts": "2026-08-16T06:11:32Z", "hours": 0.8997, "text": "DONEEE Ok so I’m finally done with this project, or at least a milestone. The last problems I was having was that first it said that a specific directory didn’t exist even though it clearly did (the result was cached so thats why it showed that error), and second, position data wasn’t being fed into the llm (the score was changing based on side to move so they weren’t flagged and therefore left out). Now I can finally ship thiss!!"}, {"post_id": 47682, "ts": "2026-08-15T19:16:51Z", "hours": 9.7733, "text": "Second Last Devloggg Ok so deploying took way longer than expected cuz first the docker setup was not that good. Then the problem was that I needed to make scripts for setting up the codebase on the new vps n all, so that took a hugeeee chunk of my time. Then as we all know, theres no way it would work the first time. First, my caddy and django static files setup made my life hell, but somehow I got it fixed idek how atp I think it was some problem with my Caddy config. Next the persist api code, apparently I completely forgot abt integrating syzygy into it. But then I ran into 403 errors downloading the tablebase files from the directories so I solved that too. Now that is running all good but there is one last error im getting and im close to 10h on the devlog here so imma solve that next and we will be good to go!"}, {"post_id": 37614, "ts": "2026-07-30T14:04:27Z", "hours": 8.4825, "text": "Integrated all 3 servers Ok so umm long devlog, but I finally got the full thing working. Wasnt supposed to take so long, but I ran into so many bugs and errors that it took me 8 FRICKiNG HOURS to track and resolve. Also I added docker support to my codebase to make my life easier so thats a plus ig. Now I just have to deploy"}, {"post_id": 32278, "ts": "2026-07-21T10:48:52Z", "hours": 2.5125, "text": "PersistApi Since the stockfish wasm was too slow, i made an api to store all the positions analyzed like i had before with the stockfish worker. I decided to use ai for this cuz i alr made it before and kinda needed to complete this fast"}, {"post_id": 25681, "ts": "2026-07-10T03:10:32Z", "hours": 5.6594, "text": "Added stockfish wasm on frontend Connected stockfish to the frontend and can now send all eval data to the backend. idk why it took me so long i was kinda distracted half the time lmao. Oh wait, I had to make some fixes in the backend and frontend cuz it had so many bugs because I forgot to actually run the backend to test. Prob because I thought it was too much hassle to migrate everything n all"}, {"post_id": 22674, "ts": "2026-07-05T07:08:50Z", "hours": 3.6478, "text": "Removal of stockfish server In this session I removed one of the most expensive parts of running DeepPly, which was the stockfish server. Initially, I had batched all stockfish analyses to a cloud server with multiple stockfish instances. To reduce analysis time, I used a persistent position db to store all previously analyzed positions and I had to use a at least 4 cpu core server. Now, the stockfish analysis can be done on the users computer directly, which is how top sites like chess.com and lichess do it. Im done with the django side of it, and will do the client side next session. Also I added django-environ for robust environment variable handling, started using logging library in 2 files as well."}, {"post_id": 17731, "ts": "2026-06-28T17:22:01Z", "hours": 3.5381, "text": "More cleanup I think im gonna have to do this for a while. Today I cleaned up the lichess import code, to make it less error prone. Rn the main issue was that I wasnt using .get, so it would throw errors if key wasnt found, now it handles much better. Although a lot of time was spent on changing the game model as I wanted more info and better indexing n all. I think next session will be more cleanup and making the code look actually production level before I move on with the ui changes"}, {"post_id": 16130, "ts": "2026-06-26T07:03:26Z", "hours": 4.3664, "text": "Cleaning up task management code When I shipped during flavortown, the code for handling and executing analysis was kinda messy, so I streamlined it to highlight the task status n all using only my model instead of celery’s task result, and made the updating part more robust and removed any potential race conditions"}]...
|
Title: DeepPly by @DarshJ | Stardance
Devlogs:
Cl Title: DeepPly by @DarshJ | Stardance
Devlogs:
Cleaning up task management code When I shipped during flavortown, the code for handling and executing analysis was kinda messy, so I streamlined it to highlight the task status n all using only my model instead of celery’s task result, and made the updating part more robust and removed any potential race conditions
More cleanup I think im gonna have to do this for a while. Today I cleaned up the lichess import code, to make it less error prone. Rn the main issue was that I wasnt using .get, so it would throw errors if key wasnt found, now it handles much better. Although a lot of time was spent on changing the game model as I wanted more info and better indexing n all. I think next session will be more cleanup and making the code look actually production level before I move on with the ui changes
Removal of stockfish server In this session I removed one of the most expensive parts of running DeepPly, which was the stockfish server. Initially, I had batched all stockfish analyses to a cloud server with multiple stockfish instances. To reduce analysis time, I used a persistent position db to store all previously analyzed positions and I had to use a at least 4 cpu core server. Now, the stockfish analysis can be done on the users computer directly, which is how top sites like chess.com and lichess do it. Im done with the django side of it, and will do the client side next session. Also I added django-environ for robust environment variable handling, started using logging library in 2 files as well.
Added stockfish wasm on frontend Connected stockfish to the frontend and can now send all eval data to the backend. idk why it took me so long i was kinda distracted half the time lmao. Oh wait, I had to make some fixes in the backend and frontend cuz it had so many bugs because I forgot to actually run the backend to test. Prob because I thought it was too much hassle to migrate everything n all
PersistApi Since the stockfish wasm was too slow, i made an api to store all the positions analyzed like i had before with the stockfish worker. I decided to use ai for this cuz i alr made it before and kinda needed to complete this fast
Integrated all 3 servers Ok so umm long devlog, but I finally got the full thing working. Wasnt supposed to take so long, but I ran into so many bugs and errors that it took me 8 FRICKiNG HOURS to track and resolve. Also I added docker support to my codebase to make my life easier so thats a plus ig. Now I just have to deploy
Second Last Devloggg Ok so deploying took way longer than expected cuz first the docker setup was not that good. Then the problem was that I needed to make scripts for setting up the codebase on the new vps n all, so that took a hugeeee chunk of my time. Then as we all know, theres no way it would work the first time. First, my caddy and django static files setup made my life hell, but somehow I got it fixed idek how atp I think it was some problem with my Caddy config. Next the persist api code, apparently I completely forgot abt integrating syzygy into it. But then I ran into 403 errors downloading the tablebase files from the directories so I solved that too. Now that is running all good but there is one last error im getting and im close to 10h on the devlog here so imma solve that next and we will be good to go!
DONEEE Ok so I’m finally done with this project, or at least a milestone. The last problems I was having was that first it said that a specific directory didn’t exist even though it clearly did (the result was cached so thats why it showed that error), and second, position data wasn’t being fed into the llm (the score was changing based on side to move so they weren’t flagged and therefore left out). Now I can finally ship thiss!!
nvrm this is the last one um I was testing it one more time as a sanity check with a new game and it flagged like all the moves, so I had to correct the mistake flagging logic so that it doesn’t highlight all moves only the ones which are not acceptable but still shows insights for ones which still deviate from the plan. 15-20 mins were spent debugging why the page randomly gave an error when all I forgot was a single ?. fml
Updated the UI Before the ui was made by ai cuz I kinda hated frontend coding, but I thought this should be more human so I changed the ui. Didn’t take a whole lot of time cuz I preplanned the new coloring n all and what changes I wanna make
Ships:
This is the first ship of a student chess training platform I’m making based on the problems I faced myself as a FIDE rated chess player. I had been working on this before but the code was kinda too messy, so through this ship I made the codebase cleaner, more robust, removed excess architecture like the stockfish worker part. I didn’t expect it to take this long but ig its finally done....
|
1793134437.1599357
|
1793220837.1599357
|
|
5836
|
zWork Browser Control by @zemu | Stardance
|
zemu
|
1
|
42.25
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T14:43:46Z", "hours": 24.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made zWork Everything was challenging, mainly harness engineering. The browser feature was relatively straightforward. I’m proud of the extensiveness or comprehensiveness of this project, and the scale at which it worked. To fully test my app, you should probably install the app, as well as the extension. There is a limited web demo at app.tryzwork.app which doesnt really have any features. More info is available in the readmes.", "repo": "https://github.com/Ryz3nPlayZ/zbctl", "demo": "https://github.com/Ryz3nPlayZ/zWork/releases"}]...
|
[{"post_id": 77432, "ts": "202 [{"post_id": 77432, "ts": "2026-10-06T23:48:07Z", "hours": 15.72, "text": "any click that changed DOM used to take about 3s now it takes about 200ms. I also added back the extension GUI because sometimes its confusing without it. also to save tokens from agent context windows, content.js no longer creates a brand new fat snapshot of the entire page."}, {"post_id": 52033, "ts": "2026-08-22T02:13:23Z", "hours": 2.5278, "text": "updated readme because i needed to"}, {"post_id": 33339, "ts": "2026-07-23T05:02:08Z", "hours": 5.2228, "text": "I benchmarked zWork (desktop ai agent made by me) using zbctl (extension) to test its new browser use abilities. ive used the prompt in the picture below. the model answered all but one correct. the google form used to “benchmark” the model was: https://docs.google.com/forms/d/e/1FAIpQLSfHyJDMoOuDENsrrTmFsGtoDfe-9RRhlB2SDkKgYQlAAXOvhg/viewform the form included a variety of answer types, including radio and dropdowns. this is by no means a final polished product, but is certainly a good proof of concept. I will continue working on zWork and improve the harness to also improve the models tool calling and accuracy. Thanks guys"}, {"post_id": 17862, "ts": "2026-06-28T20:02:34Z", "hours": 12.9517, "text": "i tested zbctl using zWork (the agent im working on) as well as using claude code. initially there wasnt an endpoint for claude code, but claude code made one by itself. to make things fair, both harnesses were wired up to use deepseek-v4-pro as the model, and after testing the same prompt and same task, claude code basically won. my harness zWork needs a lot of work, but thats a bit besides the point. The zbctl bridge extension works."}, {"post_id": 5930, "ts": "2026-06-09T22:11:43Z", "hours": 2.2767, "text": "i made a desktop agent (still in development) now im making a browser extension to let it attach onto browser sessions that users are already signed in on. Cool stuff: Push-based DOM snapshots (MutationObserver auto-detects page changes) Stable element IDs via WeakMap (same element always has same ID) Works with Gmail, Google Forms, real sessions Tab management: switch, open, close specific tabs File upload/download support Technical stuff: Python FastAPI daemon (port 8788) Manifest V3 Chrome extension Content script walks DOM → structured JSON 200ms debounce for settle detection, 3s hard cap Biggest limitation: Cross-origin iframes blocked by browser security. Can’t interact with YouTube embeds, payment forms, etc. But handles ~80% of normal browsing fine. right now it does work"}, {"post_id": 2549, "ts": "2026-06-05T02:52:17Z", "hours": 3.9786, "text": "magic"}]...
|
Title: zWork Browser Control by @zemu | Stardance
Title: zWork Browser Control by @zemu | Stardance
Devlogs:
magic
i made a desktop agent (still in development) now im making a browser extension to let it attach onto browser sessions that users are already signed in on. Cool stuff: Push-based DOM snapshots (MutationObserver auto-detects page changes) Stable element IDs via WeakMap (same element always has same ID) Works with Gmail, Google Forms, real sessions Tab management: switch, open, close specific tabs File upload/download support Technical stuff: Python FastAPI daemon (port 8788) Manifest V3 Chrome extension Content script walks DOM → structured JSON 200ms debounce for settle detection, 3s hard cap Biggest limitation: Cross-origin iframes blocked by browser security. Can’t interact with YouTube embeds, payment forms, etc. But handles ~80% of normal browsing fine. right now it does work
i tested zbctl using zWork (the agent im working on) as well as using claude code. initially there wasnt an endpoint for claude code, but claude code made one by itself. to make things fair, both harnesses were wired up to use deepseek-v4-pro as the model, and after testing the same prompt and same task, claude code basically won. my harness zWork needs a lot of work, but thats a bit besides the point. The zbctl bridge extension works.
I benchmarked zWork (desktop ai agent made by me) using zbctl (extension) to test its new browser use abilities. ive used the prompt in the picture below. the model answered all but one correct. the google form used to “benchmark” the model was: https://docs.google.com/forms/d/e/1FAIpQLSfHyJDMoOuDENsrrTmFsGtoDfe-9RRhlB2SDkKgYQlAAXOvhg/viewform the form included a variety of answer types, including radio and dropdowns. this is by no means a final polished product, but is certainly a good proof of concept. I will continue working on zWork and improve the harness to also improve the models tool calling and accuracy. Thanks guys
updated readme because i needed to
any click that changed DOM used to take about 3s now it takes about 200ms. I also added back the extension GUI because sometimes its confusing without it. also to save tokens from agent context windows, content.js no longer creates a brand new fat snapshot of the entire page.
Ships:
I made zWork Everything was challenging, mainly harness engineering. The browser feature was relatively straightforward. I’m proud of the extensiveness or comprehensiveness of this project, and the scale at which it worked. To fully test my app, you should probably install the app, as well as the extension. There is a limited web demo at app.tryzwork.app which doesnt really have any features. More info is available in the readmes....
|
1793087323.2827308
|
1793173723.2827308
|
|
3202
|
Use of Predicted Onshore Winds to Increase Autonom Use of Predicted Onshore Winds to Increase Autonomous Water Quality Drone Battery Efficiency in Barnegat Bay by @Krupam | Stardance...
|
Krupam
|
0
|
42.24
|
0
|
[]
|
[{"post_id": 42354, "ts": "202 [{"post_id": 42354, "ts": "2026-08-07T01:09:07Z", "hours": 10.7703, "text": "PARTS!!! and coding…AND ASSEMBLY!!! Oh Oh Boy have I had a lot of fun haha. Overall I started assembling my parts, more unboxing, but I also started testing individual components with the picos. I took the code I had created already and modified it in seperate files to only test one sensor at a time. I have had a jolly good time. I did most of my work over laspe so take a look! My Lapse Account Soldering I was unable to get this on camera but I did most of y soldering for the MicroSD card. It was my first time but fairly simple, I just connected a few Dupont connectors into the holes in the board (for lack of a more technical term). I still have more soldering to do but I will try to get it on camera next time! Pico Troubles I have never used a microcontroller before so this was a crazy thing to try and learn. I spent a lot of time trying to mess around with libraries and find them on the internet. Battery Drivers The UPS that I have for the Pico has drivers and a program along it to collect battery info…but it only works on actual linux. It connects through I2C however, so I just reverse engineered it for the pico! I am still working on it however. (I also spent like 2 hours trying to figure out my own diagram and plug the MicroSD card board in…)"}, {"post_id": 29231, "ts": "2026-07-16T00:36:06Z", "hours": 3.0167, "text": "PARTS!!! Hey guys! Long time no see. I have been waiting on parts but I finally got them! (All but the LoRa Radio but it is on it’s way. Parts I got: Raspberry Pi Pico 2x 18650 3200 mAh batteries (Have to send these back cause they sent the wrong type 😭) NEO-6M GPS Module DS18B20 Temperature Sensor 4.33” x 2.36” 5V 200mA Solar Panels x4 Waveshare DS3231 RTC Pico UPS (Uninterruptible Power Supply) DC5521 Male cable Solar Panel Charging Module TP4056 Micro USB to USB -C1N5819 Schottky Diodes -MicroSD Card Module MicroSd Card x2 I am missing the Waveshare SX1262 LoRa Node Module. I can start building everything else in the meantime and start testing out code. If you guys would like links to my parts, either leave a comment or wait until I update the github. Here are some photos, I was too busy being excited and taking inventory to get any 😅."}, {"post_id": 20366, "ts": "2026-07-01T23:06:05Z", "hours": 7.4953, "text": "Weather Underground Scraper Hola! I swear I’m not going insane… What is this? Weather Underground is a place to get very local and high detailed weather data. It is a network of 250,000+ personal weather stations (PWS) used to map weather world wide. In my previous project, I used weather underground stations in my local area of Barnegat Bay. Most of them actually came from the non-proffit Save Barnegat Bay’s Mesonet of stations. Huge shoutout to them and Dr. Michael Folmer, “a dedicated meteorologist and forecaster for the NWS Ocean Prediction Center, Weather Prediction Center, Tropical Analysis, and the Forecast Branch of the National Hurricane Center.” This year I will continue using data from their mesonet Soooo why are you scraping It is a bit of a sore topic for me, but Weather Underground discontinued their public API a few years back. This led me to collecting EVERY. SINGLE. DATA POINT by hand. I typed them all up in a spread sheet. All 40,000+ of them. Lovely. This year I do not plan on wasting that much time and instead I created a webscraper using the beautifulsoup and requests libraries (as well as some others) Features? Uses a config file for the list of weather station ids, API key for the PostgreSQL website, and error catching variables Scans HTML of the weather stations and picks out the data (for all variables not just what I need. This makes it so you can use it as well) Converts all imperial measurements into metric timestamps in UTC for the API to then turn back into ETC Send it to the API Future: This scraper will run every hour to collect the data from the weather stations. Scraping will begin once the buoy has started collecting data as well. PostgreSQL Update: Added another SQL table for the Weather Underground data Added functions for it Links: As much as clowned on Weather Underground, they are a great place to get weather data: https://www.wunderground.com/ Link to the scraper repo:"}, {"post_id": 19313, "ts": "2026-06-30T16:15:09Z", "hours": 5.3267, "text": "PostgreSQL API Backend for Buoy Hey guys! Let me tell you what I have been up to: PostgreSQL: PostgreSQL is an back-end database that will hold the data collected from the buoy. In the future it will also hold data collected from local Weather Underground weather stations using web scraping. API Backend: A FastAPI back-end was coded in python (running in my home lab) to use a PostgreSQL server running on a separate Raspberry Pi 5. My homelab may or may not be at 95% storage used ;-; Functions Ability to use HTTP commands (most) to send, delete, and view data. Communication with the PostgreSQL database Use of a “api-key” to only allow the buoy to POST data"}, {"post_id": 17827, "ts": "2026-06-28T19:16:47Z", "hours": 1.8083, "text": "Back-end for Buoy API Today I started working on the FastAPI backend for the buoy to send data using HTTP POST…FastAPI doesn’t really like me that much. It took a while lmao."}, {"post_id": 17017, "ts": "2026-06-27T16:57:51Z", "hours": 1.8014, "text": "Buoy! Plan This buoy will be built with: Raspberry Pi Pico 2x 18650 3200 mAh batteries NEO-6M GPS Module DS18B20 Temperature Sensor 4.33” x 2.36” 5V 200mA Solar Panels x4 Waveshare SX1262 LoRa Node Module x2 Waveshare DS3231 RTC Pico UPS (Uninterruptible Power Supply) DC5521 Male cable Solar Panel Charging Module TP4056 Micro USB to USB-C 1N5819 Schottky Diodes MicroSD Card Module MicroSd Card x2 Function: The buoy will be anchored right next to a marina where every hour, it will colect the water temperature (among other parameters), record the data to a local SD card, and send the data over LoRa to the reveiver pico at the marina to send the data over WiFI to a API on my homelab server. The website to predict wind speed will pull the latest weather points from weather stations nearby as well as these buoy points to predict the wind speed based on the approach choosen (which model) Buoy Hardware Plan Every hour, the Pico is reset by the real-time clock module (RTC) to restart the program. Upon restart, the program will set the next wake-up alarm and note the data collection number. Water temperature, GPS data, buoy temperature, sequence, (data collection number), and battery voltage will be collected. The data is then saved to an onboard MicroSD card before being sent by LoRa radio at 915 MHz (North America Standard) The buoy will be put in a plastic mooring buoy. All electronics will be in an IP68 (or greater) rated box with epoxied holes for wires inside of the buoy. The top of the buoy will be sliced at the seam with a 3D printed replacement (Brightly colored) that is flat and has slots on the inside for the solar panels to attach. A LoRa antenna will come out the top. It is epoxied close with a designed opening latch using gaskets on the top to provide access in case of emergency. Water Temperature Probe will come out of a drilled hole in the bottom of the buoy and be epoxied close. Local Township Dive Team Logo will be put on the buoy to deter anyone from interacting with it. Code status: Most of the buoy and receiver code is coded, however it is untested as parts haven’t arrived yet. Parts? (WHEN): I am still waiting on parts ;-; Once I receive them I will be able to assemble the parts and start testing my code. Then, I will 3D design a top case to go on top of the buoy"}, {"post_id": 9617, "ts": "2026-06-16T00:43:43Z", "hours": 4.875, "text": "Hi! Time to do a proper introduction: Sorry I do not enjoy logging a lot, in fact thats why my github readme’s are done last and take weeks haha! But seriously. What is this long title all about? Well my name is Krupam and this is my passion. Wind. Specially Onshore winds. Onshore winds are also known as a “sea breeze”. They are winds that come from the ocean to the land. Caused by a temperature gradient by the land and the sea. Land heats up a lot faster than water, further increasing this gradient, leading to more onshore winds. They pose a dangerous threat to small watercrafts especially on the bay (lagoonal estuary) where I live. They provide a threat to boaters, tourists, passengers, or any one on the water. In fact, local boaters have become so attuned to their dangers, that they will intentionally go out of their way to avoid them. However, these winds are almost impossible to predict. Big weather forecasts, such as the National Weather Service (NWS) and National Oceanic and Atmospheric Administration (NOAA) can’t predict these winds on a local small level. Thus I set out on a mission to predict these winds myself using machine learning, mathematical models, and gathering my own data using local weather stations, buoys, and local boaters. Last year I was able to get accuracy down to 0.5 mph for wind speeds, ~1.0 mph for gusts, around 26° off for wind direction, and ~13% off for if it is an onshore wind or not. This project is running at https://wind.krupamlab.com on my homelab. You can take a look at the old project at https://github.com/Krupamc/Research-2026-LSTM . The project also has python as well as a .exe version available through the releases tab on GitHub. This project: Now that’s a lot to take in, but I’m going to make it so much worse haha! Now these systems are cool and all, but they could get so much more accurate. I want month by month representation for the entire year; not just the summer months. A huge part of science, especially data science, is that data has to be available throughout the entire year. I have personal experience with this. One of the buoys I was using to collect data; switched off without any indication. This really limited my project and I will be fixing this problem head one. I want to have predictions that are accurate for the safety of these boaters. But to make it more interesting this year, I will be using several machine learning (like LSTM), mathematical models (like Linear Regression, wind formulas, probalisitc models (e.g. 80% of winds above 10 mph), as well as compare against the NWS models. Then depending on which one of these approaches is most energy efficient and accurate, I will expand that approach to cover other weather parameters and be used as a input for a AI model to determine where a water drone should go in my bay to increase battery efficiency. Now what the hell is this drone I can hear you ask? Well I am cooperating with a local underwater search and rescue team that is creating a water drone that will go on the bay and collect water and weather quality parameters. This drone will be autonomous and creating this model will allow it to increase power efficiently. My Buoy Buddy - MBB Last year, one of the public buoys I depended on suddenly went offline and wiped out a huge chunk of my training data. It made my realize that having control to reliable data is crucial. Many organizations collect this data but do not share. If I really wanted to protect boaters out on the bay, I would need a way to procure my own data. That’s why I am building the MBB or the My Buoy Buddy. MBB is a small, low-power buoy that floats in the bay and logs, water temperature and more! This data is sent to my homelab to predict. I want to sell this pre-made buoy to wind-based boaters (even nationaly!) together that will combine with my open-source program to create local predictions running on their own hardware."}, {"post_id": 3936, "ts": "2026-06-07T02:06:19Z", "hours": 4.9364, "text": "I have done a lot of work… Hi! My name is Krupam and this is the first post I will be making for this project. This is a documentation of my research project of using different type of prediction algorithms and approaches for Onshore winds on the coast. This is a continuation of my previous research project at https://github.com/Krupamc/Research-2026-LSTM . Throughout my time so far I have, coded a lot of stuff, spent a lot of time in the terminal, and cried a bit haha!"}, {"post_id": 480, "ts": "2026-06-01T22:52:28Z", "hours": 2.2089, "text": "Worked on the paper documentation"}]...
|
Title: Use of Predicted Onshore Winds to Increase Title: Use of Predicted Onshore Winds to Increase Autonomous Water Quality Drone Battery Efficiency in Barnegat Bay by @Krupam | Stardance
Devlogs:
Worked on the paper documentation
I have done a lot of work… Hi! My name is Krupam and this is the first post I will be making for this project. This is a documentation of my research project of using different type of prediction algorithms and approaches for Onshore winds on the coast. This is a continuation of my previous research project at https://github.com/Krupamc/Research-2026-LSTM . Throughout my time so far I have, coded a lot of stuff, spent a lot of time in the terminal, and cried a bit haha!
Hi! Time to do a proper introduction: Sorry I do not enjoy logging a lot, in fact thats why my github readme’s are done last and take weeks haha! But seriously. What is this long title all about? Well my name is Krupam and this is my passion. Wind. Specially Onshore winds. Onshore winds are also known as a “sea breeze”. They are winds that come from the ocean to the land. Caused by a temperature gradient by the land and the sea. Land heats up a lot faster than water, further increasing this gradient, leading to more onshore winds. They pose a dangerous threat to small watercrafts especially on the bay (lagoonal estuary) where I live. They provide a threat to boaters, tourists, passengers, or any one on the water. In fact, local boaters have become so attuned to their dangers, that they will intentionally go out of their way to avoid them. However, these winds are almost impossible to predict. Big weather forecasts, such as the National Weather Service (NWS) and National Oceanic and Atmospheric Administration (NOAA) can’t predict these winds on a local small level. Thus I set out on a mission to predict these winds myself using machine learning, mathematical models, and gathering my own data using local weather stations, buoys, and local boaters. Last year I was able to get accuracy down to 0.5 mph for wind speeds, ~1.0 mph for gusts, around 26° off for wind direction, and ~13% off for if it is an onshore wind or not. This project is running at https://wind.krupamlab.com on my homelab. You can take a look at the old project at https://github.com/Krupamc/Research-2026-LSTM . The project also has python as well as a .exe version available through the releases tab on GitHub. This project: Now that’s a lot to take in, but I’m going to make it so much worse haha! Now these systems are cool and all, but they could get so much more accurate. I want month by month representation for the entire year; not just the summer months. A huge part of science, especially data science, is that data has to be available throughout the entire year. I have personal experience with this. One of the buoys I was using to collect data; switched off without any indication. This really limited my project and I will be fixing this problem head one. I want to have predictions that are accurate for the safety of these boaters. But to make it more interesting this year, I will be using several machine learning (like LSTM), mathematical models (like Linear Regression, wind formulas, probalisitc models (e.g. 80% of winds above 10 mph), as well as compare against the NWS models. Then depending on which one of these approaches is most energy efficient and accurate, I will expand that approach to cover other weather parameters and be used as a input for a AI model to determine where a water drone should go in my bay to increase battery efficiency. Now what the hell is this drone I can hear you ask? Well I am cooperating with a local underwater search and rescue team that is creating a water drone that will go on the bay and collect water and weather quality parameters. This drone will be autonomous and creating this model will allow it to increase power efficiently. My Buoy Buddy - MBB Last year, one of the public buoys I depended on suddenly went offline and wiped out a huge chunk of my training data. It made my realize that having control to reliable data is crucial. Many organizations collect this data but do not share. If I really wanted to protect boaters out on the bay, I would need a way to procure my own data. That’s why I am building the MBB or the My Buoy Buddy. MBB is a small, low-power buoy that floats in the bay and logs, water temperature and more! This data is sent to my homelab to predict. I want to sell this pre-made buoy to wind-based boaters (even nationaly!) together that will combine with my open-source program to create local predictions running on their own hardware.
Buoy! Plan This buoy will be built with: Raspberry Pi Pico 2x 18650 3200 mAh batteries NEO-6M GPS Module DS18B20 Temperature Sensor 4.33” x 2.36” 5V 200mA Solar Panels x4 Waveshare SX1262 LoRa Node Module x2 Waveshare DS3231 RTC Pico UPS (Uninterruptible Power Supply) DC5521 Male cable Solar Panel Charging Module TP4056 Micro USB to USB-C 1N5819 Schottky Diodes MicroSD Card Module MicroSd Card x2 Function: The buoy will be anchored right next to a marina where every hour, it will colect the water temperature (among other parameters), record the data to a local SD card, and send the data over LoRa to the reveiver pico at the marina to send the data over WiFI to a API on my homelab server. The website to predict wind speed will pull the latest weather points from weather stations nearby as well as these buoy points to predict the wind speed based on the approach choosen (which model) Buoy Hardware Plan Every hour, the Pico is reset by the real-time clock module (RTC) to restart the program. Upon restart, the program will set the next wake-up alarm and note the data collection number. Water temperature, GPS data, buoy temperature, sequence, (data collection number), and battery voltage will be collected. The data is then saved to an onboard MicroSD card before being sent by LoRa radio at 915 MHz (North America Standard) The buoy will be put in a plastic mooring buoy. All electronics will be in an IP68 (or greater) rated box with epoxied holes for wires inside of the buoy. The top of the buoy will be sliced at the seam with a 3D printed replacement (Brightly colored) that is flat and has slots on the inside for the solar panels to attach. A LoRa antenna will come out the top. It is epoxied close with a designed opening latch using gaskets on the top to provide access in case of emergency. Water Temperature Probe will come out of a drilled hole in the bottom of the buoy and be epoxied close. Local Township Dive Team Logo will be put on the buoy to deter anyone from interacting with it. Code status: Most of the buoy and receiver code is coded, however it is untested as parts haven’t arrived yet. Parts? (WHEN): I am still waiting on parts ;-; Once I receive them I will be able to assemble the parts and start testing my code. Then, I will 3D design a top case to go on top of the buoy
Back-end for Buoy API Today I started working on the FastAPI backend for the buoy to send data using HTTP POST…FastAPI doesn’t really like me that much. It took a while lmao.
PostgreSQL API Backend for Buoy Hey guys! Let me tell you what I have been up to: PostgreSQL: PostgreSQL is an back-end database that will hold the data collected from the buoy. In the future it will also hold data collected from local Weather Underground weather stations using web scraping. API Backend: A FastAPI back-end was coded in python (running in my home lab) to use a PostgreSQL server running on a separate Raspberry Pi 5. My homelab may or may not be at 95% storage used ;-; Functions Ability to use HTTP commands (most) to send, delete, and view data. Communication with the PostgreSQL database Use of a “api-key” to only allow the buoy to POST data
Weather Underground Scraper Hola! I swear I’m not going insane… What is this? Weather Underground is a place to get very local and high detailed weather data. It is a network of 250,000+ personal weather stations (PWS) used to map weather world wide. In my previous project, I used weather underground stations in my local area of Barnegat Bay. Most of them actually came from the non-proffit Save Barnegat Bay’s Mesonet of stations. Huge shoutout to them and Dr. Michael Folmer, “a dedicated meteorologist and forecaster for the NWS Ocean Prediction Center, Weather Prediction Center, Tropical Analysis, and the Forecast Branch of the National Hurricane Center.” This year I will continue using data from their mesonet Soooo why are you scraping It is a bit of a sore topic for me, but Weather Underground discontinued their public API a few years back. This led me to collecting EVERY. SINGLE. DATA POINT by hand. I typed them all up in a spread sheet. All 40,000+ of them. Lovely. This year I do not plan on wasting that much time and instead I created a webscraper using the beautifulsoup and requests libraries (as well as some others) Features? Uses a config file for the list of weather station ids, API key for the PostgreSQL website, and error catching variables Scans HTML of the weather stations and picks out the data (for all variables not just what I need. This makes it so you can use it as well) Converts all imperial measurements into metric timestamps in UTC for the API to then turn back into ETC Send it to the API Future: This scraper will run every hour to collect the data from the weather stations. Scraping will begin once the buoy has started collecting data as well. PostgreSQL Update: Added another SQL table for the Weather Underground data Added functions for it Links: As much as clowned on Weather Underground, they are a great place to get weather data: https://www.wunderground.com/ Link to the scraper repo:
PARTS!!! Hey guys! Long time no see. I have been waiting on parts but I finally got them! (All but the LoRa Radio but it is on it’s way. Parts I got: Raspberry Pi Pico 2x 18650 3200 mAh batteries (Have to send these back cause they sent the wrong type 😭) NEO-6M GPS Module DS18B20 Temperature Sensor 4.33” x 2.36” 5V 200mA Solar Panels x4 Waveshare DS3231 RTC Pico UPS (Uninterruptible Power Supply) DC5521 Male cable Solar Panel Charging Module TP4056 Micro USB to USB -C1N5819 Schottky Diodes -MicroSD Card Module MicroSd Card x2 I am missing the Waveshare SX1262 LoRa Node Module. I can start building everything else in the meantime and start testing out code. If you guys would like links to my parts, either leave a comment or wait until I update the github. Here are some photos, I was too busy being excited and taking inventory to get any 😅.
PARTS!!! and coding…AND ASSEMBLY!!! Oh Oh Boy have I had a lot of fun haha. Overall I started assembling my parts, more unboxing, but I also started testing individual components with the picos. I took the code I had created already and modified it in seperate files to only test one sensor at a time. I have had a jolly good time. I did most of my work over laspe so take a look! My Lapse Account Soldering I was unable to get this on camera but I did most of y soldering for the MicroSD card. It was my first time but fairly simple, I just connected a few Dupont connectors into the holes in the board (for lack of a more technical term). I still have more soldering to do but I will try to get it on camera next time! Pico Troubles I have never used a microcontroller before so this was a crazy thing to try and learn. I spent a lot of time trying to mess around with libraries and find them on the internet. Battery Drivers The UPS that I have for the Pico has drivers and a program along it to collect battery info…but it only works on actual linux. It connects through I2C however, so I just reverse engineered it for the pico! I am still working on it however. (I also spent like 2 hours trying to figure out my own diagram and plug the MicroSD card board in…)...
|
1792749076.0251052
|
1793353876.0251052
|
|
67195
|
minesweeper by @flyingpig525 | Stardance
|
flyingpig525
|
0
|
42.22
|
0
|
[]
|
[{"post_id": 75792, "ts": "202 [{"post_id": 75792, "ts": "2026-10-01T04:53:23Z", "hours": 42.2156, "text": "I’ve already got a good bit of time logged on this project (that seems to be a habit of mine). This is a zig minesweeper clone with a couple features tacked onto it. If you’ve ever played creamsweeper on the DiamondFire minecraft server, this is basically that but a native application. Features infinite board different biomes that modify the rules of the game biomes are generated based on cellular noise a cool ui library that i spent too much time on mouse AND keyboard controls flag only mode"}]...
|
Title: minesweeper by @flyingpig525 | Stardance
D Title: minesweeper by @flyingpig525 | Stardance
Devlogs:
I’ve already got a good bit of time logged on this project (that seems to be a habit of mine). This is a zig minesweeper clone with a couple features tacked onto it. If you’ve ever played creamsweeper on the DiamondFire minecraft server, this is basically that but a native application. Features infinite board different biomes that modify the rules of the game biomes are generated based on cellular noise a cool ui library that i spent too much time on mouse AND keyboard controls flag only mode...
|
1793108888.377438
|
1793713688.377438
|
|
63792
|
PrepBS by @Labrez | Stardance
|
Labrez
|
1
|
42.09
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T07:38:40Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I am building a web app PrepBS, a dashboard to make a record of your study. If we take examples, if you are preparing for an Olympiad, while you are onboarding you can fill in the details regarding your exam, the date of the exams, your targeted study time, daily study time, and things more like that. When you fill that while onboarding, according to that data a specialized personalized dashboard has been created. You can use that dashboard as the main feature. The core feature of the dashboard is the focus sessions. In that there are three modes: Pomodoro, focus, and deep focus, and in each you have different timers. You can start your session and after that session is over, an automatic break timer is set up. After that is over you can start your session again and continue your preparation. It helps to manage your time and preparation and you can also see your records of how many study sessions you’ve had. If you select a targeted study time, like 3 hours, as the sessions are over, your target bar is also increasing. When you reach 3 hours you can see on the dashboard that your study target is completed. Add more cool features to my project and I’m proud of it. It is my first full-stack project and I deployed the frontend on Vercel and my backend on Render. Using Render is a new thing and I am also proud of it as it is the first time I have built and deployed my project. Very enthusiastic things happen to me.", "repo": "https://github.com/Labrez-2010/PrepBS", "demo": "https://prep-bs.vercel.app"}]...
|
[{"post_id": 81216, "ts": "202 [{"post_id": 81216, "ts": "2026-10-20T10:26:01Z", "hours": 3.7881, "text": "After a long time finally, my new theme is completed. I don’t know why I made the mistake in just a simple language, CSS. Even though I write the maximum code by myself, still for the responsiveness of the website I use ChatGPT. That’s the part I need to work on by myself. That project also helped me to know my skills and where I am lagging behind. now i only need to update Readme then i ready to ship….."}, {"post_id": 80450, "ts": "2026-10-17T17:37:52Z", "hours": 10.35, "text": "finally i completed my all pages now only dashboard is left that i do then newlook of PrepBS is ready"}, {"post_id": 79064, "ts": "2026-10-12T15:26:38Z", "hours": 8.4353, "text": "i successfully build my register ( create account) page and first page of onboarding ..in which i have a botton for lets starting ( basucally it is asking are you ready) and i feeling i am thinking about i taking too much time for writing css because i am slowly-slowly writes my css and i try to write faster for my upcoming pages …."}, {"post_id": 77043, "ts": "2026-10-05T13:57:09Z", "hours": 5.5206, "text": "Here is a new look of PrepBS. It gives a very nice vibe and also I changed the CSS code and I wrote it by myself. Then I observed one thing: my website is not responsive. What I did was I copied all the code and tried to set it to be responsive, the smallest one. i only said to ChatGPT than in code ChatGPT add limits are between my page load cards and all the components load, then my website is also built to be responsive. Now that’s the look of my login page."}, {"post_id": 76061, "ts": "2026-10-02T07:14:12Z", "hours": 0.6733, "text": "I’m ready my project for development. I changed the Some code Create .env and more….., and then I deployed my backend on Render and my frontend on the Vercel and I connected both of them. First time i deploying my project. I took help from ChatGPT to know how to implement the command. I need to run the command npm run build and do more thing then my web App go live on internet"}, {"post_id": 75960, "ts": "2026-10-01T18:56:57Z", "hours": 7.7631, "text": "i completed my MVP , i build complete my webapp in MERN stack and i am confuse abour whether i add more features or deploy i buided a complete AUTH aspect to my add connected to real time Database , build all pages and component , debug all needed Api and check their functionality …and more ……."}, {"post_id": 74927, "ts": "2026-09-28T16:38:11Z", "hours": 1.2411, "text": "Yahhh.. Today i complete my auth pages and System in which user can create profile and login if they already have a account . Next i do … work on onboarding page and dashboard ……."}, {"post_id": 74550, "ts": "2026-09-27T16:47:52Z", "hours": 3.8144, "text": "Today I completed my authentication system, in which I created the registration and login page i also created the frontend of Login Page, I need to connected the frontend to the backend through and APIs and then… I built 70% of the authentication system of my app."}, {"post_id": 70986, "ts": "2026-09-20T05:01:39Z", "hours": 0.4897, "text": "I am building PrepBS , A smart study management platform …. i spent some time a create a basic server …then i will start programming for my real WEBAPP"}]...
|
Title: PrepBS by @Labrez | Stardance
Devlogs:
I a Title: PrepBS by @Labrez | Stardance
Devlogs:
I am building PrepBS , A smart study management platform …. i spent some time a create a basic server …then i will start programming for my real WEBAPP
Today I completed my authentication system, in which I created the registration and login page i also created the frontend of Login Page, I need to connected the frontend to the backend through and APIs and then… I built 70% of the authentication system of my app.
Yahhh.. Today i complete my auth pages and System in which user can create profile and login if they already have a account . Next i do … work on onboarding page and dashboard …….
i completed my MVP , i build complete my webapp in MERN stack and i am confuse abour whether i add more features or deploy i buided a complete AUTH aspect to my add connected to real time Database , build all pages and component , debug all needed Api and check their functionality …and more …….
I’m ready my project for development. I changed the Some code Create .env and more….., and then I deployed my backend on Render and my frontend on the Vercel and I connected both of them. First time i deploying my project. I took help from ChatGPT to know how to implement the command. I need to run the command npm run build and do more thing then my web App go live on internet
Here is a new look of PrepBS. It gives a very nice vibe and also I changed the CSS code and I wrote it by myself. Then I observed one thing: my website is not responsive. What I did was I copied all the code and tried to set it to be responsive, the smallest one. i only said to ChatGPT than in code ChatGPT add limits are between my page load cards and all the components load, then my website is also built to be responsive. Now that’s the look of my login page.
i successfully build my register ( create account) page and first page of onboarding ..in which i have a botton for lets starting ( basucally it is asking are you ready) and i feeling i am thinking about i taking too much time for writing css because i am slowly-slowly writes my css and i try to write faster for my upcoming pages ….
finally i completed my all pages now only dashboard is left that i do then newlook of PrepBS is ready
After a long time finally, my new theme is completed. I don’t know why I made the mistake in just a simple language, CSS. Even though I write the maximum code by myself, still for the responsiveness of the website I use ChatGPT. That’s the part I need to work on by myself. That project also helped me to know my skills and where I am lagging behind. now i only need to update Readme then i ready to ship…..
Ships:
I am building a web app PrepBS, a dashboard to make a record of your study. If we take examples, if you are preparing for an Olympiad, while you are onboarding you can fill in the details regarding your exam, the date of the exams, your targeted study time, daily study time, and things more like that. When you fill that while onboarding, according to that data a specialized personalized dashboard has been created. You can use that dashboard as the main feature. The core feature of the dashboard is the focus sessions. In that there are three modes: Pomodoro, focus, and deep focus, and in each you have different timers. You can start your session and after that session is over, an automatic break timer is set up. After that is over you can start your session again and continue your preparation. It helps to manage your time and preparation and you can also see your records of how many study sessions you’ve had. If you select a targeted study time, like 3 hours, as the sessions are over, your target bar is also increasing. When you reach 3 hours you can see on the dashboard that your study target is completed. Add more cool features to my project and I’m proud of it. It is my first full-stack project and I deployed the frontend on Vercel and my backend on Render. Using Render is a new thing and I am also proud of it as it is the first time I have built and deployed my project. Very enthusiastic things happen to me....
|
1793213397.1585534
|
1793299797.1585534
|
|
42291
|
Rocket Prototype by @orin_gibson | Stardance
|
orin_gibson
|
0
|
42.08
|
0
|
[]
|
[{"post_id": 70224, "ts": "202 [{"post_id": 70224, "ts": "2026-09-18T18:58:02Z", "hours": 5.15, "text": "Rocket Prototype | Devlog 11 - The End? Far from it. I revised the entirety of the Rocket Nose Cone and realised a pressing issue: “you can’t access the inside of the nose cone.” Rookie mistake. On my third design, I decided to separate the nose cone into three components: the shoulder, the actual nose cone/ogive, and an avionics sled for the PCB components to be stored. (BTW the time recorded for this was ONLY for the sled that I finally finished today - the remaining components were me not being bothered to record [whoops]). The avionics sled SHOULD be printed out by tomorrow but lets see how that goes!"}, {"post_id": 53915, "ts": "2026-08-24T16:54:47Z", "hours": 1.55, "text": "Rocket Prototype | Devlog 10 - Shipment // FIN. GitHub is complete. Simulations are complete. Prototype model is done."}, {"post_id": 53571, "ts": "2026-08-24T05:06:36Z", "hours": 6.5, "text": "Rocket Prototype | Devlog 9 - Rocket Nose Finalisation and more GitHub Repo Editing! Today I spent hours of moiling away at SolidWorks: Learning how to add Fillets Creating a boss structure Building the nose cone module and the shock cord section that attaches to the eyebolt. This is likely going to be the last or second last dev log I upload as I am 90-95% complete now!"}, {"post_id": 52598, "ts": "2026-08-22T20:02:38Z", "hours": 5.9136, "text": "Rocket Prototype | Devlog 8 - Rocket Nose Cone Amendments and GitHub Repo Editing! I spent an ungodly amount of time scanning through my GitHub Repo, overhauling it and optimising it in preparation for shipping. There’s still a fair amount of work to do, but I got through a fair chunk of it. I also made an updated model for the Rocket Nose Cone. It’s far from complete as I need to discern the appropriateness of measurements when incorporating the shock cord module into the shoulder linked to the nose cone. I aim to finish a fair majority of this project tomorrow so stay tuned!"}, {"post_id": 51654, "ts": "2026-08-21T13:30:36Z", "hours": 9.0903, "text": "Rocket Prototype | Devlog 7 - PCB COMPLETION!!! Today has been nothing short of thrilling: I finished my PCB for the Orion Flight Computer for my Odyssey Rocket. I revised the schematics in KiCad, caught some errors and fixed the footprints before implementing the final touches (don’t go too hard on my design this is my first one). I learnt how to make the Nose Cone for my Rocket in SolidWorks! It’s a Von Karman Ogive that may be too optimised for subsonic travel, but we shall see…. My //README.md// and //journal.md// has been updated to reflect these changes. Now…what’s next? Code the C+ code (or whichever coding language) is required for the Orion Flight Computer. Assemble a Bill of Materials. Finish the project and finalise it for funding as my 19th birthday under 2 weeks away…."}, {"post_id": 48212, "ts": "2026-08-16T14:45:30Z", "hours": 4.4517, "text": "Rocket Prototype - Devlog 4 Today, I learnt the fundamentals of KiCad and was able to build my own schematic for the way I would like to structure the projects computer. It pretty much just features an Arduino, MPU6050, and BMP388.I have had zero experience in this field, so this was a challenging yet rewarding experience after I got it down pat! This is basic for now; I intend on adding a power source (for obvious reasons) and a MicroSD card reader for in-flight tracking.Stay tuned for when I make the PCB! (this is a reupload: I asked the Stardance developers to shift this post from one project to this one on Slack but due to a lack of response and not wanting to lose the hours I committed, I did this so that the hours would be here when it came to product shipment). Mods: Please refer to https://stardance.hackclub.com/projects/47535 for the associated session."}, {"post_id": 47954, "ts": "2026-08-16T06:58:22Z", "hours": 2.1642, "text": "Rocket Prototype | Devlog 6 Today, I just spent some time reconstructing the MPU6050 component as the Adafruit variation was different compared to the industry standard component (12 pins versus 6 pins). I updated the schematic to accommodate for these changes. As such, since I have finished the schematics and footprints for all of the components, I will shift my focus toward making the actual PCB for the Orion Flight Computer (I thought the name sounded cool). Looking forward to building it!"}, {"post_id": 46823, "ts": "2026-08-14T10:46:51Z", "hours": 3.5508, "text": "Rocket Prototype | Devlog 5 Today, I mastered the fundamentals of KiCad. I determined appropriate wiring as well as finalising schematics for the components. Tomorrow, I’ll have to redo the MPU6050 component as I decided to change to a more documented part, but otherwise, a productive session nonetheless! I also learnt how footprints operate, and managed to design them in preparation for the final step, which would be making the custom PCB!"}, {"post_id": 44067, "ts": "2026-08-09T16:11:50Z", "hours": 1.4756, "text": "Rocket Prototype | Devlog 3 Today, I finally learned the fundamentals of OpenRocket! I worked out where to place the individual components, such as the parachute deployment system, whilst also discerning key concepts like the centre of gravity and centre of pressure. I modelled it within the optimal stability range of 1.5-2 cal with it being 2.01 cal. This was truly a fun process as I got to play around with dimensions, measure some components irl (the body of my rocket is going to be a 660x60mm postal tube, so I based the measurements of this as such!). Now that I have planned out the build dimensions, I can shift my focus towards learning how to make an avionics bay and furthering my SolidWorks knowledge!"}, {"post_id": 43465, "ts": "2026-08-08T18:57:57Z", "hours": 1.6492, "text": "Rocket Prototype | Devlog 2 introduced myself to OpenRocket, an open-source program that lets you visualise a rocket and run simulations on it. I managed to grasp a basic understanding of how the software works: you select the components you want for your rocket while determining the appropriateness of certain features to optimise factors such as: Stability CP — Centre of Pressure CG — Centre of Gravity Aerodynamic performance Something I initially struggled with was producing a stable rocket. From what I later discerned, my stability calibre was not optimal and was one reason why the rocket was underperforming in simulations. I initially had a stability value above 2.8 cal, believing that a higher calibre automatically meant a more stable rocket. However, excessive stability can also result in poorer aerodynamic behaviour."}, {"post_id": 40304, "ts": "2026-08-03T18:52:33Z", "hours": 0.5833, "text": "Log 1 - Learning Software! I had a busy day today studying for engineering, working, and gymming but I promised myself that I would get started on this project! Today, I spent just over half an hour familiarising myself with Solidworks, mirroring a YouTube tutorial as well as experimenting with its own features. This is one small step for progress and one giant leap into my journey to building my first project! I will keep myself accountable throughout this journey and I cannot wait for the finalised project!"}]...
|
Title: Rocket Prototype by @orin_gibson | Stardanc Title: Rocket Prototype by @orin_gibson | Stardance
Devlogs:
Log 1 - Learning Software! I had a busy day today studying for engineering, working, and gymming but I promised myself that I would get started on this project! Today, I spent just over half an hour familiarising myself with Solidworks, mirroring a YouTube tutorial as well as experimenting with its own features. This is one small step for progress and one giant leap into my journey to building my first project! I will keep myself accountable throughout this journey and I cannot wait for the finalised project!
Rocket Prototype | Devlog 2 introduced myself to OpenRocket, an open-source program that lets you visualise a rocket and run simulations on it. I managed to grasp a basic understanding of how the software works: you select the components you want for your rocket while determining the appropriateness of certain features to optimise factors such as: Stability CP — Centre of Pressure CG — Centre of Gravity Aerodynamic performance Something I initially struggled with was producing a stable rocket. From what I later discerned, my stability calibre was not optimal and was one reason why the rocket was underperforming in simulations. I initially had a stability value above 2.8 cal, believing that a higher calibre automatically meant a more stable rocket. However, excessive stability can also result in poorer aerodynamic behaviour.
Rocket Prototype | Devlog 3 Today, I finally learned the fundamentals of OpenRocket! I worked out where to place the individual components, such as the parachute deployment system, whilst also discerning key concepts like the centre of gravity and centre of pressure. I modelled it within the optimal stability range of 1.5-2 cal with it being 2.01 cal. This was truly a fun process as I got to play around with dimensions, measure some components irl (the body of my rocket is going to be a 660x60mm postal tube, so I based the measurements of this as such!). Now that I have planned out the build dimensions, I can shift my focus towards learning how to make an avionics bay and furthering my SolidWorks knowledge!
Rocket Prototype | Devlog 5 Today, I mastered the fundamentals of KiCad. I determined appropriate wiring as well as finalising schematics for the components. Tomorrow, I’ll have to redo the MPU6050 component as I decided to change to a more documented part, but otherwise, a productive session nonetheless! I also learnt how footprints operate, and managed to design them in preparation for the final step, which would be making the custom PCB!
Rocket Prototype | Devlog 6 Today, I just spent some time reconstructing the MPU6050 component as the Adafruit variation was different compared to the industry standard component (12 pins versus 6 pins). I updated the schematic to accommodate for these changes. As such, since I have finished the schematics and footprints for all of the components, I will shift my focus toward making the actual PCB for the Orion Flight Computer (I thought the name sounded cool). Looking forward to building it!
Rocket Prototype - Devlog 4 Today, I learnt the fundamentals of KiCad and was able to build my own schematic for the way I would like to structure the projects computer. It pretty much just features an Arduino, MPU6050, and BMP388.I have had zero experience in this field, so this was a challenging yet rewarding experience after I got it down pat! This is basic for now; I intend on adding a power source (for obvious reasons) and a MicroSD card reader for in-flight tracking.Stay tuned for when I make the PCB! (this is a reupload: I asked the Stardance developers to shift this post from one project to this one on Slack but due to a lack of response and not wanting to lose the hours I committed, I did this so that the hours would be here when it came to product shipment). Mods: Please refer to https://stardance.hackclub.com/projects/47535 for the associated session.
Rocket Prototype | Devlog 7 - PCB COMPLETION!!! Today has been nothing short of thrilling: I finished my PCB for the Orion Flight Computer for my Odyssey Rocket. I revised the schematics in KiCad, caught some errors and fixed the footprints before implementing the final touches (don’t go too hard on my design this is my first one). I learnt how to make the Nose Cone for my Rocket in SolidWorks! It’s a Von Karman Ogive that may be too optimised for subsonic travel, but we shall see…. My //README.md// and //journal.md// has been updated to reflect these changes. Now…what’s next? Code the C+ code (or whichever coding language) is required for the Orion Flight Computer. Assemble a Bill of Materials. Finish the project and finalise it for funding as my 19th birthday under 2 weeks away….
Rocket Prototype | Devlog 8 - Rocket Nose Cone Amendments and GitHub Repo Editing! I spent an ungodly amount of time scanning through my GitHub Repo, overhauling it and optimising it in preparation for shipping. There’s still a fair amount of work to do, but I got through a fair chunk of it. I also made an updated model for the Rocket Nose Cone. It’s far from complete as I need to discern the appropriateness of measurements when incorporating the shock cord module into the shoulder linked to the nose cone. I aim to finish a fair majority of this project tomorrow so stay tuned!
Rocket Prototype | Devlog 9 - Rocket Nose Finalisation and more GitHub Repo Editing! Today I spent hours of moiling away at SolidWorks: Learning how to add Fillets Creating a boss structure Building the nose cone module and the shock cord section that attaches to the eyebolt. This is likely going to be the last or second last dev log I upload as I am 90-95% complete now!
Rocket Prototype | Devlog 10 - Shipment // FIN. GitHub is complete. Simulations are complete. Prototype model is done.
Rocket Prototype | Devlog 11 - The End? Far from it. I revised the entirety of the Rocket Nose Cone and realised a pressing issue: “you can’t access the inside of the nose cone.” Rookie mistake. On my third design, I decided to separate the nose cone into three components: the shoulder, the actual nose cone/ogive, and an avionics sled for the PCB components to be stored. (BTW the time recorded for this was ONLY for the sled that I finally finished today - the remaining components were me not being bothered to record [whoops]). The avionics sled SHOULD be printed out by tomorrow but lets see how that goes!...
|
1793170240.8829181
|
1793775040.8829181
|
|
3252
|
Movieslay Emerald by @Gavin | Stardance
|
Gavin
|
2
|
42.0
|
598
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T19:51:34Z", "hours": 14.0, "multiplier": 16.53, "payout": 226, "blessing": "neutral", "text": "Watch all your favorite media free today with Movieslay. Unlike many other shady platforms, Movieslay guarantees zero ads or popups, hundreds of stream sources aggregated across a network of providers, and raw direct downloads.", "repo": "https://gitlab.com/gavingogaming/movieslay-emerald-temp", "demo": "https://movieslay.com/"}, {"ship_num": 2, "ts": "2026-07-21T01:58:32Z", "hours": 28.0, "multiplier": 13.86, "payout": 372, "blessing": "neutral", "text": "Movieslay is an all-in-one content streaming platform - bundled with integrations for 30+ providers & partners, and completely ad-free & open source.", "repo": "https://gitlab.com/gavingogaming/movieslay-emerald-temp", "demo": "https://movieslay.com/"}]...
|
[{"post_id": 66855, "ts": "202 [{"post_id": 66855, "ts": "2026-09-12T19:48:05Z", "hours": 3.5042, "text": "Completely re-did stream checker. Sources for a particular TV or Movie are now ran through a robust content validator that ensures each link is playable & has the correct content, or filters it to Backup (playable but bad content) or Invalid (non playable, hidden by default). Each source now shows much more info as well, as the checker returns the media type (HLS or MP4), quality (4k to 240p), resolution, and duration. Picking exactly which source you want is much easier now. With these changes, each piece of media is nearly guaranteed to load on the first try."}, {"post_id": 50017, "ts": "2026-08-19T01:23:22Z", "hours": 1.9758, "text": "Made content streams in HLS (.m3u8) format only run through HLS.js if on a non-Apple system as Apple devices (and AirPlay) support .m3u8 playlists directly. Also added a dedicated cast button for content casting with Google Cast SDK, AirPlay/WebKit, and native device casting. Finally, added an exclusive page at /exclusives/btsv for the ‘leaked’ unfinished Beyond the Spider Verse trailer."}, {"post_id": 43512, "ts": "2026-08-08T20:34:42Z", "hours": 0.2586, "text": "Minor UI fixes - expanded the video player to take up all available height (this works now that the footer/warning banner is moved to the external players menu), and fixed padding on page content."}, {"post_id": 42428, "ts": "2026-08-07T03:47:58Z", "hours": 0.7892, "text": "TMDB collections support! This feature allows movies in a series (ex. Spider-Verse trilogy) to have a next/previous button similar to TV shows. If you’re trying to bingewatch a series of movies this feature can help you out :) Currently just shows the top TMDB collection (based on a movie’s ‘belongs_to_collection’ tag)"}, {"post_id": 40440, "ts": "2026-08-03T23:13:46Z", "hours": 1.7847, "text": "Updated UI for info displays on content pages as well as overall padding and rounding"}, {"post_id": 37939, "ts": "2026-07-30T23:34:40Z", "hours": 3.15, "text": "Worked on tons of brand new sources (including VylaSDK), moved 3rd-party players to a separate menu, fixed tons of player bugs"}, {"post_id": 32829, "ts": "2026-07-22T07:06:42Z", "hours": 2.2064, "text": "added live cable TV networks"}, {"post_id": 32119, "ts": "2026-07-21T01:53:46Z", "hours": 1.2044, "text": "Started work on Movieslay Pley for watchOS (project Odys). Pley is an app suite to let you access direct content in native ways without the regular Movieslay player & ui. Attached screenshots are directly from watchOS on a Watch SE (1st gen)."}, {"post_id": 31702, "ts": "2026-07-20T09:58:15Z", "hours": 3.2036, "text": "With the addition of stremIO addon support (HDHub, Nebula, and Pengu), fixing vyla/flicky/videasy/xpass/lordflix, and adding FEB file host support into exclusives, we’re back up to an insane amount of source grabs on popular titles like Backrooms."}, {"post_id": 23705, "ts": "2026-07-06T20:16:44Z", "hours": 3.2283, "text": "Research for new sources, better mobile navigation, organize source wrappers, and improve the Vyla first-come-first-serve route"}, {"post_id": 21743, "ts": "2026-07-03T20:38:17Z", "hours": 2.8972, "text": "New backup player (Vyla), Backrooms iNTERNAL rip, overrideSource option in player for non-tmdb, fix vidlink & remove nomorflix"}, {"post_id": 16749, "ts": "2026-06-27T06:29:30Z", "hours": 1.7714, "text": "Introduced new Movieslay Exclusive for The Oldest View ( @project .rolling.giant on instagram), fixed Passthru proxy to work on production via fly.io. Oh also we now have Backrooms in great quality from Vidlink primary :)"}, {"post_id": 14939, "ts": "2026-06-24T08:35:03Z", "hours": 0.5364, "text": "Introduced a new server-side proxy that adds headers over m3u8s to make tons of urls that were previously thrown away due to 403s work."}, {"post_id": 14910, "ts": "2026-06-24T06:42:33Z", "hours": 7.7275, "text": "6 new sources, fixed AE & 123anime using an anime database, airplay cast-to-TV support on iOS, full support android app, settings menu with volume, playback speed, keybinds, and sorted streams into guarenteed working ones (GET & HEAD request checks, proxied) and unreliable backups (direct urls, did not pass checks)"}, {"post_id": 7353, "ts": "2026-06-12T08:12:35Z", "hours": 3.3936, "text": "Two new sources, anime mappings between TMDB ids and 10 other anime API’s ids, as well as a WIP extractor of movieslay content built in to yt-dlp."}, {"post_id": 3280, "ts": "2026-06-06T04:16:32Z", "hours": 3.5922, "text": "Added volume slider from 0%-200% as well as magnet downloads (direct files openable in qBitTorrent or any bittorrent client) & mkv/mp4 file downloads from non-HLS provider results."}]...
|
Title: Movieslay Emerald by @Gavin | Stardance
De Title: Movieslay Emerald by @Gavin | Stardance
Devlogs:
Added volume slider from 0%-200% as well as magnet downloads (direct files openable in qBitTorrent or any bittorrent client) & mkv/mp4 file downloads from non-HLS provider results.
Two new sources, anime mappings between TMDB ids and 10 other anime API’s ids, as well as a WIP extractor of movieslay content built in to yt-dlp.
6 new sources, fixed AE & 123anime using an anime database, airplay cast-to-TV support on iOS, full support android app, settings menu with volume, playback speed, keybinds, and sorted streams into guarenteed working ones (GET & HEAD request checks, proxied) and unreliable backups (direct urls, did not pass checks)
Introduced a new server-side proxy that adds headers over m3u8s to make tons of urls that were previously thrown away due to 403s work.
Introduced new Movieslay Exclusive for The Oldest View ( @project .rolling.giant on instagram), fixed Passthru proxy to work on production via fly.io. Oh also we now have Backrooms in great quality from Vidlink primary :)
New backup player (Vyla), Backrooms iNTERNAL rip, overrideSource option in player for non-tmdb, fix vidlink & remove nomorflix
Research for new sources, better mobile navigation, organize source wrappers, and improve the Vyla first-come-first-serve route
With the addition of stremIO addon support (HDHub, Nebula, and Pengu), fixing vyla/flicky/videasy/xpass/lordflix, and adding FEB file host support into exclusives, we’re back up to an insane amount of source grabs on popular titles like Backrooms.
Started work on Movieslay Pley for watchOS (project Odys). Pley is an app suite to let you access direct content in native ways without the regular Movieslay player & ui. Attached screenshots are directly from watchOS on a Watch SE (1st gen).
added live cable TV networks
Worked on tons of brand new sources (including VylaSDK), moved 3rd-party players to a separate menu, fixed tons of player bugs
Updated UI for info displays on content pages as well as overall padding and rounding
TMDB collections support! This feature allows movies in a series (ex. Spider-Verse trilogy) to have a next/previous button similar to TV shows. If you’re trying to bingewatch a series of movies this feature can help you out :) Currently just shows the top TMDB collection (based on a movie’s ‘belongs_to_collection’ tag)
Minor UI fixes - expanded the video player to take up all available height (this works now that the footer/warning banner is moved to the external players menu), and fixed padding on page content.
Made content streams in HLS (.m3u8) format only run through HLS.js if on a non-Apple system as Apple devices (and AirPlay) support .m3u8 playlists directly. Also added a dedicated cast button for content casting with Google Cast SDK, AirPlay/WebKit, and native device casting. Finally, added an exclusive page at /exclusives/btsv for the ‘leaked’ unfinished Beyond the Spider Verse trailer.
Completely re-did stream checker. Sources for a particular TV or Movie are now ran through a robust content validator that ensures each link is playable & has the correct content, or filters it to Backup (playable but bad content) or Invalid (non playable, hidden by default). Each source now shows much more info as well, as the checker returns the media type (HLS or MP4), quality (4k to 240p), resolution, and duration. Picking exactly which source you want is much easier now. With these changes, each piece of media is nearly guaranteed to load on the first try.
Ships:
Movieslay is an all-in-one content streaming platform - bundled with integrations for 30+ providers & partners, and completely ad-free & open source.
Watch all your favorite media free today with Movieslay. Unlike many other shady platforms, Movieslay guarantees zero ads or popups, hundreds of stream sources aggregated across a network of providers, and raw direct downloads....
|
1793102129.5471299
|
1793188529.5471299
|
|
16909
|
ThreatWise - App by @benMakesStuff | Stardance
|
benMakesStuff
|
1
|
42.0
|
563
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T04:57:40Z", "hours": 42.0, "multiplier": 13.35, "payout": 563, "blessing": "neutral", "text": "I made a cybersecurity teaching app. Its target audience is upper primary school kids or lower highschool (also called middleschool). It has multiple features including minigames, chatbot, email simulator, courses, password strength checker, report page (just a demo, dosnt actually send SOS), xp systems, streak systems, and some peak animations that took me a really long time to make.", "repo": "https://github.com/benvelzul/ThreatWise", "demo": "https://benvelzul.github.io/Threat-Wise-Premiers-Coding-Challenge/"}]...
|
[{"post_id": 65194, "ts": "202 [{"post_id": 65194, "ts": "2026-09-10T04:52:02Z", "hours": 0.5717, "text": "Did some extra documentation and its now finished for stardance so im shiping rn hope u guys like it"}, {"post_id": 64525, "ts": "2026-09-09T00:11:07Z", "hours": 4.4867, "text": "ye7eyeyyeyeyeye. I finally finished and its looking decent, its got 3 minigames and it is just good stuff. One of the minigames are one URL detector, matching pairs, and a priority thingy sorter. And im deploying rn, so better be ready to rate. and i also got confused 3 times with how to deploy so i hav deployed 2 times, the first one i took a template for deploying flutter from the internet and forgot to save it then i pushed and found out it didnt push, then the second time i put it but forgot to put my repo name on it so it didnt work, and then the third one i am doing it rn so hopefully it works"}, {"post_id": 63325, "ts": "2026-09-07T02:52:47Z", "hours": 9.8392, "text": "I finished the course engine, xp systems and everythign tah needed finishing with the exception of minigames. But i had like 4 hours that didnt go through because my school laptop broke and then they gave me an loan, so i needed to reinstall everything then some days later they gave me my laptop back WIPED so i had to reinstall everything again and i tried redoing the mascot on RIVE but sadly i suck at designing and it took me 4 hours to make a new mascot that didnt work so just bad stuff happening and the app is due in 4 days and i still have so much stuff to do, so yes im gonna pull all nighters for the next 4 days. and i also reached my first 100 hours in hackatime."}, {"post_id": 57078, "ts": "2026-08-29T05:12:24Z", "hours": 4.3103, "text": "I finished the grading engine (it had a critical bug), made a course engine and got some friends to make courses, and i made some sick animations in the thing (video below) and it looks good but i also did something with vs code and now it the run button doesnt work and now i have to run it from the terminal"}, {"post_id": 52226, "ts": "2026-08-22T10:11:23Z", "hours": 8.5944, "text": "I made the scenario models, data (over 30k emails can be generated), grading algorythm, and scenario UI. And the project is due on 3 weeks and i have so much stuff to doooooooo."}, {"post_id": 31624, "ts": "2026-07-20T05:35:46Z", "hours": 5.2817, "text": "did lots of work in this 5 hours, i just dont remember what exacly i did."}, {"post_id": 23274, "ts": "2026-07-06T03:58:32Z", "hours": 1.5003, "text": "I worked on finishing the Gargoyle (bad cop) and its now looking pretty good, and i had to redo all of the body because it looked like it was drawn by a 3 year old. But now its looking amazing for being my first project on Adobe Illustrator."}, {"post_id": 23190, "ts": "2026-07-06T00:40:30Z", "hours": 2.4572, "text": "I worked on getting the Mascot for the app and decided for the good cop, bad cop and i also worked on a UI more similar to Duolingo’s and Brilliant’s and i change the palette for the app so its easier to change and more equal all around the app"}, {"post_id": 19597, "ts": "2026-06-30T23:05:28Z", "hours": 2.1467, "text": "I worked on adding a mascot to the app, just like Duo in Duolingo; or Koi in Brilliant. So im between adding a gargoyle or a padlock. The paddlock is mostly finished (but im not convinced since its really boring), and the gargoyle is still in the process of learning the anatomy of one and how it looks better (but its looking better for a mascot than the padlock) but i still need to chose between them to be the mascot. Or use them both, like good cop, bad cop: padlock (good cop), and gargoyle (bad cop). So if anyone can help me choosing it would be amazing. I will keep working on them and then i will show the progress made."}, {"post_id": 14827, "ts": "2026-06-24T02:39:16Z", "hours": 2.9617, "text": "I worked on the project architecture, ui for all the pages and networking between them."}]...
|
Title: ThreatWise - App by @benMakesStuff | Starda Title: ThreatWise - App by @benMakesStuff | Stardance
Devlogs:
I worked on the project architecture, ui for all the pages and networking between them.
I worked on adding a mascot to the app, just like Duo in Duolingo; or Koi in Brilliant. So im between adding a gargoyle or a padlock. The paddlock is mostly finished (but im not convinced since its really boring), and the gargoyle is still in the process of learning the anatomy of one and how it looks better (but its looking better for a mascot than the padlock) but i still need to chose between them to be the mascot. Or use them both, like good cop, bad cop: padlock (good cop), and gargoyle (bad cop). So if anyone can help me choosing it would be amazing. I will keep working on them and then i will show the progress made.
I worked on getting the Mascot for the app and decided for the good cop, bad cop and i also worked on a UI more similar to Duolingo’s and Brilliant’s and i change the palette for the app so its easier to change and more equal all around the app
I worked on finishing the Gargoyle (bad cop) and its now looking pretty good, and i had to redo all of the body because it looked like it was drawn by a 3 year old. But now its looking amazing for being my first project on Adobe Illustrator.
did lots of work in this 5 hours, i just dont remember what exacly i did.
I made the scenario models, data (over 30k emails can be generated), grading algorythm, and scenario UI. And the project is due on 3 weeks and i have so much stuff to doooooooo.
I finished the grading engine (it had a critical bug), made a course engine and got some friends to make courses, and i made some sick animations in the thing (video below) and it looks good but i also did something with vs code and now it the run button doesnt work and now i have to run it from the terminal
I finished the course engine, xp systems and everythign tah needed finishing with the exception of minigames. But i had like 4 hours that didnt go through because my school laptop broke and then they gave me an loan, so i needed to reinstall everything then some days later they gave me my laptop back WIPED so i had to reinstall everything again and i tried redoing the mascot on RIVE but sadly i suck at designing and it took me 4 hours to make a new mascot that didnt work so just bad stuff happening and the app is due in 4 days and i still have so much stuff to do, so yes im gonna pull all nighters for the next 4 days. and i also reached my first 100 hours in hackatime.
ye7eyeyyeyeyeye. I finally finished and its looking decent, its got 3 minigames and it is just good stuff. One of the minigames are one URL detector, matching pairs, and a priority thingy sorter. And im deploying rn, so better be ready to rate. and i also got confused 3 times with how to deploy so i hav deployed 2 times, the first one i took a template for deploying flutter from the internet and forgot to save it then i pushed and found out it didnt push, then the second time i put it but forgot to put my repo name on it so it didnt work, and then the third one i am doing it rn so hopefully it works
Did some extra documentation and its now finished for stardance so im shiping rn hope u guys like it
Ships:
I made a cybersecurity teaching app. Its target audience is upper primary school kids or lower highschool (also called middleschool). It has multiple features including minigames, chatbot, email simulator, courses, password strength checker, report page (just a demo, dosnt actually send SOS), xp systems, streak systems, and some peak animations that took me a really long time to make....
|
1793109306.4148383
|
1793195706.4148383
|
|
33448
|
Skywritten by @saminsiddiqui | Stardance
|
saminsiddiqui
|
1
|
42.0
|
786
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T17:53:53Z", "hours": 42.0, "multiplier": 18.77, "payout": 786, "blessing": "neutral", "text": "Skywritten turns a birthday into an astronomical biography. You basically enter a date, and it pulls the Astronomy Picture of the Day, DSCOVR’s full-disk Earth imagery, solar flare records, and exoplanet discoveries from that exact day. It then weaves them into one narrative that you can send to someone as a permanent link. There are three ways (for now) that it can arrive: a cinematic scroll, a storybook you turn page by page, or a wax-sealed letter the recipient opens. If you are testing it, try the Letter template. It’s the one I put the most effort into. The hardest part wasn’t the features. It was making it fast enough to be worth sending. A page was loading around 20 MB on mobile because the APOD indexer was storing print resolution masters (some over 15 MB!). Also, every page load was fetching four complete NASA archives just to display one day. So, I basically ended up sharding all four into 366 files keyed by month and day. So, a January 20 birthday fetches 01-20.json instead of the whole thing. That took the data payload from 3,210 KB to 47 KB, and the page from 20 MB to around 1 MB. The thing I’m most pleased with is something small. I found out that NASA’s own metadata is wrong more often than you would expect. Entries labelled as images that are actually videos, with a play button baked into the still. One APOD entry is an animated GIF of a full lunar cycle and any thumbnail extracted from it came out solid black because the first frame is a new moon. Getting those right took a lot longer than building the templates did. If you want to test it properly: pick a date before 2000 to see how it handles years the archive doesn’t fully cover and share a gift link somewhere so you can see the recipient view. It’s read only, and the person receiving it can export a story card of their own.", "repo": "https://github.com/saminsiddiqui08-beep/skywritten", "demo": "https://skywritten.pages.dev"}]...
|
[{"post_id": 47443, "ts": "202 [{"post_id": 47443, "ts": "2026-08-15T11:32:40Z", "hours": 5.3408, "text": "I spent the last couple of days fixing a lot of bugs and also made some polishes here and there. Page weight went from about 20 MB to around 1 MB on mobile. The data payload went from 3210 KB to around 47 KB. The gift links went from three KV writes to just one. Fixed the date field being invisible on Android. Some APOD entries are GIFs. They exported in the gift card as black rectangles. I fixed it by requesting a mid-sequence frame plus a luminance check on the export as a backstop. Previews were broken till this phase, so I fixed them as well through routing them through a proxy at a declared 1200×630. Also, some more polishes here and there. I do think it is finally ready to ship!!!"}, {"post_id": 44434, "ts": "2026-08-10T05:53:15Z", "hours": 3.7633, "text": "Alright, so today was basically making some more fixes and polishing. I completely rebuilt the recipient experience into a true read-only unboxing view. And I kept the interactive wax seal while stripping out editor pickers and replaced collapsed Chrome Android date inputs with a bespoke calendar overlay. After that, I fixed the near invisible scrollbars in the Keepsake letter template, corrected parchment character counter styling, and revamped exported story cards so that the personal messages take center stage alongside cosmic vitals like Lunar Phase and Solar Revolutions. Also, I gave the AI rewrite pipeline a massive efficiency boost by trimming max_tokens from 4096 down to 1600 to prevent Groq TPM ceiling throttling, capping server-side output at 600 characters, and tuning temperature to 0.55 for faster, more consistent outputs. I came across a lot of more bugs that needs fixing, so I am not sure if I can ship it today. Maybe a couple of more days…"}, {"post_id": 42469, "ts": "2026-08-07T07:05:05Z", "hours": 3.255, "text": "Just finished making the Keepsake letter template. The letter experience opens with an interactive envelope scene built using 3D CSS transforms. Like other templates, users can also customize their letters in real time using client-side image carousels and alternate year pickers. I have also made the AI rewrite feature functional. I also added a 150 word limit and a precise system prompt to optimize token usage. There are some bugs regarding the UI in the mobile view. I will fix those soon"}, {"post_id": 41170, "ts": "2026-08-05T06:31:55Z", "hours": 7.7953, "text": "Hey everyone! Making another update on Skywritten. First of all, I finished the ‘1080×1920 Story Card Exporter’. Basically, when you click Export Story Card, you will get a 1080×1920 high-res PNG tailored for Instagram Stories. After that, there were some mobile view bugs. I spent some time fixing that and polishing the app. The Storybook template needed a lot of fixes in the mobile view as there were overlapping issues due to the first page being transparent. Finally, I finished writing the Cloudflare Worker logic for our AI rewrite feature."}, {"post_id": 39128, "ts": "2026-08-01T20:46:06Z", "hours": 8.5983, "text": "Heyyy everyone! I wanted to make a quick update on Skywritten. The past few days were quite huge for the frontend architecture. We went from a single APOD viewer to a fully modular multi-source app with two distinct presentation shells! Moreover, the Storybook Template is live. Instead of a continuous scroll, it renders a tactile 3D book using hardware-accelerated CSS rotateY transforms. We can flip pages using on screen controls, left/right keyboard arrows, or touch swipes on mobile. I also implemented Dynamic Captioning and Narrative Syncing as a quality-of-life improvement."}, {"post_id": 36342, "ts": "2026-07-28T12:13:49Z", "hours": 7.2917, "text": "Working with NASA’s API limits is indeed a hassle. I basically solved NASA API rate limits, eliminated video rendering bugs, and built a fast local lookup table containing every authentic APOD space photo published since June 1995. Other than that, I had to compress 31 years of astronomical metadata into a dense, minified static asset. This project will take more time than I thought. But I am excited to implement all of the features I have in mind!"}, {"post_id": 34023, "ts": "2026-07-24T13:20:16Z", "hours": 3.7506, "text": "First of all, I built a template router to “lazy load” template styles and scripts on demand. Assets are injected directly into the document head only when triggered, preventing initial DOM bloat. After that, I integrated zero dependency JavaScript math directly to compute real-time cosmic displacement (kilometers traveled through space since birth) and exact lunar phase illumination. Finally, I built cosmic-scroll as a template using hardware-accelerated IntersectionObserver reveals (will-change: transform, opacity) for smooth 60fps mobile scrolling, complete with an inline-editable narrative interface."}, {"post_id": 29019, "ts": "2026-07-15T17:48:47Z", "hours": 2.0617, "text": "So basically, I finalized the core architecture and UI foundation for skywritten. After that, I bypassed generic frontend frameworks entirely to build a custom and highly optimized HTML/CSS shell utilizing absolute mathematical resets. Also completed the raw math for the generative ambient starfield and implementing a deterministic PRNG (cyrb128 + mulberry32) so the visual backdrop remains perfectly mathematically consistent across all devices."}]...
|
Title: Skywritten by @saminsiddiqui | Stardance
D Title: Skywritten by @saminsiddiqui | Stardance
Devlogs:
So basically, I finalized the core architecture and UI foundation for skywritten. After that, I bypassed generic frontend frameworks entirely to build a custom and highly optimized HTML/CSS shell utilizing absolute mathematical resets. Also completed the raw math for the generative ambient starfield and implementing a deterministic PRNG (cyrb128 + mulberry32) so the visual backdrop remains perfectly mathematically consistent across all devices.
First of all, I built a template router to “lazy load” template styles and scripts on demand. Assets are injected directly into the document head only when triggered, preventing initial DOM bloat. After that, I integrated zero dependency JavaScript math directly to compute real-time cosmic displacement (kilometers traveled through space since birth) and exact lunar phase illumination. Finally, I built cosmic-scroll as a template using hardware-accelerated IntersectionObserver reveals (will-change: transform, opacity) for smooth 60fps mobile scrolling, complete with an inline-editable narrative interface.
Working with NASA’s API limits is indeed a hassle. I basically solved NASA API rate limits, eliminated video rendering bugs, and built a fast local lookup table containing every authentic APOD space photo published since June 1995. Other than that, I had to compress 31 years of astronomical metadata into a dense, minified static asset. This project will take more time than I thought. But I am excited to implement all of the features I have in mind!
Heyyy everyone! I wanted to make a quick update on Skywritten. The past few days were quite huge for the frontend architecture. We went from a single APOD viewer to a fully modular multi-source app with two distinct presentation shells! Moreover, the Storybook Template is live. Instead of a continuous scroll, it renders a tactile 3D book using hardware-accelerated CSS rotateY transforms. We can flip pages using on screen controls, left/right keyboard arrows, or touch swipes on mobile. I also implemented Dynamic Captioning and Narrative Syncing as a quality-of-life improvement.
Hey everyone! Making another update on Skywritten. First of all, I finished the ‘1080×1920 Story Card Exporter’. Basically, when you click Export Story Card, you will get a 1080×1920 high-res PNG tailored for Instagram Stories. After that, there were some mobile view bugs. I spent some time fixing that and polishing the app. The Storybook template needed a lot of fixes in the mobile view as there were overlapping issues due to the first page being transparent. Finally, I finished writing the Cloudflare Worker logic for our AI rewrite feature.
Just finished making the Keepsake letter template. The letter experience opens with an interactive envelope scene built using 3D CSS transforms. Like other templates, users can also customize their letters in real time using client-side image carousels and alternate year pickers. I have also made the AI rewrite feature functional. I also added a 150 word limit and a precise system prompt to optimize token usage. There are some bugs regarding the UI in the mobile view. I will fix those soon
Alright, so today was basically making some more fixes and polishing. I completely rebuilt the recipient experience into a true read-only unboxing view. And I kept the interactive wax seal while stripping out editor pickers and replaced collapsed Chrome Android date inputs with a bespoke calendar overlay. After that, I fixed the near invisible scrollbars in the Keepsake letter template, corrected parchment character counter styling, and revamped exported story cards so that the personal messages take center stage alongside cosmic vitals like Lunar Phase and Solar Revolutions. Also, I gave the AI rewrite pipeline a massive efficiency boost by trimming max_tokens from 4096 down to 1600 to prevent Groq TPM ceiling throttling, capping server-side output at 600 characters, and tuning temperature to 0.55 for faster, more consistent outputs. I came across a lot of more bugs that needs fixing, so I am not sure if I can ship it today. Maybe a couple of more days…
I spent the last couple of days fixing a lot of bugs and also made some polishes here and there. Page weight went from about 20 MB to around 1 MB on mobile. The data payload went from 3210 KB to around 47 KB. The gift links went from three KV writes to just one. Fixed the date field being invisible on Android. Some APOD entries are GIFs. They exported in the gift card as black rectangles. I fixed it by requesting a mid-sequence frame plus a luminance check on the export as a backstop. Previews were broken till this phase, so I fixed them as well through routing them through a proxy at a declared 1200×630. Also, some more polishes here and there. I do think it is finally ready to ship!!!
Ships:
Skywritten turns a birthday into an astronomical biography. You basically enter a date, and it pulls the Astronomy Picture of the Day, DSCOVR’s full-disk Earth imagery, solar flare records, and exoplanet discoveries from that exact day. It then weaves them into one narrative that you can send to someone as a permanent link. There are three ways (for now) that it can arrive: a cinematic scroll, a storybook you turn page by page, or a wax-sealed letter the recipient opens. If you are testing it, try the Letter template. It’s the one I put the most effort into. The hardest part wasn’t the features. It was making it fast enough to be worth sending. A page was loading around 20 MB on mobile because the APOD indexer was storing print resolution masters (some over 15 MB!). Also, every page load was fetching four complete NASA archives just to display one day. So, I basically ended up sharding all four into 366 files keyed by month and day. So, a January 20 birthday fetches 01-20.json instead of the whole thing. That took the data payload from 3,210 KB to 47 KB, and the page from 20 MB to around 1 MB. The thing I’m most pleased with is something small. I found out that NASA’s own metadata is wrong more often than you would expect. Entries labelled as images that are actually videos, with a play button baked into the still. One APOD entry is an animated GIF of a full lunar cycle and any thumbnail extracted from it came out solid black because the first frame is a new moon. Getting those right took a lot longer than building the templates did. If you want to test it properly: pick a date before 2000 to see how it handles years the archive doesn’t fully cover and share a gift link somewhere so you can see the recipient view. It’s read only, and the person receiving it can export a story card of their own....
|
1793134534.5903025
|
1793220934.5903025
|
|
33470
|
Anime Ability Frontlines by @hoshiko | Stardance
|
hoshiko
|
1
|
42.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-05T06:11:02Z", "hours": 42.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a Roblox Game, its a fighting simulator with superpowers from all different Animes, it includes cool animations and interactiveness, a system to get more gear and a level up system. I made this game because i wanted to make a roblox game from a long time and i LOVEE watching anime, so i took this stardance as an opportunity to finally work on it when i saw so many people working on their own projects. Do check this game out and let me now! :D", "repo": "https://github.com/PranavDhiman07/Roblox-Game", "demo": "https://www.roblox.com/games/139669234021761/Anime-Ability-Frontlines"}]...
|
[{"post_id": 41161, "ts": "202 [{"post_id": 41161, "ts": "2026-08-05T06:03:46Z", "hours": 5.7219, "text": "Finally released and shipped my game to the roblox library, check it out on my profile @BACK_W0LF"}, {"post_id": 31069, "ts": "2026-07-19T05:11:20Z", "hours": 3.6867, "text": "Added so many abilities to my game, each with a custom Icon, and animations"}, {"post_id": 28404, "ts": "2026-07-14T17:18:40Z", "hours": 2.2111, "text": "I added, a shop UI finally, all the items and the coin systems work now There is a daily rewards and Time rewards section now There is a 2x experience powerup now which works perfectly."}, {"post_id": 26111, "ts": "2026-07-10T18:16:10Z", "hours": 30.4544, "text": "HELLOWWW Im working on this superpowered fightin game in roblox (haven’t thought for the perfect name yet, bear with me), SOOO I really like anime and roblox both so i decided to make this project. Right now i added QUITE MANY, Abilities and made a map, a trading system where players can trade abilities, and also a combat detection system for the pvp zone, and many more, A safezone and a treasuere chest which spawns every 5 mins. A Leveling system which increases the max health every level, A coin system and a shop to purchase abilities. I worked for it too much and forgot to devlog, and now only 10hrs out of it will count 💀 ANYWAYSS I will add more features now and finish this game Thanks for reading :DD"}]...
|
Title: Anime Ability Frontlines by @hoshiko | Star Title: Anime Ability Frontlines by @hoshiko | Stardance
Devlogs:
HELLOWWW Im working on this superpowered fightin game in roblox (haven’t thought for the perfect name yet, bear with me), SOOO I really like anime and roblox both so i decided to make this project. Right now i added QUITE MANY, Abilities and made a map, a trading system where players can trade abilities, and also a combat detection system for the pvp zone, and many more, A safezone and a treasuere chest which spawns every 5 mins. A Leveling system which increases the max health every level, A coin system and a shop to purchase abilities. I worked for it too much and forgot to devlog, and now only 10hrs out of it will count 💀 ANYWAYSS I will add more features now and finish this game Thanks for reading :DD
I added, a shop UI finally, all the items and the coin systems work now There is a daily rewards and Time rewards section now There is a 2x experience powerup now which works perfectly.
Added so many abilities to my game, each with a custom Icon, and animations
Finally released and shipped my game to the roblox library, check it out on my profile @BACK_W0LF
Ships:
This is a Roblox Game, its a fighting simulator with superpowers from all different Animes, it includes cool animations and interactiveness, a system to get more gear and a level up system. I made this game because i wanted to make a roblox game from a long time and i LOVEE watching anime, so i took this stardance as an opportunity to finally work on it when i saw so many people working on their own projects. Do check this game out and let me now! :D...
|
1793101700.7337399
|
1793188100.7337399
|
|
43792
|
Teach Terminal by @Arsen | Stardance
|
Arsen
|
1
|
42.0
|
351
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T15:29:32Z", "hours": 42.0, "multiplier": 18.43, "payout": 351, "blessing": "neutral", "text": "Teach Terminal I made Teach Terminal - a browser-based Linux terminal simulator for learning basic Linux commands. The main problem I wanted to solve is that learning Linux from documentation can be very passive. You read what cd or chmod does, but you don’t really remember it until you use it yourself. Also, using a real Linux system can be a little scary for beginners because one wrong command can cause problems. Teach Terminal gives you a fake Linux filesystem where you can practice without breaking a real computer. You can log in, choose a mode, and start learning. There are 25 lessons in 5 sections: Introduction, Navigation, Files, Text & Redirection, and Permissions. Every lesson has a small lecture and then practice. In the practice you need to type commands yourself, for example pwd , ls -la , chmod 755 , or sudo chown root file.txt . The terminal gives output and errors similar to what you can get in a real Ubuntu terminal. Note: This is a simulation. It does not enforce all Linux permissions and security rules, so some commands may behave differently than on a real system. What was challenging The fake filesystem was one of the harder parts. I made two classes for it. FileSystem handles the filesystem tree and navigation, and file represents the individual files and folders. It also stores things like permissions, owner, size and modification date. Getting absolute paths working was also a little difficult. I needed to go from the current file or folder to its parents until I reach the root. It is kind of like following a linked list backwards. Another problem was checking commands in multi-step practices. For example, when a user runs sudo chown root file.txt , the practice checker needs to check the whole command and not only chown root file.txt . I also had problems with resetting the practice state. If I make a folder with mkdir projects and then start the same practice again, it will fail because the folder already exists. So I needed to reset the practice filesystem when starting it again. Things I am happy with The lesson engine is probably the part I worked most on. It handles the lecture, practice, success state, and the progress for each step. I also made the lesson window draggable and minimizable. Pressing Escape can toggle the window. The terminal currently supports 16 commands and some extra features like flags, redirection ( > , >> , < , 2> ), tab autocomplete, arrow-key command history, and sudo with password checking. I also added 3 themes: Ubuntu, Hacker and Kali. The themes are used across the different pages. How to test Open the demo link. Go to Settings and choose a theme: Ubuntu, Hacker, or Kali. Log in with a valid username, machine name and password. Choose Guided Path if you want to try the lessons, or Free Exploration if you just want to use the terminal. In a lesson, read the lecture and click Start Practice . Type the commands in the terminal and follow the steps. Some commands you can try: pwd ls -la mkdir test cd test touch file.txt chmod 755 file.txt sudo chown root file.txt The project is made with plain HTML, CSS and JavaScript. I didn’t use frameworks or external dependencies.", "repo": "https://github.com/Arsen-Gevorgyan/teach-terminal", "demo": "https://arsen-gevorgyan.github.io/teach-terminal/"}]...
|
[{"post_id": 75823, "ts": "202 [{"post_id": 75823, "ts": "2026-10-01T08:23:43Z", "hours": 4.2042, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I finished writing all 25 lessons and fixed several issues with the lesson system. The lessons are organized into 5 sections - Introduction, Navigation, Files, Text & Redirection, and Permissions - plus a final congratulations lesson. Each practice lesson has multiple steps, so instead of a single command to type, the user might create a file, change its permissions, and verify with ls -l . The window tracks progress with markers like [x] , [>] , and [ ] so it is clear where the user is. I also fixed bugs I found while testing the flow: The lesson window didn’t reset the filesystem between practices. If you completed mkdir projects once, replaying the lesson would fail because the folder already existed. Now the filesystem resets to a clean state at the start of every practice lesson. Sudo commands weren’t detected by the practice check. The checker only saw the inner command ( chown root file.txt ), not the full sudo chown root file.txt . Fixed by passing the full command through. Lesson 25 no longer has a practice - it just says “Congratulations! You finished Teach Terminal.” with a short message about what the user learned. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output, sudo flow command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 5 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , chmod , chown , sudo , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Add grep , head , tail Add pipes ( | ) and shell operators ( && , || , ; ) Wildcards and brace expansion Try It Live Demo"}, {"post_id": 74998, "ts": "2026-09-28T20:14:08Z", "hours": 2.3608, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lesson window - the floating panel that runs inside the terminal during lessons. This is the piece that connects the lessons page to the terminal itself. When a user picks a lesson from the overview, the terminal opens with ?lesson=N in the URL. The lesson window reads that number, finds the lesson in the data file, and appears in the top-right corner of the screen. The window has three states: Lecture - shows the lesson text explaining the concept. The user reads and clicks “Start Practice” (or “Complete” for intro lessons). Practice - the window changes visually. Its border and title switch to an amber color, and a “PRACTICE:” prefix appears in the title. This makes it obvious that it’s time to do something, not just read. The user types the command in the terminal below. Success - when the expected command is typed, the window shows the success message and a “Next Lesson” button appears. Clicking it swaps the window content to the next lesson without reloading the page. The window is also draggable by its title bar. The user can move it anywhere, minimize it with - , or close it with × (which returns to the lessons page). Pressing Escape hides and shows the window. I also added replay support. If a lesson is already complete, the user can open it again, read the lecture, and try the practice a second time. The window still shows the success message, but the lesson status stays DONE - it does not re-mark anything. Some issues I hit: The intro lessons blocked the “Next Lesson” button because they were being re-completed in a loop. I fixed this by tracking a showingSuccess variable that tells the code whether we’re on the success screen or the lecture. The practice mode class wasn’t being added because the flow checked lessonComplete before checking whether we were in the practice phase. I reordered the checks so practice renders correctly even for replayed lessons. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build chmod , chown , sudo for the Permissions section Write lesson content for lessons 21-24 Build the Final Mission with a timer and game-style objectives Try It Live Demo"}, {"post_id": 73734, "ts": "2026-09-25T20:12:13Z", "hours": 6.7292, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lessons system. This is the biggest step so far - the part that turns the terminal into a real teaching tool. The lessons system has three parts: The lessons overview page ( lessons.html ) shows all lessons organized into sections: Introduction Navigation Files Text & Redirection Permissions Final Mission Each lesson appears as a card with a status: START (unlocked), DONE (completed), or LOCK (not yet unlocked). Intro lessons are always open so users can read them or skip. Navigation lessons unlock one at a time. Later sections unlock when the previous section is finished. The lessons data file ( lessons-data.js ) stores all lesson content in one place. Each lesson has a lecture that explains the concept and a practice task with an expected command. The lesson engine ( lesson-window.js ) will run inside main.html . It opens a floating window with the current lesson, shows the lecture, then the practice. When the user types the correct command, the lesson completes and unlocks the next one. I also built the mode selection page ( mode.html ). After login, the user picks between two paths: Free Exploration : opens the terminal with no lessons Guided Path : opens the lessons overview Progress saves to localStorage so completed lessons stay completed. Some issues I hit: The unlock logic had a bug where Intro lessons blocked Navigation. I fixed it by skipping intro sections in the unlock check. CSS conflicts between .lesson-subtitle (used inside lesson cards) and .lessons-subtitle (used on the page). I renamed them to avoid mixing styles. The lessons page inherited overflow: hidden from the body, so it could not scroll. I added a body.lessons-page override. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson window inside main.html (lecture, practice, success phases) Make the window draggable and minimizable with an Escape key toggle Build the Final Mission with game-style objectives Add remaining commands ( grep , head , tail , chmod , chown ) Try It Live Demo"}, {"post_id": 72453, "ts": "2026-09-23T00:38:08Z", "hours": 8.2353, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I added redirection to the terminal. Commands can now read from files and write to them instead of only printing to the screen. The terminal now supports: > - write output to a file (overwrites) >> - append output to a file < - read input from a file 2> - redirect error output to a file I also connected < to cat so it can read from a file through stdin. To make this work, I had to refactor how commands run. The old processCommand returned output directly. I renamed it to executeCommand and wrote a new processCommand wrapper above it that parses redirection operators before the command runs, then decides where the output goes. The refactor was harder than expected. I hit several bugs - a typo in stderrMatch , a missing $ anchor in a regex, and a duplicate if block that used the wrong variable. I also had to fix catResults and lineNumber which I deleted during the refactor without realizing. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help With flags for most commands, redirection ( > , >> , < , 2> ), and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Command history (up/down arrow keys) Tab autocomplete history command, !! , !n Add grep , head , tail Add chmod , chown Wildcards, brace expansion, && , || Build the lesson system (lectures + practice missions) Try It Live Demo"}, {"post_id": 51663, "ts": "2026-08-21T13:49:47Z", "hours": 2.9792, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the fake filesystem and connected it to the terminal. The terminal now feels like a real Linux system. The filesystem supports: pwd - shows current directory ls - lists files and folders with colors (blue for directories, green for executables, white for files) ls -l - shows permissions, owner, group, and name cd - navigate with ~ , . , .. , and absolute paths mkdir - create folders touch - create files The prompt updates when navigating directories. It shows ~ for the home directory and the full path everywhere else. I also added realistic bash error messages. Invalid flags, missing arguments, and wrong paths all show proper errors like a real terminal would. The terminal now has 7 working commands with real filesystem behavior. Next step is building the lesson system that teaches these commands one by one. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, and navigation terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition ( help , pwd , clear , ls , cd , mkdir , touch ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson system (lectures + practice missions) Add more commands ( cat , rm , cp , mv , chmod , chown ) Add command history (up/down arrow keys) Add redirection ( > , >> , < ) Improve mobile experience Try It Live Demo"}, {"post_id": 45917, "ts": "2026-08-12T18:06:17Z", "hours": 3.5864, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the login page. It’s a page where the user enters their username, machine name, and password before entering the terminal. The form validates each field: Username must be 4–9 characters, start with a letter, and contain only letters and numbers Machine name follows the same rules Password must be 8–19 characters If something is wrong, an error message appears below the form showing what needs to be fixed. After all fields are entered correctly, the data is saved and the user is redirected to the terminal. The terminal itself is not fully finished yet — commands work, but there’s no filesystem and no lessons. That’s the next step. Completed index.html — Start menu with Start and Settings buttons settings.html — Settings page with three themes (Ubuntu, Hacker, Kali) login.html — Login page with username, machine name, and password validation main.html — Interactive terminal interface style.css — Main styling, animated gradients, glassmorphism UI, and theme colors login.css — Login page styling with themed backgrounds settings.js — Saves the selected theme using localStorage theme.js — Loads the saved theme and applies it automatically login.js — Form validation and redirect to terminal terminal.js — Terminal input handling, prompt display, line management commands.js — Command recognition ( help , pwd , clear , whoami , date , echo ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build a fake filesystem ( cd , ls , mkdir , touch ) Add file permissions ( chmod , chown , sudo ) Create lessons and practice missions Add command history (up/down arrow keys) Try It Live Demo"}, {"post_id": 40664, "ts": "2026-08-04T11:00:02Z", "hours": 13.4225, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. What I Built I started the project by creating the basic structure of the website and the main navigation. Completed index.html — Start menu with Start and Settings buttons. settings.html — Settings page. main.html — Initial game page. style.css — Main styling, animated gradients, glassmorphism UI, and theme colors. settings.js — Saves the selected theme using localStorage . theme.js — Loads the saved theme and applies it automatically. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the interactive terminal. Add Linux commands and command processing. Create lessons and practice missions. Improve the mobile experience."}]...
|
Title: Teach Terminal by @Arsen | Stardance
Devlo Title: Teach Terminal by @Arsen | Stardance
Devlogs:
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. What I Built I started the project by creating the basic structure of the website and the main navigation. Completed index.html — Start menu with Start and Settings buttons. settings.html — Settings page. main.html — Initial game page. style.css — Main styling, animated gradients, glassmorphism UI, and theme colors. settings.js — Saves the selected theme using localStorage . theme.js — Loads the saved theme and applies it automatically. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the interactive terminal. Add Linux commands and command processing. Create lessons and practice missions. Improve the mobile experience.
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the login page. It’s a page where the user enters their username, machine name, and password before entering the terminal. The form validates each field: Username must be 4–9 characters, start with a letter, and contain only letters and numbers Machine name follows the same rules Password must be 8–19 characters If something is wrong, an error message appears below the form showing what needs to be fixed. After all fields are entered correctly, the data is saved and the user is redirected to the terminal. The terminal itself is not fully finished yet — commands work, but there’s no filesystem and no lessons. That’s the next step. Completed index.html — Start menu with Start and Settings buttons settings.html — Settings page with three themes (Ubuntu, Hacker, Kali) login.html — Login page with username, machine name, and password validation main.html — Interactive terminal interface style.css — Main styling, animated gradients, glassmorphism UI, and theme colors login.css — Login page styling with themed backgrounds settings.js — Saves the selected theme using localStorage theme.js — Loads the saved theme and applies it automatically login.js — Form validation and redirect to terminal terminal.js — Terminal input handling, prompt display, line management commands.js — Command recognition ( help , pwd , clear , whoami , date , echo ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build a fake filesystem ( cd , ls , mkdir , touch ) Add file permissions ( chmod , chown , sudo ) Create lessons and practice missions Add command history (up/down arrow keys) Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the fake filesystem and connected it to the terminal. The terminal now feels like a real Linux system. The filesystem supports: pwd - shows current directory ls - lists files and folders with colors (blue for directories, green for executables, white for files) ls -l - shows permissions, owner, group, and name cd - navigate with ~ , . , .. , and absolute paths mkdir - create folders touch - create files The prompt updates when navigating directories. It shows ~ for the home directory and the full path everywhere else. I also added realistic bash error messages. Invalid flags, missing arguments, and wrong paths all show proper errors like a real terminal would. The terminal now has 7 working commands with real filesystem behavior. Next step is building the lesson system that teaches these commands one by one. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, and navigation terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition ( help , pwd , clear , ls , cd , mkdir , touch ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson system (lectures + practice missions) Add more commands ( cat , rm , cp , mv , chmod , chown ) Add command history (up/down arrow keys) Add redirection ( > , >> , < ) Improve mobile experience Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I added redirection to the terminal. Commands can now read from files and write to them instead of only printing to the screen. The terminal now supports: > - write output to a file (overwrites) >> - append output to a file < - read input from a file 2> - redirect error output to a file I also connected < to cat so it can read from a file through stdin. To make this work, I had to refactor how commands run. The old processCommand returned output directly. I renamed it to executeCommand and wrote a new processCommand wrapper above it that parses redirection operators before the command runs, then decides where the output goes. The refactor was harder than expected. I hit several bugs - a typo in stderrMatch , a missing $ anchor in a regex, and a duplicate if block that used the wrong variable. I also had to fix catResults and lineNumber which I deleted during the refactor without realizing. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help With flags for most commands, redirection ( > , >> , < , 2> ), and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Command history (up/down arrow keys) Tab autocomplete history command, !! , !n Add grep , head , tail Add chmod , chown Wildcards, brace expansion, && , || Build the lesson system (lectures + practice missions) Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lessons system. This is the biggest step so far - the part that turns the terminal into a real teaching tool. The lessons system has three parts: The lessons overview page ( lessons.html ) shows all lessons organized into sections: Introduction Navigation Files Text & Redirection Permissions Final Mission Each lesson appears as a card with a status: START (unlocked), DONE (completed), or LOCK (not yet unlocked). Intro lessons are always open so users can read them or skip. Navigation lessons unlock one at a time. Later sections unlock when the previous section is finished. The lessons data file ( lessons-data.js ) stores all lesson content in one place. Each lesson has a lecture that explains the concept and a practice task with an expected command. The lesson engine ( lesson-window.js ) will run inside main.html . It opens a floating window with the current lesson, shows the lecture, then the practice. When the user types the correct command, the lesson completes and unlocks the next one. I also built the mode selection page ( mode.html ). After login, the user picks between two paths: Free Exploration : opens the terminal with no lessons Guided Path : opens the lessons overview Progress saves to localStorage so completed lessons stay completed. Some issues I hit: The unlock logic had a bug where Intro lessons blocked Navigation. I fixed it by skipping intro sections in the unlock check. CSS conflicts between .lesson-subtitle (used inside lesson cards) and .lessons-subtitle (used on the page). I renamed them to avoid mixing styles. The lessons page inherited overflow: hidden from the body, so it could not scroll. I added a body.lessons-page override. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson window inside main.html (lecture, practice, success phases) Make the window draggable and minimizable with an Escape key toggle Build the Final Mission with game-style objectives Add remaining commands ( grep , head , tail , chmod , chown ) Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lesson window - the floating panel that runs inside the terminal during lessons. This is the piece that connects the lessons page to the terminal itself. When a user picks a lesson from the overview, the terminal opens with ?lesson=N in the URL. The lesson window reads that number, finds the lesson in the data file, and appears in the top-right corner of the screen. The window has three states: Lecture - shows the lesson text explaining the concept. The user reads and clicks “Start Practice” (or “Complete” for intro lessons). Practice - the window changes visually. Its border and title switch to an amber color, and a “PRACTICE:” prefix appears in the title. This makes it obvious that it’s time to do something, not just read. The user types the command in the terminal below. Success - when the expected command is typed, the window shows the success message and a “Next Lesson” button appears. Clicking it swaps the window content to the next lesson without reloading the page. The window is also draggable by its title bar. The user can move it anywhere, minimize it with - , or close it with × (which returns to the lessons page). Pressing Escape hides and shows the window. I also added replay support. If a lesson is already complete, the user can open it again, read the lecture, and try the practice a second time. The window still shows the success message, but the lesson status stays DONE - it does not re-mark anything. Some issues I hit: The intro lessons blocked the “Next Lesson” button because they were being re-completed in a loop. I fixed this by tracking a showingSuccess variable that tells the code whether we’re on the success screen or the lecture. The practice mode class wasn’t being added because the flow checked lessonComplete before checking whether we were in the practice phase. I reordered the checks so practice renders correctly even for replayed lessons. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build chmod , chown , sudo for the Permissions section Write lesson content for lessons 21-24 Build the Final Mission with a timer and game-style objectives Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I finished writing all 25 lessons and fixed several issues with the lesson system. The lessons are organized into 5 sections - Introduction, Navigation, Files, Text & Redirection, and Permissions - plus a final congratulations lesson. Each practice lesson has multiple steps, so instead of a single command to type, the user might create a file, change its permissions, and verify with ls -l . The window tracks progress with markers like [x] , [>] , and [ ] so it is clear where the user is. I also fixed bugs I found while testing the flow: The lesson window didn’t reset the filesystem between practices. If you completed mkdir projects once, replaying the lesson would fail because the folder already existed. Now the filesystem resets to a clean state at the start of every practice lesson. Sudo commands weren’t detected by the practice check. The checker only saw the inner command ( chown root file.txt ), not the full sudo chown root file.txt . Fixed by passing the full command through. Lesson 25 no longer has a practice - it just says “Congratulations! You finished Teach Terminal.” with a short message about what the user learned. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output, sudo flow command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 5 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , chmod , chown , sudo , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Add grep , head , tail Add pipes ( | ) and shell operators ( && , || , ; ) Wildcards and brace expansion Try It Live Demo
Ships:
Teach Terminal I made Teach Terminal - a browser-based Linux terminal simulator for learning basic Linux commands. The main problem I wanted to solve is that learning Linux from documentation can be very passive. You read what cd or chmod does, but you don’t really remember it until you use it yourself. Also, using a real Linux system can be a little scary for beginners because one wrong command can cause problems. Teach Terminal gives you a fake Linux filesystem where you can practice without breaking a real computer. You can log in, choose a mode, and start learning. There are 25 lessons in 5 sections: Introduction, Navigation, Files, Text & Redirection, and Permissions. Every lesson has a small lecture and then practice. In the practice you need to type commands yourself, for example pwd , ls -la , chmod 755 , or sudo chown root file.txt . The terminal gives output and errors similar to what you can get in a real Ubuntu terminal. Note: This is a simulation. It does not enforce all Linux permissions and security rules, so some commands may behave differently than on a real system. What was challenging The fake filesystem was one of the harder parts. I made two classes for it. FileSystem handles the filesystem tree and navigation, and file represents the individual files and folders. It also stores things like permissions, owner, size and modification date. Getting absolute paths working was also a little difficult. I needed to go from the current file or folder to its parents until I reach the root. It is kind of like following a linked list backwards. Another problem was checking commands in multi-step practices. For example, when a user runs sudo chown root file.txt , the practice checker needs to check the whole command and not only chown root file.txt . I also had problems with resetting the practice state. If I make a folder with mkdir projects and then start the same practice again, it will fail because the folder already exists. So I needed to reset the practice filesystem when starting it again. Things I am happy with The lesson engine is probably the part I worked most on. It handles the lecture, practice, success state, and the progress for each step. I also made the lesson window draggable and minimizable. Pressing Escape can toggle the window. The terminal currently supports 16 commands and some extra features like flags, redirection ( > , >> , < , 2> ), tab autocomplete, arrow-key command history, and sudo with password checking. I also added 3 themes: Ubuntu, Hacker and Kali. The themes are used across the different pages. How to test Open the demo link. Go to Settings and choose a theme: Ubuntu, Hacker, or Kali. Log in with a valid username, machine name and password. Choose Guided Path if you want to try the lessons, or Free Exploration if you just want to use the terminal. In a lesson, read the lecture and click Start Practice . Type the commands in the terminal and follow the steps. Some commands you can try: pwd ls -la mkdir test cd test touch file.txt chmod 755 file.txt sudo chown root file.txt The project is made with plain HTML, CSS and JavaScript. I didn’t use frameworks or external dependencies....
|
1793148558.84946
|
1793234958.84946
|
|
46399
|
Margen by @jupeme6 | Stardance
|
jupeme6
|
2
|
42.0
|
393
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T11:27:08Z", "hours": 22.0, "multiplier": 10.32, "payout": 225, "blessing": "neutral", "text": "What did you make? A markdown note editor called Margen with a digital typewriter aesthetic. Three columns: sidebar with notes, raw markdown editor, live preview. The parser is written from scratch, no library. Six betas added LaTeX support with KaTeX, a formula toolbar, dark mode, ES/EN i18n, code highlighting, PWA offline, import/export, folders with colors, linked notes via [[wiki-style]] syntax, and formula OCR via Tesseract.js. Local-first, no account, no server. What was challenging? The markdown parser broke on multi-line constructs. Rewrote it line-by-line. KaTeX loads async so had to chain CSS then JS then auto-render. Formula OCR needed a text-to-LaTeX converter since Tesseract is for text not math. What are you proud of? The parser from scratch, the formula toolbar for non-LaTeX users, and the whole thing working offline as a PWA. What should people know so they can test? Open the demo. Choose language on first launch. Click + for new note. Type markdown, see live preview. Press ? for cheat sheet. Click “formulas” for math buttons. Click camera to scan a formula. Create folders with colors. Link notes with [[Title]]. Gear icon for dark mode and language. Live demo: https://notjuangamer10.github.io/margen/ Source: https://github.com/notjuangamer10/margen", "repo": "https://github.com/NOTJuangamer10/margen", "demo": "https://notjuangamer10.github.io/margen/"}, {"ship_num": 2, "ts": "2026-08-13T14:13:11Z", "hours": 20.0, "multiplier": 8.34, "payout": 168, "blessing": "neutral", "text": "What did you make? A markdown note editor called Margen, built with a “digital typewriter” aesthetic. The app is a three-column layout: a sidebar with the list of notes, a raw markdown editor pane, and a live preview pane that renders the markdown as you type. The markdown parser is written from scratch, no marked.js or any library, just a chain of regex and line-by-line processing. Built in four planned betas, currently on Beta 3. Beta 1 was the basics: editor, preview, note list, search, auto-save. Beta 2 fixed a bug where opening a note to read it would mark it as modified, added a markdown cheat sheet accessible via a button, and rewrote the markdown parser which had bugs with lists, blockquotes and code blocks. Beta 3 added LaTeX support via KaTeX for math formulas, a formula toolbar with 16 buttons that insert LaTeX at the cursor so you don’t need to know LaTeX syntax, a dark mode with a warm dark palette, and an ES/EN language toggle. Everything is local-first, stored in localStorage, no account, no server, no tracking. The goal is a clean, offline place to write university notes with formulas, without the bloat of Notion or the online-only dependency of most editors. What was challenging? The markdown parser was the hardest part. My first version used a single regex per element type, which broke on multi-line constructs like lists and blockquotes. The blockquote bug was sneaky: after escaping HTML, the > character becomes >, but my regex was looking for > literally, so blockquotes never matched. Rewrote the parser to process line by line, opening and closing ul/ol/blockquote tags as it goes, and protecting code blocks in a temporary array so other regexes don’t touch them. The LaTeX integration had a loading order issue. KaTeX loads from CDN asynchronously, so the first renderMathInElement call would fail because the library wasn’t ready yet. Had to chain the loads: first KaTeX CSS, then KaTeX JS, then the auto-render extension, and only then try to render. If a formula has a syntax error, I set throwOnError to false so it shows the raw LaTeX instead of breaking the whole preview. The dirty flag bug from Beta 2 was a design problem. Before, every time you opened a note it would save with modificada=now and jump to the top of the sidebar, which made browsing notes frustrating. Had to track whether the user actually changed anything before marking a note as modified. What are you proud of? The markdown parser, written entirely from scratch, no library. About 150 lines of regex and line-by-line processing, handles headers, bold, italic, lists, code blocks, inline code, links, images, blockquotes and horizontal rules. The formula toolbar with 16 buttons that insert LaTeX at the cursor position, so you can write math without knowing LaTeX syntax. And the “digital typewriter” aesthetic: Bitter serif for rendered content, Inter for UI, JetBrains Mono for the raw editor, thin dividing lines instead of cards or shadows. What should people know so they can test your project? Open the demo URL. A welcome note with markdown examples appears on first launch. Click the + button in the sidebar to create a new note. Type markdown in the left pane, see it rendered live in the right pane. Click the ? button to open a markdown cheat sheet. Click the “formulas” button in the editor header to open a toolbar with 16 math buttons (square root, integral, fraction, etc.) that insert LaTeX at the cursor. Click the “ajustes” button to switch between light/dark mode and ES/EN language. Notes auto-save to localStorage, nothing is sent anywhere. Live demo: https://notjuangamer10.github.io/margen/ Source: https://github.com/notjuangamer10/margen", "repo": "https://github.com/NOTJuangamer10/margen", "demo": "https://notjuangamer10.github.io/margen/"}]...
|
[{"post_id": 53666, "ts": "202 [{"post_id": 53666, "ts": "2026-08-24T10:30:30Z", "hours": 5.8731, "text": "Margen Beta 6, the final version. Three new features.Folders with colors. You can create folders (subjects) and assign notes to them. Each folder gets a color from a preset palette. The sidebar shows a folder list above the notes, click a folder to filter. A selector in the editor header lets you assign or change the folder of the current note. Useful for organizing by subject: Calculus, Physics, Programming.Linked notes. You can now link notes together using double brackets like [[Note Title]]. The parser finds the note by title and creates a clickable link in the preview. Click it and the linked note opens. If the note doesn’t exist, it shows in red with strikethrough. Useful for connecting related topics across subjects.Formula OCR. A camera button in the editor header lets you upload a photo of a math formula. Tesseract.js extracts the text and a basic converter turns common math notation into LaTeX: ^ becomes ^{}, sqrt becomes \\sqrt{}, int becomes \\int, Greek letters get backslashed, etc. The result is inserted at the cursor wrapped in $$ for block math. It’s not perfect OCR (Tesseract is designed for text, not math) but it gives you a starting point that you can edit manually.Calling Margen complete. Six betas across editor, parser, cheat sheet, LaTeX, dark mode, i18n, code highlighting, PWA, import, export, onboarding, shortcuts, focus mode, word count, folders, linked notes and formula OCR."}, {"post_id": 53355, "ts": "2026-08-23T21:25:38Z", "hours": 7.2656, "text": "Margen 5.2. Onboarding, power features, and translation fixes.Language prompt on first launch. New users see a modal asking them to choose Spanish or English before the app loads. This was the top complaint from reviewers, who said the language toggle was hard to find.Onboarding tour. First-time visitors get a welcome screen explaining how Margen works: type markdown on the left, see it rendered on the right, press + for new note, press ? for cheat sheet, press “formulas” for math buttons. Also lists the keyboard shortcuts. Dismissible with one click.Keyboard shortcuts. Ctrl+B for bold, Ctrl+I for italic, Ctrl+N for new note, Ctrl+E for focus mode, Ctrl+S for save. The shortcuts wrap the selected text or insert empty markers if nothing is selected.Focus mode. A toggle button (or Ctrl+E) hides the sidebar so you can write without distractions. The editor and preview center on screen with a max width for comfortable reading.Word counter. A small character and word count appears in the editor header, updating live as you type.Translation fixes. The welcome note and the markdown cheat sheet now respect the language setting and switch between Spanish and English fully. Relative dates like “ahora mismo” now show as “just now” in English."}, {"post_id": 52997, "ts": "2026-08-23T11:47:00Z", "hours": 4.8347, "text": "Margen 5.1. Fixes based on reviewer feedback.Full i18n. Before, switching to English left several strings in Spanish because only parts of the UI were translated. Now everything visible translates: buttons, placeholders, footer, header, cheat sheet, settings panel, export/import labels. The language toggle updates the UI in real time without needing a reload.Strikethrough support. Added text syntax to the markdown parser for strikethrough text. Also added it to the cheat sheet.Auto-detect language. On first launch, Margen now checks the browser’s language setting and defaults to English or Spanish accordingly. The user can still override it in settings.Export as .md. The export button now opens a small menu with three options: export as HTML (downloads a standalone file, no new tab), export as Markdown (.md file), and print to PDF. Previously it only exported HTML and opened a new tab, which was annoying."}, {"post_id": 52215, "ts": "2026-08-22T09:50:08Z", "hours": 3.8311, "text": "Beta 4 of Margen, the final version. Four additions. Code syntax highlighting via highlight.js. Code blocks in the preview now get colored based on language. Works in dark mode too. Export and import. An export button downloads the current note as a standalone HTML file with markdown, LaTeX and code already rendered, and opens the print dialog so you can save it as PDF. An import button lets you load an existing .md file as a new note. PWA installable. A service worker caches the core files so the app works offline on desktop and Android. The manifest is generated dynamically. CDN assets like KaTeX and highlight.js are not cached to avoid bloat, so formulas and code highlighting need internet the first time, but the app itself, your notes and the markdown parser all work offline. Calling Margen done. Four betas: basic editor, parser fix and cheat sheet, LaTeX and dark mode, now code highlighting, import, export and PWA."}, {"post_id": 46300, "ts": "2026-08-13T13:07:03Z", "hours": 5.9975, "text": "Beta 3 of Margen adds LaTeX support, dark mode and multi-language. LaTeX is the big one. KaTeX loads from CDN the first time you need it, then renders $…$ as inline math and $$…$$ as block math. So you can write $E=mc^2$ inline or a full integral in a block. If a formula has an error it just shows the raw text instead of breaking the preview. The formula toolbar was important to me because I don’t know LaTeX syntax by heart. A “formulas” button in the editor header opens a bar with 16 buttons: square root, integral, fraction, superscript, subscript, sum, limit, Greek letters, infinity, plus-minus, inequalities, arrows. Click one and it inserts the LaTeX at the cursor position, then you just fill in the blanks. No need to remember that integral is \\int_{}^{} or that fraction is \\frac{}{}. Dark mode uses a warm dark palette instead of the usual cold gray, so it still feels like the typewriter aesthetic. The toggle is in a settings panel in the sidebar, along with an ES/EN language switch that translates the whole UI. Next version will be the last: code syntax highlighting, PDF export, and PWA installable for offline use on desktop and Android. But I’m starting to get tired, so i wil be on vacation for the next week!"}, {"post_id": 45569, "ts": "2026-08-12T04:40:53Z", "hours": 6.3206, "text": "Beta 2 of Margen fixes a usability bug and adds helpful features. Fixed the modified timestamp bug. Before, every time you opened a note to read it, it would save with modificada=now and jump to the top of the sidebar list. Now there is a dirty flag that tracks whether you actually changed anything. Opening a note to read it does not mark it as modified. The sidebar list stays stable when you are just browsing. Added a markdown cheat sheet. A ? button in the sidebar opens a floating panel with the full syntax: headers, bold, italic, lists, code blocks, links, images, blockquotes, horizontal rules. Useful for when you forget how to do something without leaving the editor. Also added a welcome note that appears on first launch with examples of every markdown feature rendered in the preview. You can delete it if you want. Changed the typography from Source Serif 4 to Bitter, a slab serif that gives a more typewriter feel without being monospaced. Still legible, but more character. I personally like this version, this is like, the base of what i want to build, i would leave it like this and thats it, but I feel that i can get better at coding if i just add more things, it would be more usefull"}, {"post_id": 45210, "ts": "2026-08-11T15:15:38Z", "hours": 7.8731, "text": "Started a new project called Margen, a markdown note editor for university notes. The idea came from wanting a clean, offline place to write notes with formulas, without the bloat of Notion or the online-only dependency of most editors. Beta 1 is the basics. A three-column layout: sidebar with the list of notes, editor pane with a monospace textarea, and a live preview pane that renders markdown as you type. The markdown parser is written from scratch, no marked.js or any library, just a chain of regex replaces handling headers, bold, italic, lists, code blocks, inline code, links, images, blockquotes and horizontal rules. The design is “digital typewriter”: white background, serif typography for the rendered content, monospace for the raw editor, thin dividing lines instead of cards or shadows. The aesthetic is deliberately calm and distraction-free, like iA Writer or Bear. Notes auto-save to localStorage 400ms after you stop typing. There is also a Ctrl+S shortcut for manual save. The sidebar shows title, first line preview and relative date for each note, and filters instantly as you type in the search bar. Next version will add subjects (folders), tags, and better organization."}]...
|
Title: Margen by @jupeme6 | Stardance
Devlogs:
St Title: Margen by @jupeme6 | Stardance
Devlogs:
Started a new project called Margen, a markdown note editor for university notes. The idea came from wanting a clean, offline place to write notes with formulas, without the bloat of Notion or the online-only dependency of most editors. Beta 1 is the basics. A three-column layout: sidebar with the list of notes, editor pane with a monospace textarea, and a live preview pane that renders markdown as you type. The markdown parser is written from scratch, no marked.js or any library, just a chain of regex replaces handling headers, bold, italic, lists, code blocks, inline code, links, images, blockquotes and horizontal rules. The design is “digital typewriter”: white background, serif typography for the rendered content, monospace for the raw editor, thin dividing lines instead of cards or shadows. The aesthetic is deliberately calm and distraction-free, like iA Writer or Bear. Notes auto-save to localStorage 400ms after you stop typing. There is also a Ctrl+S shortcut for manual save. The sidebar shows title, first line preview and relative date for each note, and filters instantly as you type in the search bar. Next version will add subjects (folders), tags, and better organization.
Beta 2 of Margen fixes a usability bug and adds helpful features. Fixed the modified timestamp bug. Before, every time you opened a note to read it, it would save with modificada=now and jump to the top of the sidebar list. Now there is a dirty flag that tracks whether you actually changed anything. Opening a note to read it does not mark it as modified. The sidebar list stays stable when you are just browsing. Added a markdown cheat sheet. A ? button in the sidebar opens a floating panel with the full syntax: headers, bold, italic, lists, code blocks, links, images, blockquotes, horizontal rules. Useful for when you forget how to do something without leaving the editor. Also added a welcome note that appears on first launch with examples of every markdown feature rendered in the preview. You can delete it if you want. Changed the typography from Source Serif 4 to Bitter, a slab serif that gives a more typewriter feel without being monospaced. Still legible, but more character. I personally like this version, this is like, the base of what i want to build, i would leave it like this and thats it, but I feel that i can get better at coding if i just add more things, it would be more usefull
Beta 3 of Margen adds LaTeX support, dark mode and multi-language. LaTeX is the big one. KaTeX loads from CDN the first time you need it, then renders $…$ as inline math and $$…$$ as block math. So you can write $E=mc^2$ inline or a full integral in a block. If a formula has an error it just shows the raw text instead of breaking the preview. The formula toolbar was important to me because I don’t know LaTeX syntax by heart. A “formulas” button in the editor header opens a bar with 16 buttons: square root, integral, fraction, superscript, subscript, sum, limit, Greek letters, infinity, plus-minus, inequalities, arrows. Click one and it inserts the LaTeX at the cursor position, then you just fill in the blanks. No need to remember that integral is \int_{}^{} or that fraction is \frac{}{}. Dark mode uses a warm dark palette instead of the usual cold gray, so it still feels like the typewriter aesthetic. The toggle is in a settings panel in the sidebar, along with an ES/EN language switch that translates the whole UI. Next version will be the last: code syntax highlighting, PDF export, and PWA installable for offline use on desktop and Android. But I’m starting to get tired, so i wil be on vacation for the next week!
Beta 4 of Margen, the final version. Four additions. Code syntax highlighting via highlight.js. Code blocks in the preview now get colored based on language. Works in dark mode too. Export and import. An export button downloads the current note as a standalone HTML file with markdown, LaTeX and code already rendered, and opens the print dialog so you can save it as PDF. An import button lets you load an existing .md file as a new note. PWA installable. A service worker caches the core files so the app works offline on desktop and Android. The manifest is generated dynamically. CDN assets like KaTeX and highlight.js are not cached to avoid bloat, so formulas and code highlighting need internet the first time, but the app itself, your notes and the markdown parser all work offline. Calling Margen done. Four betas: basic editor, parser fix and cheat sheet, LaTeX and dark mode, now code highlighting, import, export and PWA.
Margen 5.1. Fixes based on reviewer feedback.Full i18n. Before, switching to English left several strings in Spanish because only parts of the UI were translated. Now everything visible translates: buttons, placeholders, footer, header, cheat sheet, settings panel, export/import labels. The language toggle updates the UI in real time without needing a reload.Strikethrough support. Added text syntax to the markdown parser for strikethrough text. Also added it to the cheat sheet.Auto-detect language. On first launch, Margen now checks the browser’s language setting and defaults to English or Spanish accordingly. The user can still override it in settings.Export as .md. The export button now opens a small menu with three options: export as HTML (downloads a standalone file, no new tab), export as Markdown (.md file), and print to PDF. Previously it only exported HTML and opened a new tab, which was annoying.
Margen 5.2. Onboarding, power features, and translation fixes.Language prompt on first launch. New users see a modal asking them to choose Spanish or English before the app loads. This was the top complaint from reviewers, who said the language toggle was hard to find.Onboarding tour. First-time visitors get a welcome screen explaining how Margen works: type markdown on the left, see it rendered on the right, press + for new note, press ? for cheat sheet, press “formulas” for math buttons. Also lists the keyboard shortcuts. Dismissible with one click.Keyboard shortcuts. Ctrl+B for bold, Ctrl+I for italic, Ctrl+N for new note, Ctrl+E for focus mode, Ctrl+S for save. The shortcuts wrap the selected text or insert empty markers if nothing is selected.Focus mode. A toggle button (or Ctrl+E) hides the sidebar so you can write without distractions. The editor and preview center on screen with a max width for comfortable reading.Word counter. A small character and word count appears in the editor header, updating live as you type.Translation fixes. The welcome note and the markdown cheat sheet now respect the language setting and switch between Spanish and English fully. Relative dates like “ahora mismo” now show as “just now” in English.
Margen Beta 6, the final version. Three new features.Folders with colors. You can create folders (subjects) and assign notes to them. Each folder gets a color from a preset palette. The sidebar shows a folder list above the notes, click a folder to filter. A selector in the editor header lets you assign or change the folder of the current note. Useful for organizing by subject: Calculus, Physics, Programming.Linked notes. You can now link notes together using double brackets like [[Note Title]]. The parser finds the note by title and creates a clickable link in the preview. Click it and the linked note opens. If the note doesn’t exist, it shows in red with strikethrough. Useful for connecting related topics across subjects.Formula OCR. A camera button in the editor header lets you upload a photo of a math formula. Tesseract.js extracts the text and a basic converter turns common math notation into LaTeX: ^ becomes ^{}, sqrt becomes \sqrt{}, int becomes \int, Greek letters get backslashed, etc. The result is inserted at the cursor wrapped in $$ for block math. It’s not perfect OCR (Tesseract is designed for text, not math) but it gives you a starting point that you can edit manually.Calling Margen complete. Six betas across editor, parser, cheat sheet, LaTeX, dark mode, i18n, code highlighting, PWA, import, export, onboarding, shortcuts, focus mode, word count, folders, linked notes and formula OCR.
Ships:
What did you make? A markdown note editor called Margen, built with a “digital typewriter” aesthetic. The app is a three-column layout: a sidebar with the list of notes, a raw markdown editor pane, and a live preview pane that renders the markdown as you type. The markdown parser is written from scratch, no marked.js or any library, just a chain of regex and line-by-line processing. Built in four planned betas, currently on Beta 3. Beta 1 was the basics: editor, preview, note list, search, auto-save. Beta 2 fixed a bug where opening a note to read it would mark it as modified, added a markdown cheat sheet accessible via a button, and rewrote the markdown parser which had bugs with lists, blockquotes and code blocks. Beta 3 added LaTeX support via KaTeX for math formulas, a formula toolbar with 16 buttons that insert LaTeX at the cursor so you don’t need to know LaTeX syntax, a dark mode with a warm dark palette, and an ES/EN language toggle. Everything is local-first, stored in localStorage, no account, no server, no tracking. The goal is a clean, offline place to write university notes with formulas, without the bloat of Notion or the online-only dependency of most editors. What was challenging? The markdown parser was the hardest part. My first version used a single regex per element type, which broke on multi-line constructs like lists and blockquotes. The blockquote bug was sneaky: after escaping HTML, the > character becomes >, but my regex was looking for > literally, so blockquotes never matched. Rewrote the parser to process line by line, opening and closing ul/ol/blockquote tags as it goes, and protecting code blocks in a temporary array so other regexes don’t touch them. The LaTeX integration had a loading order issue. KaTeX loads from CDN asynchronously, so the first renderMathInElement call would fail because the library wasn’t ready yet. Had to chain the loads: first KaTeX CSS, then KaTeX JS, then the auto-render extension, and only then try to render. If a formula has a syntax error, I set throwOnError to false so it shows the raw LaTeX instead of breaking the whole preview. The dirty flag bug from Beta 2 was a design problem. Before, every time you opened a note it would save with modificada=now and jump to the top of the sidebar, which made browsing notes frustrating. Had to track whether the user actually changed anything before marking a note as modified. What are you proud of? The markdown parser, written entirely from scratch, no library. About 150 lines of regex and line-by-line processing, handles headers, bold, italic, lists, code blocks, inline code, links, images, blockquotes and horizontal rules. The formula toolbar with 16 buttons that insert LaTeX at the cursor position, so you can write math without knowing LaTeX syntax. And the “digital typewriter” aesthetic: Bitter serif for rendered content, Inter for UI, JetBrains Mono for the raw editor, thin dividing lines instead of cards or shadows. What should people know so they can test your project? Open the demo URL. A welcome note with markdown examples appears on first launch. Click the + button in the sidebar to create a new note. Type markdown in the left pane, see it rendered live in the right pane. Click the ? button to open a markdown cheat sheet. Click the “formulas” button in the editor header to open a toolbar with 16 math buttons (square root, integral, fraction, etc.) that insert LaTeX at the cursor. Click the “ajustes” button to switch between light/dark mode and ES/EN language. Notes auto-save to localStorage, nothing is sent anywhere. Live demo: https://notjuangamer10.github.io/margen/ Source: https://github.com/notjuangamer10/margen
What did you make? A markdown note editor called Margen with a digital typewriter aesthetic. Three columns: sidebar with notes, raw markdown editor, live preview. The parser is written from scratch, no library. Six betas added LaTeX support with KaTeX, a formula toolbar, dark mode, ES/EN i18n, code highlighting, PWA offline, import/export, folders with colors, linked notes via [[wiki-style]] syntax, and formula OCR via Tesseract.js. Local-first, no account, no server. What was challenging? The markdown parser broke on multi-line constructs. Rewrote it line-by-line. KaTeX loads async so had to chain CSS then JS then auto-render. Formula OCR needed a text-to-LaTeX converter since Tesseract is for text not math. What are you proud of? The parser from scratch, the formula toolbar for non-LaTeX users, and the whole thing working offline as a PWA. What should people know so they can test? Open the demo. Choose language on first launch. Click + for new note. Type markdown, see live preview. Press ? for cheat sheet. Click “formulas” for math buttons. Click camera to scan a formula. Create folders with colors. Link notes with [[Title]]. Gear icon for dark mode and language. Live demo: https://notjuangamer10.github.io/margen/ Source: https://github.com/notjuangamer10/margen...
|
1792878577.2213483
|
1793742577.2213483
|
|
63142
|
P1ˣᵖ by @starvulkan | Stardance
|
starvulkan
|
1
|
42.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T02:08:50Z", "hours": 42.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "P1xp!", "repo": "https://github.com/starvulkan/P1xp", "demo": "https://github.com/starvulkan/P1xp/releases/latest"}]...
|
[{"post_id": 78921, "ts": "202 [{"post_id": 78921, "ts": "2026-10-12T01:53:55Z", "hours": 3.1594, "text": "vroom vroom, Devlog 15: STARVULKAN WINS THE MENTAL SANITY GRAND PRIX ! guysss FINALLYY, after weeks and weeks of slowly decaying into insanity, i’ve FINALLYY finished this very cool and amazing project!! im so happy with how things came along at the end, and I hope y’all can enjoy this silly little F1 project! testing during the race went as smooth the smooth operator 55 himself before 2026, with basically one lone issue, that being the app struggling to refresh the race weekend post race (throughout the whole developing process my biggest enemy was that ending transition huh). that’s now fixed, it now uses storage to know if to refresh. wrote the whole readme today as well, by far the most effort i’ve ever made for a readme, but i had to cuz this project means quite a lot to me. and as a final feature, cuz if i didnt i would get exterminated from this planet by the copyright agents, i added the possibility for you to choose your track images for the hero! since i had to delete the hero images that came bundled before cuz copyright and redistribution and stuff, the app, by default, now comes with no hero image, just a silly gradient. you, the user, now have the power of choosing the circuit hero image, bring your own from whatever source! details on how to do this in the readme! and yea! like that, i’m finally shipping this project of mine! thanks to y’all that have followed the whole development process and my (alleged) suffering and gave your amazing support! it truly means a lot to me 💖."}, {"post_id": 78530, "ts": "2026-10-11T03:31:16Z", "hours": 2.2725, "text": "vroom vroom, Devlog 14: WE’RE NEARLY THEREEE!! im sooo closee to finishing this projectt! im actually soo happy with how things are coming along! although working on this messed up my sleep schedule very badly its really all been worth it. singapore quali testing went better than i expected, with the issues really just being the join live button hiding behind the hero cuz i forgot how to do basic css and the session end and live mode exit feeling very jarring as it ended immediately when the session ended, which combined with the F1 TV broadcast being off by aprox. 30 seconds, made the transition feel off. both of these have been fixed (more info below)! once again, im too tired to write another explanation for all the changes and updates i did, so its time to let github release notes me speak lol updates and changes in this build (tag 1.0.0-beta) 1. After a session ends, the app no longer leaves live mode immediately, rather it freezes final data (after 5 mins of wait to ensure all data is final) and waits until the user manually clicks exit live. this is to avoid the transition from live mode back to countdown from being very jarring, especially considering that F1 TV stream is delayed by a varying number of seconds. 2. added car status badges in the tower (these indicate if a car/driver is out, retired, in pit, or eliminated, and greys them out accordingly)! 3. animations in the tower! these indicate when a driver changes positions (either by overtaking/getting overtaken in race/sprint, or setting faster laps in practice/qualis). by obvious reasons, these project better in live mode than in demo mode (the whole thing is sped up x3, its an animation party lol). also didnt mention this in github but i added an about button in the app so its easier to find the build version yes you heard that right, this aint a DEV build, im confident enough in this build to finally upgrade the app to beta! if everything goes well tomorrow during the race, im finally releasing v1 and shipping this project! and if you ask why i just tested with quali and not with the sprint as i promised, eeeeh i may or may not have completely missed my alarm and slept through the sprint… DONT BLAME ME IM TIRED AF"}, {"post_id": 78212, "ts": "2026-10-09T23:53:23Z", "hours": 3.3825, "text": "vroom vroom, Devlog 13: post-singapore sprint quali testing! basically every feature worked during this test, but at the end of SQ2 the app decided to kill my hopes and dreams by exiting live mode mid-session, but i think ive found the fix (hopefully). once again, since ive not slept for over 30 hours atp, i am too tired to rewrite a new explanation for all the changes i did during this time period, so imma think smarter, not harder by recycling my very good and thorough explanation i used for the github release notes lol these are the changes and updates in this new build (DEV_0.3.0): 1. Instead of using an automatic switcher (which proved to give lots of errors) to switch between live mode and countdown, now you can enter/exit live mode through a button (when there’s an ongoing live session). 2. lap counter for races & sprints (only available in live mode). 3. Track map and live mode changes & updates (using MultiView’s API): better circuit outlines and color change for better visibility, track map broadcast orientation, numbered corners, sector flag zones, and pit loss with safety car and VSC figures. and yea, that’s that! now imma go get some real good sleep before waking up at 3 am AGAIN to test with the sprint race why do i do this to myself"}, {"post_id": 78051, "ts": "2026-10-09T11:51:21Z", "hours": 1.5442, "text": "vroom vroom, Devlog 12: post-singapore fp1 testing! WOW THE THING THAT DOES THE LIVE THING WORKS (kinda ig but YAYY nonetheless i wont have to experience more unnecessary mental decay !! ) had to fix a few things, some are bigger issues than others but i think i have permanent solutions for those (hopefully)! as described in the new github repo pre-release (tag DEV_0.2.0), main changes include: updates to the track map (had rendering issues and is incapable of projecting driver position dots without a F1 TV subscription token, so it’s stuck as a simple track map for now, I might add the option to connect to your F1 TV subscription in a future update). driver acronym fix (due to update overwrite blanking the driver acronyms were turning into their number fallbacks mid-session). proper session ending (now you should NOT have to wait an eternity for the app to leave live mode after a session ends, i hope!). i really didnt feel like writing another explanation for that lol ive barely slept tonight and sprint quali is in about 40 mins, so yea no more sleeping for me yayyy endme . so yea, its time for testing round 2! lets see how that goes."}, {"post_id": 78005, "ts": "2026-10-09T04:49:58Z", "hours": 1.4967, "text": "vroom vroom, Devlog 11.5: get lance strolled so major oversight, two issues that i completely forgot to fix before packaging came to my mind again. specifically: 1. the app was incapable of entering live mode on a fresh install during race weekend, cuz the cache was never created. 2. in case of a delay, cuz the live mode timer follows the predicted end time, the app would exit live mode before the session itself actually finished. these two are now fixed. now, the schedule comes bundled with the build, and proper processing in case of delay was added, only downside is that the app will take long to exit live mode, as it will stay waiting for signals after a session finishes, as this is the sacrifice to avoid, yk, leaving the whole session while its going on! installers for this build (DEV_0.1.1) are also now available in the repo. we will be back in 3 hours…"}, {"post_id": 77601, "ts": "2026-10-07T16:22:54Z", "hours": 0.8322, "text": "vroom vroom, Devlog 11: short n’ sweet short work session today i added an offline fallback to the drivers list in setup, as that was the only openf1-dependent item that still didnt have a fallback. it is also capable of self-updating. most importantly tho, i packaged the app itself! runners and installers are now available in the github repo (pre-release tag DEV_0.1.0), so feel free to try them out and to help out identifying bugs during the live testing this week in singapore! available for windows, macOS, and linux!"}, {"post_id": 77377, "ts": "2026-10-06T18:19:27Z", "hours": 1.1767, "text": "vroom vroom, Devlog 10.5: debugging dewormers this is a short one, just added a few visual debuggers in live stream mode in case of unexpected inchidents during live testing. i really dont have a good image for this devlog, so take the countdown to the day in which the f1 gods will decide to either keep me alive or to kill me."}, {"post_id": 77214, "ts": "2026-10-06T03:39:52Z", "hours": 5.4253, "text": "vroom vroom, Devlog 10: ITS LIGHTS OUT AND AWAY WE GO (untested) pt.2 yes im very creative with my devlog names and like in pt.1, ive just finished my longest work session EVER. but the process sure makes it worth it. first and foremost, the electron stuff is ready, so P1xp is now capable of invading your desktop! isnt that so cool? the new live session data fetcher is now ready to be tested! its, in short, a signalR core client in the electron main process that connects straight to f1’s own live timing feed, which is hosted in their servers. unlike openf1, this one is free and requires no account to access live data. due to f1’s feed being completely different from openf1’s as it sends partial deltas (so one driver and one field at a time), a naive merge wipes data it didnt mention. so, ive created a new converter that keeps a cache per driver and always emits complete rows, so the timing tower, track map, radio, and race control panes all project live data without a single change to any of them directly. in demo mode, the circuit outline for the track map comes from replaying a lap of position data. when live, theres no history. instead, the app accumulates each car’s trail as it goes and draws the whole circuit in roughly the first minute of running. IN THEORY (again), this should be a definite, fully functional build of P1xp. like before, i still need to test it live, so this week’s singapore gp will be my new test dummy. i created a recorder in the client thats capable of dumping every raw frame f1 sends to a file, plus a tool that reads a recording back and summarises what arrived. this allows me to have a recorded copy of singapore fp1 i can use as a permanent test fixture in case something doesnt work as intended during live testing. i really hope this works, im slowly going insane…"}, {"post_id": 76878, "ts": "2026-10-04T22:16:21Z", "hours": 4.5525, "text": "vroom vroom, Devlog 9: WE’RE BACK TO RACING!! so since i’ve only been able to work in short bursts of time over the past few days, progress had been very slow and not very devlog worthy, until today! i’ve been working on getting the most important OpenF1-dependent items to work offline, so in case of request blocks, they can still work just fine. this includes mainly the season calendar and the demo. the calendar now gets cached in storage for offline access. it is also able to update its contents by fetching from OpenF1 when possible, which helps make it proof to unexpected race calendar changes. for the demo, i created a .MJS file to create a .JSON file that saves the data from silverstone 2025 used in the demo. this allows the demo to always run offline and separate from openf1, instead of fetching data every time its used. this also allows the demo to run waaay faster than before, and makes it always available, even when openf1 blocks access to historical data when a live session is active. as a bonus, i also fixed the timing tower to actually differentiate between a race and practices/qualis, so for the latter it orders positions by best lap and show gaps to pole instead of race intervals, which are used for just the race itself. next up, i need to prepare the electron scaffolding for the app, as in order to fetch live data from F1 directly i need it to run as a desktop app. F1’s server doesnt send CORS headers, so browsers refuse to read it, but CORS is a browser rule, and electron’s main process is just node, so this allows a desktop app to connect where a webpage cant. and i need this to actually get the live session feed working, cuz as i said before… you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?!"}, {"post_id": 74717, "ts": "2026-09-28T02:04:18Z", "hours": 2.0064, "text": "vroom vroom, Devlog 8: HOW CAN YOU BE SO USELESS MAN?!?! pt.2 im backk! well technically ive been working a bit this whole time ive just not devlogged yet, so its time to report what has happened in the past few days! so as i mentioned last time, i tried to test with baku fp3, quali, and race, but my plan got cut short right in fp3. sooo due to my bad habit of not investigating deeply and not reading details, i didnt realize that OpenF1 doesnt give out LIVE session data to non-authorized users just historical data, which means there’s a paywall, stardance’s biggest enemy … soo effectively the project became useless in its current state. to add insult to injury, OpenF1 blocks all non-authorized requests to their servers when there’s a live session going on, so the whole app stops working when a live session begins lol you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?! if i had just investigated a bit further i would have found out that F1 themselves give out live session data for free. thing is, i can’t fetch this through web, so i will have to lock the app to desktop upon release. as for what ive actually done until now, i created a .json that saves the 2026 & 2027 calendars locally so it can fallback to that version when OpenF1 locks their servers and the home menu stops fetching data from them directly. this .json will also be capable of updating its contents when its fetching live from OpenF1, so in case of small inchidents (ahem war) that cause a race to be cancelled or changed of location (i sure love the bahrain gp in malaysia), the local calendar.json can update."}, {"post_id": 73429, "ts": "2026-09-25T02:20:58Z", "hours": 4.8192, "text": "vroom vroom, Devlog 7: ITS LIGHTS OUT AND AWAY WE GO (untested) FINALLYYY, after my longest work session ever, I got the live f1 session stream working*, with all the features i previously mentioned (time and position tower with wheel stats, race control, track map, team radios, and allocated space for F1 TV live stream if you are a subscriber)! *: the live stream was tested using past race data from silverstone 2025 (you can demo test the stream with the same data using the Demo option). It fetches the most eventful 10 minutes from this race, and plays them at 3x speed, so you can test most of the live stream features in less than 6 minutes! I still have to test the live stream with actual live session data from OpenF1, so i’ll use baku FP3, quali, and race to do this. You can join the testing and try P1xp out for the first time too, as all these changes are now public in the github pages deployment! If everything goes well during live testing, this version will be shipped! We’re so closeee!"}, {"post_id": 72533, "ts": "2026-09-23T04:47:23Z", "hours": 3.7092, "text": "vroom vroom, Devlog 6: less is more not a lot of visible progress today, but certainly a bunch of invisible developments! so most of the backend javascript scripts for the livestream session components (time and position tower, session data logger, track map) were programmed today. The possibility for a livestream demo was also added, to make it possible to test the livestream display screen even when a live f1 session isn’t going on at that time. This demo uses Silverstone 2025 for its race data, as it was quite a interesting and complete race with most of the data points that can be demoed and displayed by P1xp. tomorrow, i’ll edit and prepare the main 3 files (index.html, style.css, main.js) to use these scripts so these features can be deployed. i mean, its like the main selling point it would be outrageous if they weren’t available by the time baku fp1 starts, right? …right?"}, {"post_id": 72093, "ts": "2026-09-22T04:47:14Z", "hours": 1.0178, "text": "vroom vroom, Devlog 5: IMAGESSS!! so although once again my schedule really limited what i was able to do today, i was able to keep my promise and now there’s track display images in the countdown! woww so cool! added images for the tracks in the 2026 & 2027 calendars."}, {"post_id": 71589, "ts": "2026-09-21T03:28:01Z", "hours": 1.7422, "text": "vroom vroom: Devlog 4: hi starvulkan, my name is progress! i finally locked in and finished the stylesheet from its incomplete state, which means we have the first functioning deploy up now! tomorrow’s mission is to get good-looking track images for the big blank space on top of the countdown. i mean, its screaming to put an image on it!"}, {"post_id": 70956, "ts": "2026-09-20T03:08:22Z", "hours": 1.9233, "text": "vroom vroom, Devlog 3: wow… its… incomplete?!? yeaaa so due to my very fun schedule i didnt finish what i had intended to do today… i did finish index.html and the main JS script, so 2/3 ig! i really could only start the css stylesheet due to time, so im hopefully finishing that tomorrow, as well as actually testing if what i already did um… works. if everything goes well, the first actual deployed build should be up by tomorrow, so lets hope for the best! no updates to the github repo today, i want to finish these 3 fully first before committing and pushing."}, {"post_id": 70417, "ts": "2026-09-19T04:39:41Z", "hours": 1.2761, "text": "vroom vroom, Devlog 2: how can you be so useless man?! yeaa so my school made my free time vanish by adding so much stuff to do out of the blue, so yeaa kinda didnt do much today lol most importantly, the JavaScript base for the first time setup got done today, so thats something i guess… if my schedule allows it tomorrow i should start working on, yk, the actual main stuff (index.html, main.js, and style.css stuff). also i need to fix the currently broken deploy, as i have not updated the main files from their original vite templates state."}, {"post_id": 69961, "ts": "2026-09-18T04:04:00Z", "hours": 1.3525, "text": "vroom vroom, Devlog 1: the fun stuff so the idea for P1xp is to provide an unique way to experience F1, right from your pc. using data from openF1, it can show data like track info, current session positions, conditions, etc. If you are an F1 TV user (you’ll be able to determine all this through first time settings), you’ll get an allocated space in the app to place your F1 TV window to watch both the live stream and the session data simultaneously. if you are a F1 TV Premium user, you’ll also get a double allocated space to place the onboard cam for your favorite driver (also chosen through first time settings, this will matter for theming!). and speaking of theming, the app will offer multiple app themes and skins based on your favorite team chosen! today i did the vite scaffolding and the other fun environment setups and configs, and i programmed the JS controllers and bones for the team themes and the session schedules. it got too late to keep working on the rest, and i have homeworks to do soooo… i’ll work on the main functionality stuff tomorrow once im recharged lol. i need to get this app working before next thursday cuz the last F1 race weekend before Stardance ends is next week (welcome to skibidi toilet baku my dudesss 🔥🔥🔥) and after that its gonna be basically impossible to test the app. so yea i have a week to finish this! time to speedrunnnn"}]...
|
Title: P1ˣᵖ by @starvulkan | Stardance
Devlogs:
v Title: P1ˣᵖ by @starvulkan | Stardance
Devlogs:
vroom vroom, Devlog 1: the fun stuff so the idea for P1xp is to provide an unique way to experience F1, right from your pc. using data from openF1, it can show data like track info, current session positions, conditions, etc. If you are an F1 TV user (you’ll be able to determine all this through first time settings), you’ll get an allocated space in the app to place your F1 TV window to watch both the live stream and the session data simultaneously. if you are a F1 TV Premium user, you’ll also get a double allocated space to place the onboard cam for your favorite driver (also chosen through first time settings, this will matter for theming!). and speaking of theming, the app will offer multiple app themes and skins based on your favorite team chosen! today i did the vite scaffolding and the other fun environment setups and configs, and i programmed the JS controllers and bones for the team themes and the session schedules. it got too late to keep working on the rest, and i have homeworks to do soooo… i’ll work on the main functionality stuff tomorrow once im recharged lol. i need to get this app working before next thursday cuz the last F1 race weekend before Stardance ends is next week (welcome to skibidi toilet baku my dudesss 🔥🔥🔥) and after that its gonna be basically impossible to test the app. so yea i have a week to finish this! time to speedrunnnn
vroom vroom, Devlog 2: how can you be so useless man?! yeaa so my school made my free time vanish by adding so much stuff to do out of the blue, so yeaa kinda didnt do much today lol most importantly, the JavaScript base for the first time setup got done today, so thats something i guess… if my schedule allows it tomorrow i should start working on, yk, the actual main stuff (index.html, main.js, and style.css stuff). also i need to fix the currently broken deploy, as i have not updated the main files from their original vite templates state.
vroom vroom, Devlog 3: wow… its… incomplete?!? yeaaa so due to my very fun schedule i didnt finish what i had intended to do today… i did finish index.html and the main JS script, so 2/3 ig! i really could only start the css stylesheet due to time, so im hopefully finishing that tomorrow, as well as actually testing if what i already did um… works. if everything goes well, the first actual deployed build should be up by tomorrow, so lets hope for the best! no updates to the github repo today, i want to finish these 3 fully first before committing and pushing.
vroom vroom: Devlog 4: hi starvulkan, my name is progress! i finally locked in and finished the stylesheet from its incomplete state, which means we have the first functioning deploy up now! tomorrow’s mission is to get good-looking track images for the big blank space on top of the countdown. i mean, its screaming to put an image on it!
vroom vroom, Devlog 5: IMAGESSS!! so although once again my schedule really limited what i was able to do today, i was able to keep my promise and now there’s track display images in the countdown! woww so cool! added images for the tracks in the 2026 & 2027 calendars.
vroom vroom, Devlog 6: less is more not a lot of visible progress today, but certainly a bunch of invisible developments! so most of the backend javascript scripts for the livestream session components (time and position tower, session data logger, track map) were programmed today. The possibility for a livestream demo was also added, to make it possible to test the livestream display screen even when a live f1 session isn’t going on at that time. This demo uses Silverstone 2025 for its race data, as it was quite a interesting and complete race with most of the data points that can be demoed and displayed by P1xp. tomorrow, i’ll edit and prepare the main 3 files (index.html, style.css, main.js) to use these scripts so these features can be deployed. i mean, its like the main selling point it would be outrageous if they weren’t available by the time baku fp1 starts, right? …right?
vroom vroom, Devlog 7: ITS LIGHTS OUT AND AWAY WE GO (untested) FINALLYYY, after my longest work session ever, I got the live f1 session stream working*, with all the features i previously mentioned (time and position tower with wheel stats, race control, track map, team radios, and allocated space for F1 TV live stream if you are a subscriber)! *: the live stream was tested using past race data from silverstone 2025 (you can demo test the stream with the same data using the Demo option). It fetches the most eventful 10 minutes from this race, and plays them at 3x speed, so you can test most of the live stream features in less than 6 minutes! I still have to test the live stream with actual live session data from OpenF1, so i’ll use baku FP3, quali, and race to do this. You can join the testing and try P1xp out for the first time too, as all these changes are now public in the github pages deployment! If everything goes well during live testing, this version will be shipped! We’re so closeee!
vroom vroom, Devlog 8: HOW CAN YOU BE SO USELESS MAN?!?! pt.2 im backk! well technically ive been working a bit this whole time ive just not devlogged yet, so its time to report what has happened in the past few days! so as i mentioned last time, i tried to test with baku fp3, quali, and race, but my plan got cut short right in fp3. sooo due to my bad habit of not investigating deeply and not reading details, i didnt realize that OpenF1 doesnt give out LIVE session data to non-authorized users just historical data, which means there’s a paywall, stardance’s biggest enemy … soo effectively the project became useless in its current state. to add insult to injury, OpenF1 blocks all non-authorized requests to their servers when there’s a live session going on, so the whole app stops working when a live session begins lol you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?! if i had just investigated a bit further i would have found out that F1 themselves give out live session data for free. thing is, i can’t fetch this through web, so i will have to lock the app to desktop upon release. as for what ive actually done until now, i created a .json that saves the 2026 & 2027 calendars locally so it can fallback to that version when OpenF1 locks their servers and the home menu stops fetching data from them directly. this .json will also be capable of updating its contents when its fetching live from OpenF1, so in case of small inchidents (ahem war) that cause a race to be cancelled or changed of location (i sure love the bahrain gp in malaysia), the local calendar.json can update.
vroom vroom, Devlog 9: WE’RE BACK TO RACING!! so since i’ve only been able to work in short bursts of time over the past few days, progress had been very slow and not very devlog worthy, until today! i’ve been working on getting the most important OpenF1-dependent items to work offline, so in case of request blocks, they can still work just fine. this includes mainly the season calendar and the demo. the calendar now gets cached in storage for offline access. it is also able to update its contents by fetching from OpenF1 when possible, which helps make it proof to unexpected race calendar changes. for the demo, i created a .MJS file to create a .JSON file that saves the data from silverstone 2025 used in the demo. this allows the demo to always run offline and separate from openf1, instead of fetching data every time its used. this also allows the demo to run waaay faster than before, and makes it always available, even when openf1 blocks access to historical data when a live session is active. as a bonus, i also fixed the timing tower to actually differentiate between a race and practices/qualis, so for the latter it orders positions by best lap and show gaps to pole instead of race intervals, which are used for just the race itself. next up, i need to prepare the electron scaffolding for the app, as in order to fetch live data from F1 directly i need it to run as a desktop app. F1’s server doesnt send CORS headers, so browsers refuse to read it, but CORS is a browser rule, and electron’s main process is just node, so this allows a desktop app to connect where a webpage cant. and i need this to actually get the live session feed working, cuz as i said before… you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?!
vroom vroom, Devlog 10: ITS LIGHTS OUT AND AWAY WE GO (untested) pt.2 yes im very creative with my devlog names and like in pt.1, ive just finished my longest work session EVER. but the process sure makes it worth it. first and foremost, the electron stuff is ready, so P1xp is now capable of invading your desktop! isnt that so cool? the new live session data fetcher is now ready to be tested! its, in short, a signalR core client in the electron main process that connects straight to f1’s own live timing feed, which is hosted in their servers. unlike openf1, this one is free and requires no account to access live data. due to f1’s feed being completely different from openf1’s as it sends partial deltas (so one driver and one field at a time), a naive merge wipes data it didnt mention. so, ive created a new converter that keeps a cache per driver and always emits complete rows, so the timing tower, track map, radio, and race control panes all project live data without a single change to any of them directly. in demo mode, the circuit outline for the track map comes from replaying a lap of position data. when live, theres no history. instead, the app accumulates each car’s trail as it goes and draws the whole circuit in roughly the first minute of running. IN THEORY (again), this should be a definite, fully functional build of P1xp. like before, i still need to test it live, so this week’s singapore gp will be my new test dummy. i created a recorder in the client thats capable of dumping every raw frame f1 sends to a file, plus a tool that reads a recording back and summarises what arrived. this allows me to have a recorded copy of singapore fp1 i can use as a permanent test fixture in case something doesnt work as intended during live testing. i really hope this works, im slowly going insane…
vroom vroom, Devlog 10.5: debugging dewormers this is a short one, just added a few visual debuggers in live stream mode in case of unexpected inchidents during live testing. i really dont have a good image for this devlog, so take the countdown to the day in which the f1 gods will decide to either keep me alive or to kill me.
vroom vroom, Devlog 11: short n’ sweet short work session today i added an offline fallback to the drivers list in setup, as that was the only openf1-dependent item that still didnt have a fallback. it is also capable of self-updating. most importantly tho, i packaged the app itself! runners and installers are now available in the github repo (pre-release tag DEV_0.1.0), so feel free to try them out and to help out identifying bugs during the live testing this week in singapore! available for windows, macOS, and linux!
vroom vroom, Devlog 11.5: get lance strolled so major oversight, two issues that i completely forgot to fix before packaging came to my mind again. specifically: 1. the app was incapable of entering live mode on a fresh install during race weekend, cuz the cache was never created. 2. in case of a delay, cuz the live mode timer follows the predicted end time, the app would exit live mode before the session itself actually finished. these two are now fixed. now, the schedule comes bundled with the build, and proper processing in case of delay was added, only downside is that the app will take long to exit live mode, as it will stay waiting for signals after a session finishes, as this is the sacrifice to avoid, yk, leaving the whole session while its going on! installers for this build (DEV_0.1.1) are also now available in the repo. we will be back in 3 hours…
vroom vroom, Devlog 12: post-singapore fp1 testing! WOW THE THING THAT DOES THE LIVE THING WORKS (kinda ig but YAYY nonetheless i wont have to experience more unnecessary mental decay !! ) had to fix a few things, some are bigger issues than others but i think i have permanent solutions for those (hopefully)! as described in the new github repo pre-release (tag DEV_0.2.0), main changes include: updates to the track map (had rendering issues and is incapable of projecting driver position dots without a F1 TV subscription token, so it’s stuck as a simple track map for now, I might add the option to connect to your F1 TV subscription in a future update). driver acronym fix (due to update overwrite blanking the driver acronyms were turning into their number fallbacks mid-session). proper session ending (now you should NOT have to wait an eternity for the app to leave live mode after a session ends, i hope!). i really didnt feel like writing another explanation for that lol ive barely slept tonight and sprint quali is in about 40 mins, so yea no more sleeping for me yayyy endme . so yea, its time for testing round 2! lets see how that goes.
vroom vroom, Devlog 13: post-singapore sprint quali testing! basically every feature worked during this test, but at the end of SQ2 the app decided to kill my hopes and dreams by exiting live mode mid-session, but i think ive found the fix (hopefully). once again, since ive not slept for over 30 hours atp, i am too tired to rewrite a new explanation for all the changes i did during this time period, so imma think smarter, not harder by recycling my very good and thorough explanation i used for the github release notes lol these are the changes and updates in this new build (DEV_0.3.0): 1. Instead of using an automatic switcher (which proved to give lots of errors) to switch between live mode and countdown, now you can enter/exit live mode through a button (when there’s an ongoing live session). 2. lap counter for races & sprints (only available in live mode). 3. Track map and live mode changes & updates (using MultiView’s API): better circuit outlines and color change for better visibility, track map broadcast orientation, numbered corners, sector flag zones, and pit loss with safety car and VSC figures. and yea, that’s that! now imma go get some real good sleep before waking up at 3 am AGAIN to test with the sprint race why do i do this to myself
vroom vroom, Devlog 14: WE’RE NEARLY THEREEE!! im sooo closee to finishing this projectt! im actually soo happy with how things are coming along! although working on this messed up my sleep schedule very badly its really all been worth it. singapore quali testing went better than i expected, with the issues really just being the join live button hiding behind the hero cuz i forgot how to do basic css and the session end and live mode exit feeling very jarring as it ended immediately when the session ended, which combined with the F1 TV broadcast being off by aprox. 30 seconds, made the transition feel off. both of these have been fixed (more info below)! once again, im too tired to write another explanation for all the changes and updates i did, so its time to let github release notes me speak lol updates and changes in this build (tag 1.0.0-beta) 1. After a session ends, the app no longer leaves live mode immediately, rather it freezes final data (after 5 mins of wait to ensure all data is final) and waits until the user manually clicks exit live. this is to avoid the transition from live mode back to countdown from being very jarring, especially considering that F1 TV stream is delayed by a varying number of seconds. 2. added car status badges in the tower (these indicate if a car/driver is out, retired, in pit, or eliminated, and greys them out accordingly)! 3. animations in the tower! these indicate when a driver changes positions (either by overtaking/getting overtaken in race/sprint, or setting faster laps in practice/qualis). by obvious reasons, these project better in live mode than in demo mode (the whole thing is sped up x3, its an animation party lol). also didnt mention this in github but i added an about button in the app so its easier to find the build version yes you heard that right, this aint a DEV build, im confident enough in this build to finally upgrade the app to beta! if everything goes well tomorrow during the race, im finally releasing v1 and shipping this project! and if you ask why i just tested with quali and not with the sprint as i promised, eeeeh i may or may not have completely missed my alarm and slept through the sprint… DONT BLAME ME IM TIRED AF
vroom vroom, Devlog 15: STARVULKAN WINS THE MENTAL SANITY GRAND PRIX ! guysss FINALLYY, after weeks and weeks of slowly decaying into insanity, i’ve FINALLYY finished this very cool and amazing project!! im so happy with how things came along at the end, and I hope y’all can enjoy this silly little F1 project! testing during the race went as smooth the smooth operator 55 himself before 2026, with basically one lone issue, that being the app struggling to refresh the race weekend post race (throughout the whole developing process my biggest enemy was that ending transition huh). that’s now fixed, it now uses storage to know if to refresh. wrote the whole readme today as well, by far the most effort i’ve ever made for a readme, but i had to cuz this project means quite a lot to me. and as a final feature, cuz if i didnt i would get exterminated from this planet by the copyright agents, i added the possibility for you to choose your track images for the hero! since i had to delete the hero images that came bundled before cuz copyright and redistribution and stuff, the app, by default, now comes with no hero image, just a silly gradient. you, the user, now have the power of choosing the circuit hero image, bring your own from whatever source! details on how to do this in the readme! and yea! like that, i’m finally shipping this project of mine! thanks to y’all that have followed the whole development process and my (alleged) suffering and gave your amazing support! it truly means a lot to me 💖.
Ships:
P1xp!...
|
1793210215.488131
|
1793296615.488131
|
|
33293
|
MagicRoutes by @sanjaymuthu12 | Stardance
|
sanjaymuthu12
|
1
|
41.97
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-31T04:43:50Z", "hours": 39.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "MagicRoutes Over the past few weeks, I built MagicRoutes, a web application for solving the Vehicle Routing Problem with Time Windows (VRPTW). The project started from a C++ solver that I wrote a few years ago. I decided to turn it into something that anyone could use by building a full frontend, backend, and interactive map around it. Users can upload their own dataset, configure solver parameters, optionally upload a custom distance matrix, and visualize the optimized routes directly on an interactive OpenStreetMap map. The hardest part was definitely optimizing my old algorithm and deploying everything on Oracle Cloud. Building the backend API in C++ using Drogon was also very hard since I’ve never used Drogon before. Deploying to Oracle Cloud and setting up the domain took much longer that i expected since this was the first time I actually used a proper domain with https. I also spent a lot of time benchmarking and optimizing the solver. I’m most proud of how fast my current C++ code is compared to my old code and how I turned it into a complete application You can try it here: https://magicroutes.tech Some things to try:  Upload one of the sample datasets  Solve a VRPTW instance with different vehicle capacities  Upload your own CSV distance matrix  Switch between X-Y coordinates and latitude/longitude datasets  Explore the benchmark page and compare the solver against Solomon benchmark instances Note: If you are loading the sample dataset, please use the default solve time (5 minutes), my solver usually runs in around 1 minute on my computer but since its hosted on Oracle Cloud Always Free, it’s very slow and may require around 5 mintues for it to produce good solutions. The more time you give the solver, the better solutions it finds. I’d love to hear any feedback, bug reports or suggestions for improvements. Thank you", "repo": "https://github.com/Sanjay-Muthu/route-optimizer-hub", "demo": "https://magicroutes.tech"}]...
|
[{"post_id": 39907, "ts": "202 [{"post_id": 39907, "ts": "2026-08-03T06:23:34Z", "hours": 2.9731, "text": "Fixed bugs and updated the View Demo button using arcade"}, {"post_id": 37529, "ts": "2026-07-30T10:33:13Z", "hours": 10.5519, "text": "Hello everyone! Welcome to Devlog #4! Over the last work session, I mainly focused on getting the project ready for launch. I spent most of the time fixing bugs and improving the stability of the website instead of adding new features and now the project is much more reliable than before. I also finished adding support for custom distance matrices. Users can now upload their own CSV distance matrix instead of relying only on automatically calculated distances. This required quite a bit of work on both the frontend and backend to make the upload process work and to integrate it with the solver. On the frontend, I improved the benchmark page, updated it with actual values. I also spent a very large amount of time fixing random bugs, there were so many bugs since I never spent time to actually test the website and work on figuring out the bugs and fixing them. At this point, the project is very close to being finished. There are still a few bugs and small improvements that I want to make before officially launching. You can check out the website at: magicroutes.tech As always, I’d love to hear any feedback or suggestions you have. That’s all for Devlog #4!"}, {"post_id": 33453, "ts": "2026-07-23T12:57:31Z", "hours": 10.2706, "text": "Hello everyone! Welcome to Devlog #3! Over the last work session, I mainly focused on improving the frontend and making the website feel much more polished. I redesigned a large part of the UI. I improved the landing page and refined the overall layout making it easier to navigate the website. I also added a dedicated Pricing and About page. I filled the Pricing page with content, but the About page is just a placeholder for now. Alongside the frontend improvements, I continued optimizing the backend. I timed some of the slower parts of the solver and made multiple improvements that reduced the overall solve timefurther. I also spent some time cleaning up the project structure, improving the codebase, and fixing some bugs that I found while using the app. On the backend side, I spent most of the time benchmarking the solver against the Solomon dataset which is a public dataset containing csv files which VRPTW solvers can use for benchmarking. The project is now finally starting to look closer to what i want as the final product. You can check out the website at: magicroutes.tech As always, I’d love to hear any feedback or suggestions you might have. That’s all for Devlog #3!"}, {"post_id": 28728, "ts": "2026-07-15T05:10:53Z", "hours": 12.0275, "text": "Hello everyone! Welcome to Devlog #2! Over the last work session, I focused on turning the project into something that actually works end-to-end. The biggest milestone was connecting the frontend with the backend, so now the UI can communicate directly with the solver instead of relying on placeholder logic. I also spent a lot of time improving the backend’s performance. While everything was working, solving larger problems was taking much longer and I wanted to make it faster. After optimizing some parts of the solver, I managed to significantly reduce the solve time. On the frontend, I polished the interface and improved the overall user experience. I still have some ideas for the frontend which I will probably finish by the next devlog. This update comes after around 12 hours of work. Unfortunately, I forgot to post earlier, so only 10 hours will be recorded due to the logging limit (maximum of 10 hours per post). The hardest part wasn’t actually the optimization, it was deploying both the frontend and backend on Oracle Cloud and connecting it to the domain. Getting everything configured correctly, setting up the server, and making sure the services could communicate properly took me an entire day. Those hours aren’t included in this log since I spent most of that time working in the terminal and navigating the OCI interface rather than writing code. Once the deployment was working, I could finally focus on optimizing the backend, which also took a fair amount of time because the solver was initially much slower than I wanted. You can checkout the website at: magicroutes.tech That’s all for Devlog #2! [The benchmark results in the images are just placeholders, I have not updated them with my solver’s actual results]"}, {"post_id": 26524, "ts": "2026-07-11T11:45:48Z", "hours": 6.3183, "text": "Hello everyone! A few years ago, I wrote a C++ program that solves the VRPTW (Vehicle Routing Problem with Time Windows) pretty well. (For those who don’t know, the Vehicle Routing Problem with Time Windows (VRPTW) is a problem where a fleet of vehicles has to deliver to a number of customers. Each customer must be visited within a specific time window, every vehicle has a limited carrying capacity, and the goal is to find routes that satisfy all these constraints while minimizing the number of vehicles used and the total distance or travel time.) The solver had been sitting around for a while, so I decided that I might as well build a frontend and backend around it to make it into a full-fledged project. This is the first devlog I’m publishing and I’ve just finished making the backend API using Drogon , a C++ library for building high performance REST APIs. I also integrated my old solver with the backend. Originally, the code only contained the core algorithm, but I needed it to support a wider range of user inputs. I added API parameters for things like vehicle capacity, depot location, and custom distance matrices, then passed those inputs directly to the solver which I changed to make use of these inputs. The hardest part was to adding support for the backend API to also take in a CSV file for the distance matrix and use that instead of the default Euclidean distance calculation. I also added an option for calculating distances using the Haversine formula which is used to calculate distances on the Earth’s surface. Whenever the user gives latitude or longitude coordinates, I use this formula instead of the normal Euclidean distance formula. For the frontend I used Leaflet and OpenStreetMap to plot all the data points on the real-world map. You can check out the website here: https://magicroute.vercel.app . The frontend isn’t connected to the backend yet, so most of the solving part is just a placeholder. I would love to hear your suggestions or ideas so if you have any feedback, please let me know. That’s it for this devlog and I’m looking forward to posting more devlogs!"}]...
|
Title: MagicRoutes by @sanjaymuthu12 | Stardance
Title: MagicRoutes by @sanjaymuthu12 | Stardance
Devlogs:
Hello everyone! A few years ago, I wrote a C++ program that solves the VRPTW (Vehicle Routing Problem with Time Windows) pretty well. (For those who don’t know, the Vehicle Routing Problem with Time Windows (VRPTW) is a problem where a fleet of vehicles has to deliver to a number of customers. Each customer must be visited within a specific time window, every vehicle has a limited carrying capacity, and the goal is to find routes that satisfy all these constraints while minimizing the number of vehicles used and the total distance or travel time.) The solver had been sitting around for a while, so I decided that I might as well build a frontend and backend around it to make it into a full-fledged project. This is the first devlog I’m publishing and I’ve just finished making the backend API using Drogon , a C++ library for building high performance REST APIs. I also integrated my old solver with the backend. Originally, the code only contained the core algorithm, but I needed it to support a wider range of user inputs. I added API parameters for things like vehicle capacity, depot location, and custom distance matrices, then passed those inputs directly to the solver which I changed to make use of these inputs. The hardest part was to adding support for the backend API to also take in a CSV file for the distance matrix and use that instead of the default Euclidean distance calculation. I also added an option for calculating distances using the Haversine formula which is used to calculate distances on the Earth’s surface. Whenever the user gives latitude or longitude coordinates, I use this formula instead of the normal Euclidean distance formula. For the frontend I used Leaflet and OpenStreetMap to plot all the data points on the real-world map. You can check out the website here: https://magicroute.vercel.app . The frontend isn’t connected to the backend yet, so most of the solving part is just a placeholder. I would love to hear your suggestions or ideas so if you have any feedback, please let me know. That’s it for this devlog and I’m looking forward to posting more devlogs!
Hello everyone! Welcome to Devlog #2! Over the last work session, I focused on turning the project into something that actually works end-to-end. The biggest milestone was connecting the frontend with the backend, so now the UI can communicate directly with the solver instead of relying on placeholder logic. I also spent a lot of time improving the backend’s performance. While everything was working, solving larger problems was taking much longer and I wanted to make it faster. After optimizing some parts of the solver, I managed to significantly reduce the solve time. On the frontend, I polished the interface and improved the overall user experience. I still have some ideas for the frontend which I will probably finish by the next devlog. This update comes after around 12 hours of work. Unfortunately, I forgot to post earlier, so only 10 hours will be recorded due to the logging limit (maximum of 10 hours per post). The hardest part wasn’t actually the optimization, it was deploying both the frontend and backend on Oracle Cloud and connecting it to the domain. Getting everything configured correctly, setting up the server, and making sure the services could communicate properly took me an entire day. Those hours aren’t included in this log since I spent most of that time working in the terminal and navigating the OCI interface rather than writing code. Once the deployment was working, I could finally focus on optimizing the backend, which also took a fair amount of time because the solver was initially much slower than I wanted. You can checkout the website at: magicroutes.tech That’s all for Devlog #2! [The benchmark results in the images are just placeholders, I have not updated them with my solver’s actual results]
Hello everyone! Welcome to Devlog #3! Over the last work session, I mainly focused on improving the frontend and making the website feel much more polished. I redesigned a large part of the UI. I improved the landing page and refined the overall layout making it easier to navigate the website. I also added a dedicated Pricing and About page. I filled the Pricing page with content, but the About page is just a placeholder for now. Alongside the frontend improvements, I continued optimizing the backend. I timed some of the slower parts of the solver and made multiple improvements that reduced the overall solve timefurther. I also spent some time cleaning up the project structure, improving the codebase, and fixing some bugs that I found while using the app. On the backend side, I spent most of the time benchmarking the solver against the Solomon dataset which is a public dataset containing csv files which VRPTW solvers can use for benchmarking. The project is now finally starting to look closer to what i want as the final product. You can check out the website at: magicroutes.tech As always, I’d love to hear any feedback or suggestions you might have. That’s all for Devlog #3!
Hello everyone! Welcome to Devlog #4! Over the last work session, I mainly focused on getting the project ready for launch. I spent most of the time fixing bugs and improving the stability of the website instead of adding new features and now the project is much more reliable than before. I also finished adding support for custom distance matrices. Users can now upload their own CSV distance matrix instead of relying only on automatically calculated distances. This required quite a bit of work on both the frontend and backend to make the upload process work and to integrate it with the solver. On the frontend, I improved the benchmark page, updated it with actual values. I also spent a very large amount of time fixing random bugs, there were so many bugs since I never spent time to actually test the website and work on figuring out the bugs and fixing them. At this point, the project is very close to being finished. There are still a few bugs and small improvements that I want to make before officially launching. You can check out the website at: magicroutes.tech As always, I’d love to hear any feedback or suggestions you have. That’s all for Devlog #4!
Fixed bugs and updated the View Demo button using arcade
Ships:
MagicRoutes Over the past few weeks, I built MagicRoutes, a web application for solving the Vehicle Routing Problem with Time Windows (VRPTW). The project started from a C++ solver that I wrote a few years ago. I decided to turn it into something that anyone could use by building a full frontend, backend, and interactive map around it. Users can upload their own dataset, configure solver parameters, optionally upload a custom distance matrix, and visualize the optimized routes directly on an interactive OpenStreetMap map. The hardest part was definitely optimizing my old algorithm and deploying everything on Oracle Cloud. Building the backend API in C++ using Drogon was also very hard since I’ve never used Drogon before. Deploying to Oracle Cloud and setting up the domain took much longer that i expected since this was the first time I actually used a proper domain with https. I also spent a lot of time benchmarking and optimizing the solver. I’m most proud of how fast my current C++ code is compared to my old code and how I turned it into a complete application You can try it here: https://magicroutes.tech Some things to try:  Upload one of the sample datasets  Solve a VRPTW instance with different vehicle capacities  Upload your own CSV distance matrix  Switch between X-Y coordinates and latitude/longitude datasets  Explore the benchmark page and compare the solver against Solomon benchmark instances Note: If you are loading the sample dataset, please use the default solve time (5 minutes), my solver usually runs in around 1 minute on my computer but since its hosted on Oracle Cloud Always Free, it’s very slow and may require around 5 mintues for it to produce good solutions. The more time you give the solver, the better solutions it finds. I’d love to hear any feedback, bug reports or suggestions for improvements. Thank you...
|
1793220890.335514
|
1793307290.335514
|
|
5005
|
My awesome keyboard! by @soccer10 | Stardance
|
soccer10
|
0
|
41.64
|
0
|
[]
|
[{"post_id": 27032, "ts": "202 [{"post_id": 27032, "ts": "2026-07-12T06:04:38Z", "hours": 1.25, "text": "I worked on my readme, added the main screenshots of rendered keyboard, pcb, schematics, and stuff. I still need to add the actual files for it to be truly done, but I still need to find a way to work with ZMK firmware."}, {"post_id": 26404, "ts": "2026-07-11T05:43:19Z", "hours": 4.1064, "text": "I added some more polish, the keys will also be green ish as well, I have sourced them already from aliexpress. I also made some knobs for my slide potentiometer and my rotary encoder. I also started to write my firmware. I can only use zmk firmware, which has like no documentation, because it is the only one that supports bluetooth with the nrf52840 and also supports the rest of the things."}, {"post_id": 25728, "ts": "2026-07-10T05:20:43Z", "hours": 1.3833, "text": "I finished the casing completely pretty much. I only need to add polishing detailings and coloring, but the main parts are complete. I added areas for the switch and oled screen, so they won’t be damaged if the keyboard falls over. I have also started thinking of designs for both the rotary encoder knobs and the slide potentiometer knobs."}, {"post_id": 25526, "ts": "2026-07-09T20:51:58Z", "hours": 2.1839, "text": "Top casing is getting polished and is still in progress. My drawings are so cooked for it. I also added the slight area in the rotary encoder that cleans it up a little bit, I just need to add sections of casing to the xiao microcontroller, the oled, and the switches."}, {"post_id": 25153, "ts": "2026-07-09T05:46:19Z", "hours": 4.0744, "text": "Today I worked on getting the usb thingy to be able to connected and look kinda nice. I also added a ton of holes for the screws and inserts that will be added for the keyboard during assembly. Since I am using a bottom mount, the screw first comes from the top to connect to the insert at the bottom (ex the left one), and I left space for the head when its screwed in as well. And the right one shows how the plate and everything is connected to the bottom casing, with the insert at the top, and leaving room for the head to not interfere with the bottom of the keyboard as well."}, {"post_id": 24539, "ts": "2026-07-08T05:04:32Z", "hours": 4.1003, "text": "I have finished the bottom casing, its at a slight angle so the keyboard is tilted towards the user! I have started adding keycaps, and I plan on using cherry keycaps, like with the custom slants as well (r1,2,3,4). The holes and areas are all for heat inserts to attach and I am excited to finish the top casing and start adding fun details!"}, {"post_id": 23944, "ts": "2026-07-07T04:47:16Z", "hours": 0.9333, "text": "I do not like fusion, its so complicated for the simplest things. I added more holes for the heat inserts to go, and plan on using m3x10 for the screws. I also need to figure out how to reflect these holes to the other side because I do not want to do it over again cause it takes so long."}, {"post_id": 23911, "ts": "2026-07-07T03:37:03Z", "hours": 0.8, "text": "I finally got the hole and back casing aligned, so that it will fit somewhat well and will be stable once the screw is in there. I am still not too sure how I am gonna attach the keyboard, I am thinking of heat inserts since I used it for my macropad."}, {"post_id": 23302, "ts": "2026-07-06T05:36:23Z", "hours": 0.9669, "text": "Fusion is sooooo confusing. I added screws to my design which are still uploading and added an area for attachments to be made. I have chosen a top mount way to attach the plate, pcb, and case. I am mostly trying to find a way to make my keyboard look neat and well done."}, {"post_id": 23066, "ts": "2026-07-05T20:03:41Z", "hours": 1.9358, "text": "I finished the plate of my keyboard! I still need to add mounting holes for when I am going attach the pcb and everything to the actual keyboard. I decided on using a white, pastel yellow, and mint green color scheme for the actual casing. I am also thinking about having a case that can fold over and protect the keyboard for travel and things. But so far, I added the components in and am gonna start casing soon!"}, {"post_id": 22650, "ts": "2026-07-05T06:24:38Z", "hours": 2.0, "text": "I had some trouble with the oled screen schematicing, since I just realized that it needed to connect to a specific gpio pin, which took a while to reroute and everything since I exported it all already. I am also still wondering how my oled screen will stay up, since its only soldered on one side. I also had to adjust my plate (and am still in the process as you can tell) since I moved the keys a little bit while editing the pcb. I still need to add the place for the slide potentiometer and switich and rotary encoder. I also need to find a way to place my battery, since this is gonna be a bluetooth connectable keyboard."}, {"post_id": 21966, "ts": "2026-07-04T05:42:35Z", "hours": 1.2667, "text": "YAY, I sorted out most of the errors (some I just decided that the clearance was enough argh), and I have added mounting holes for the soon to be designed case! I still have not decided between either top mount or bottom mount, but so far, either would work with my mounting holes. The plate generating is gonna be a lot harder, since I moved my keys around after I used the kcbplacer plugin."}, {"post_id": 21855, "ts": "2026-07-04T00:22:48Z", "hours": 1.8833, "text": "I finished the routing! Yay that took so long. Keyboard is almost complete. But, I have so many errors I will need to sort out later. That is a ton of errors. I’ve also been looking at keyboard mounting methods, and am leaning towards top mount or bottom mount."}, {"post_id": 21756, "ts": "2026-07-03T21:00:51Z", "hours": 2.0539, "text": "I am so close to finishing routing now. I am currently still wondering how I am gonna put my battery in, since some people put a place in their pcb and some do not. I also need to start thinking about how big I want my pcb to be around my components and everything. So far, I just need to finish routing and then make the keyboard case!"}, {"post_id": 21170, "ts": "2026-07-02T23:39:17Z", "hours": 4.6719, "text": "I do not like routing. I decided to start routing first with my leds on the back of the pcb, since I’ll mostly have the front pcb have key switch wires. Everything just seems so messy right now. I also think I need a place for the battery, which I added in the pcb as you can see, but I am not entirely sure it is meant to be there."}, {"post_id": 20409, "ts": "2026-07-02T00:23:53Z", "hours": 2.84, "text": "Rename it to daisboard 75, since it is a 75% keyboard. I added the 3d files of everything, so now it looks decent in 3d view. I still have not started routing sadly, again, I will do that later. I pretty much only need to route, its gonna be so painful with the keyswitches and led’s underneath."}, {"post_id": 19785, "ts": "2026-07-01T05:22:48Z", "hours": 1.4167, "text": "Things are starting to shape up a little bit with my keyboard. I am so far avoiding routing since I know that is gonna take so long, but I have my layout down and pretty much only need to start routing it."}, {"post_id": 19003, "ts": "2026-06-30T05:08:48Z", "hours": 0.7336, "text": "I finally moved on from the schematicing of things and am now at the pcbing part. I am trying to use a keyboard plugin to organize the keys, but I am having some trouble with the switches and diodes not matching up too well. Thats for next time!"}, {"post_id": 18803, "ts": "2026-06-30T00:38:23Z", "hours": 1.3519, "text": "I finally finalized the components that I want in my keyboard, and am gonna try to finish my footprints next time."}, {"post_id": 18590, "ts": "2026-06-29T19:39:13Z", "hours": 1.6889, "text": "Started and added parts to schematic."}]...
|
Title: My awesome keyboard! by @soccer10 | Stardan Title: My awesome keyboard! by @soccer10 | Stardance
Devlogs:
Started and added parts to schematic.
I finally finalized the components that I want in my keyboard, and am gonna try to finish my footprints next time.
I finally moved on from the schematicing of things and am now at the pcbing part. I am trying to use a keyboard plugin to organize the keys, but I am having some trouble with the switches and diodes not matching up too well. Thats for next time!
Things are starting to shape up a little bit with my keyboard. I am so far avoiding routing since I know that is gonna take so long, but I have my layout down and pretty much only need to start routing it.
Rename it to daisboard 75, since it is a 75% keyboard. I added the 3d files of everything, so now it looks decent in 3d view. I still have not started routing sadly, again, I will do that later. I pretty much only need to route, its gonna be so painful with the keyswitches and led’s underneath.
I do not like routing. I decided to start routing first with my leds on the back of the pcb, since I’ll mostly have the front pcb have key switch wires. Everything just seems so messy right now. I also think I need a place for the battery, which I added in the pcb as you can see, but I am not entirely sure it is meant to be there.
I am so close to finishing routing now. I am currently still wondering how I am gonna put my battery in, since some people put a place in their pcb and some do not. I also need to start thinking about how big I want my pcb to be around my components and everything. So far, I just need to finish routing and then make the keyboard case!
I finished the routing! Yay that took so long. Keyboard is almost complete. But, I have so many errors I will need to sort out later. That is a ton of errors. I’ve also been looking at keyboard mounting methods, and am leaning towards top mount or bottom mount.
YAY, I sorted out most of the errors (some I just decided that the clearance was enough argh), and I have added mounting holes for the soon to be designed case! I still have not decided between either top mount or bottom mount, but so far, either would work with my mounting holes. The plate generating is gonna be a lot harder, since I moved my keys around after I used the kcbplacer plugin.
I had some trouble with the oled screen schematicing, since I just realized that it needed to connect to a specific gpio pin, which took a while to reroute and everything since I exported it all already. I am also still wondering how my oled screen will stay up, since its only soldered on one side. I also had to adjust my plate (and am still in the process as you can tell) since I moved the keys a little bit while editing the pcb. I still need to add the place for the slide potentiometer and switich and rotary encoder. I also need to find a way to place my battery, since this is gonna be a bluetooth connectable keyboard.
I finished the plate of my keyboard! I still need to add mounting holes for when I am going attach the pcb and everything to the actual keyboard. I decided on using a white, pastel yellow, and mint green color scheme for the actual casing. I am also thinking about having a case that can fold over and protect the keyboard for travel and things. But so far, I added the components in and am gonna start casing soon!
Fusion is sooooo confusing. I added screws to my design which are still uploading and added an area for attachments to be made. I have chosen a top mount way to attach the plate, pcb, and case. I am mostly trying to find a way to make my keyboard look neat and well done.
I finally got the hole and back casing aligned, so that it will fit somewhat well and will be stable once the screw is in there. I am still not too sure how I am gonna attach the keyboard, I am thinking of heat inserts since I used it for my macropad.
I do not like fusion, its so complicated for the simplest things. I added more holes for the heat inserts to go, and plan on using m3x10 for the screws. I also need to figure out how to reflect these holes to the other side because I do not want to do it over again cause it takes so long.
I have finished the bottom casing, its at a slight angle so the keyboard is tilted towards the user! I have started adding keycaps, and I plan on using cherry keycaps, like with the custom slants as well (r1,2,3,4). The holes and areas are all for heat inserts to attach and I am excited to finish the top casing and start adding fun details!
Today I worked on getting the usb thingy to be able to connected and look kinda nice. I also added a ton of holes for the screws and inserts that will be added for the keyboard during assembly. Since I am using a bottom mount, the screw first comes from the top to connect to the insert at the bottom (ex the left one), and I left space for the head when its screwed in as well. And the right one shows how the plate and everything is connected to the bottom casing, with the insert at the top, and leaving room for the head to not interfere with the bottom of the keyboard as well.
Top casing is getting polished and is still in progress. My drawings are so cooked for it. I also added the slight area in the rotary encoder that cleans it up a little bit, I just need to add sections of casing to the xiao microcontroller, the oled, and the switches.
I finished the casing completely pretty much. I only need to add polishing detailings and coloring, but the main parts are complete. I added areas for the switch and oled screen, so they won’t be damaged if the keyboard falls over. I have also started thinking of designs for both the rotary encoder knobs and the slide potentiometer knobs.
I added some more polish, the keys will also be green ish as well, I have sourced them already from aliexpress. I also made some knobs for my slide potentiometer and my rotary encoder. I also started to write my firmware. I can only use zmk firmware, which has like no documentation, because it is the only one that supports bluetooth with the nrf52840 and also supports the rest of the things.
I worked on my readme, added the main screenshots of rendered keyboard, pcb, schematics, and stuff. I still need to add the actual files for it to be truly done, but I still need to find a way to work with ZMK firmware....
|
1792680544.863855
|
1793285344.863855
|
|
46111
|
SEO AUDITOR by @0xvince | Stardance
|
0xvince
|
0
|
41.57
|
0
|
[]
|
[{"post_id": 44989, "ts": "202 [{"post_id": 44989, "ts": "2026-08-11T03:50:16Z", "hours": 9.5869, "text": "Built out the Site Health Crawl feature for the SEO Auditor — a full-site crawler that checks robots.txt, sitemap, meta tags, H1s, schema, and broken links across every page. What’s in it Crawl engine — walks the full site from the sitemap and scans every discovered page Robots.txt check — confirms a user-agent directive is present and the site isn’t accidentally blocking itself Sitemap detection — locates sitemap.xml , counts pages listed, and confirms it’s reachable Crawl map — visual list of every page discovered so you can see site structure at a glance Page-level audit table — per-page breakdown of HTTP status, title length, meta description length, H1 presence, and schema markup, each flagged with issue counts where something’s off Broken link detection — surfaces dead links site-wide instead of per-page Notes Click into individual page issues to show exactly what’s wrong (title too short/long, missing meta, etc.) instead of just an issue count Add historical crawl comparison so users can see what changed since the last scan"}, {"post_id": 44556, "ts": "2026-08-10T12:11:47Z", "hours": 6.3906, "text": "Built out the Site Audit page for the SEO Auditor — full Lighthouse-style scan integration covering SEO, Performance, Accessibility, and Best Practices, plus Core Web Vitals (LCP, CLS, FCP, Speed Index, TTI). What’s in it Full site scan — pulls scores across 4 categories (SEO, Performance, Accessibility, Best Practices) with a single “Run New Audit” trigger Audit issue breakdown — flags critical issues like legacy JavaScript, heading order problems, network dependency chains, and missing link names, each with a Fix action Core Web Vitals panel — surfaces LCP, CLS, FCP, Speed Index, and Time to Interactive at a glance Health status checks — HTTPS status and sitemap detection/page count Scan history — tracks scores over time so users can see trend, not just a snapshot Google Search Console / SERP integration Wired up SERP and Google Search Console data alongside the Lighthouse-style audit so the page isn’t just technical scoring — it also pulls in real search visibility data (keyword positions, indexing status) to give a fuller picture of site health rather than just performance metrics in isolation. Problems faced Google Search Console gave me a rough time: OAuth kept generating incorrectly — spent a long time debugging why the auth flow wasn’t producing valid tokens Page Insights access wasn’t being granted — even after “fixing” the OAuth, some scopes weren’t allowing the page insights data I needed SERP data never wired up cleanly — couldn’t get a reliable integration working in the time I had Burned through API quota while testing/debugging all of the above, which slowed iteration even further Still an open problem — SERP and GSC integration need another pass. Noting it here so future-me remembers where it broke. Notes Fix Google Search Console OAuth flow (check scopes + redirect URI config) Get SERP data wired up reliably Add pagination/filtering for the full issue list (currently capped at “view all” expand) Surface historical Core Web Vitals trend, not just latest scan"}, {"post_id": 44429, "ts": "2026-08-10T05:47:53Z", "hours": 9.4581, "text": "Added Team Workspace To the SEO AUDITOR"}, {"post_id": 44208, "ts": "2026-08-09T20:21:10Z", "hours": 1.0472, "text": "Updated the setting , accounts and integration Ui ."}, {"post_id": 44153, "ts": "2026-08-09T18:42:39Z", "hours": 15.0842, "text": "An AI SEO Auditor which gives a full SEO audit, live keyword rankings, and backlink monitoring in seconds. Then let your AI Growth Copilot tell you exactly what to fix first — and paste the fix."}]...
|
Title: SEO AUDITOR by @0xvince | Stardance
Devlog Title: SEO AUDITOR by @0xvince | Stardance
Devlogs:
An AI SEO Auditor which gives a full SEO audit, live keyword rankings, and backlink monitoring in seconds. Then let your AI Growth Copilot tell you exactly what to fix first — and paste the fix.
Updated the setting , accounts and integration Ui .
Added Team Workspace To the SEO AUDITOR
Built out the Site Audit page for the SEO Auditor — full Lighthouse-style scan integration covering SEO, Performance, Accessibility, and Best Practices, plus Core Web Vitals (LCP, CLS, FCP, Speed Index, TTI). What’s in it Full site scan — pulls scores across 4 categories (SEO, Performance, Accessibility, Best Practices) with a single “Run New Audit” trigger Audit issue breakdown — flags critical issues like legacy JavaScript, heading order problems, network dependency chains, and missing link names, each with a Fix action Core Web Vitals panel — surfaces LCP, CLS, FCP, Speed Index, and Time to Interactive at a glance Health status checks — HTTPS status and sitemap detection/page count Scan history — tracks scores over time so users can see trend, not just a snapshot Google Search Console / SERP integration Wired up SERP and Google Search Console data alongside the Lighthouse-style audit so the page isn’t just technical scoring — it also pulls in real search visibility data (keyword positions, indexing status) to give a fuller picture of site health rather than just performance metrics in isolation. Problems faced Google Search Console gave me a rough time: OAuth kept generating incorrectly — spent a long time debugging why the auth flow wasn’t producing valid tokens Page Insights access wasn’t being granted — even after “fixing” the OAuth, some scopes weren’t allowing the page insights data I needed SERP data never wired up cleanly — couldn’t get a reliable integration working in the time I had Burned through API quota while testing/debugging all of the above, which slowed iteration even further Still an open problem — SERP and GSC integration need another pass. Noting it here so future-me remembers where it broke. Notes Fix Google Search Console OAuth flow (check scopes + redirect URI config) Get SERP data wired up reliably Add pagination/filtering for the full issue list (currently capped at “view all” expand) Surface historical Core Web Vitals trend, not just latest scan
Built out the Site Health Crawl feature for the SEO Auditor — a full-site crawler that checks robots.txt, sitemap, meta tags, H1s, schema, and broken links across every page. What’s in it Crawl engine — walks the full site from the sitemap and scans every discovered page Robots.txt check — confirms a user-agent directive is present and the site isn’t accidentally blocking itself Sitemap detection — locates sitemap.xml , counts pages listed, and confirms it’s reachable Crawl map — visual list of every page discovered so you can see site structure at a glance Page-level audit table — per-page breakdown of HTTP status, title length, meta description length, H1 presence, and schema markup, each flagged with issue counts where something’s off Broken link detection — surfaces dead links site-wide instead of per-page Notes Click into individual page issues to show exactly what’s wrong (title too short/long, missing meta, etc.) instead of just an issue count Add historical crawl comparison so users can see what changed since the last scan...
|
1792651842.9545531
|
1793256642.9545531
|
|
3319
|
Pride Design for my website by @sandrp | Stardance
|
sandrp
|
0
|
41.52
|
0
|
[]
|
[{"post_id": 13848, "ts": "202 [{"post_id": 13848, "ts": "2026-06-22T18:05:30Z", "hours": 26.6333, "text": "complete rewrite of the project. Now its not only the website that looks pretty but also the code"}, {"post_id": 1728, "ts": "2026-06-03T22:08:49Z", "hours": 9.0747, "text": "added new layout"}, {"post_id": 985, "ts": "2026-06-02T19:23:00Z", "hours": 3.0, "text": "New README and other changes"}, {"post_id": 871, "ts": "2026-06-02T16:21:03Z", "hours": 2.5442, "text": "i migrated my site to codeberg :D"}, {"post_id": 493, "ts": "2026-06-01T23:29:45Z", "hours": 0.2669, "text": "I Added A pride flag and a rainbow catttt. Wushh"}]...
|
Title: Pride Design for my website by @sandrp | St Title: Pride Design for my website by @sandrp | Stardance
Devlogs:
I Added A pride flag and a rainbow catttt. Wushh
i migrated my site to codeberg :D
New README and other changes
added new layout
complete rewrite of the project. Now its not only the website that looks pretty but also the code...
|
1792691612.7799067
|
1793296412.7799067
|
|
38179
|
KAIA - Local AI Agent by @deb_beura | Stardance
|
deb_beura
|
1
|
41.48
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T21:50:17Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built this because I wanted an assistant that actually lives on my machine, not one that ships everything to the cloud. Runs a 4-bit Phi-3-mini locally via MLX (~2.5GB) for everyday chat, only calls out to Nemotron/DeepSeek/Gemini when I need tools, code, or web search. The routing is LLM-first — intent classification, provider selection, complexity estimation, and tool-arg inference, all done by the model with keyword fallbacks. Terminal-first. Fixing the RAG embedding mismatch next, then adding a proper model unload command. Will also fix and upgrade the UI for the web app, and hopefully continue to add features.", "repo": "https://github.com/Deb-The-Dabber/JARVISv.1", "demo": "https://deb-the-dabber.github.io/JARVISv.1/"}]...
|
[{"post_id": 48588, "ts": "202 [{"post_id": 48588, "ts": "2026-08-17T01:26:26Z", "hours": 10.92, "text": "I remade the terminal UI! I was researching different UI’s i could make KAIA (yes its named jarvis on my end), and instead of going for a generic, jarvis like UI, I actually took inspiration from an open source coding agent called Opencode, whose UI would look good on jarvis. i am in the middle of re-working it, so this is the first rough draft."}, {"post_id": 45553, "ts": "2026-08-12T03:43:29Z", "hours": 4.1036, "text": "Im currently working on a big issue where my groq model (through API key) is doing some weird stuff, like mis-routing, not understanding the prompt, and picking the wrong tool at times. Currently have to fix that, or my fallback chain wont work as intended. (groq always has issuses). I also asked ChatGPT what hardware stuff i can build for/around KAIA, and it lwk gave me a lot. Here’s the full breakdown of what happened though: Right now, I’m working through Phase 2B, which is basically focused on making KAIA’s routing system much more reliable.The current plan is:2B.0 — Telemetry:I’m adding tracking to the classifier so KAIA records which classifier actually made the decision, what intent it selected, and its confidence when available. This lets me see why KAIA routed something incorrectly instead of just knowing that it was wrong.I’m also modifying the benchmark system so every test case can save this information individually. That way I can look at a failed case and see something like:Request → “Write a script…” Expected → coding Actual → tool_use Classifier → local_nn Confidence → 0.91 Provider → … Latency → …2B.1 — Classifier V2:Once the current benchmark finishes, I’m going to replace the current cheap classifier prompt with a much more structured one. It’ll have explicit definitions for the five main intents:codingtool_usereasoningself_modchatI’m also adding few-shot examples, fine-grained intents, complexity, tool_required, and a confidence score.One of the main things I’m trying to fix is the classifier confusing “write code that does X” with “KAIA should do X.“For example:“Write a script that watches my Downloads folder” → codingversus:“Watch my Downloads folder” → tool_useThey’re very similar linguistically, but they should go down completely different paths.2B.2 — Cheap-classifier gate:After V2 is working, I’m adding a gate that decides whether KAIA should trust the cheap classifier.There will be different modes, including:OFF CONFIDENCE AGREEMENTWith confidence mode, KAIA can basically say:cheap classifier ↓ confidence high? ↙ ↘ YES NO ↓ ↓ accept escalate ↓ stronger modelThe agreement mode goes further by comparing the cheap classifier’s decision against a stronger classifier. If they disagree, KAIA can escalate instead of blindly choosing one.2B.3 — Acceptance + checkpoint:Finally, I’m going to establish actual acceptance criteria for the routing system and generate a Phase 2B report.I’ll measure things like:intent accuracyfine-intent accuracyrouting accuracyclassifier confidencefallback behaviorprovider reliabilitylatencycostThen I’ll create a Phase 2B checkpoint so I have a known-good baseline before moving on."}, {"post_id": 45003, "ts": "2026-08-11T04:20:21Z", "hours": 8.2258, "text": "Still working on the intelligence overhaul! Along the way, I’ve also slipped in some CAD/Onshape improvements and email capabilities, which somehow took brain.py from 3,000+ lines to around 4,500 lines 😭.The overhaul is going really well so far. One of the biggest discoveries was that some of JARVIS’s “intelligence” problems weren’t actually intelligence problems at all — I found bugs in my evaluator that were incorrectly marking things as failures even when JARVIS had completed them successfully. I’ve also found some real issues in the routing and memory systems, so I’m fixing those while making JARVIS faster and more reliable. At this point, I’m focusing less on just adding more features and more on making the features I already have actually work together intelligently. The goal is for JARVIS to feel less like a collection of tools and more like an actual agent that can understand what I’m asking, decide what needs to happen, use the right tools, recover when something goes wrong, and verify its own work."}, {"post_id": 44061, "ts": "2026-08-09T16:06:43Z", "hours": 1.1719, "text": "Finished the taxonomy today, took 2 days for that. I re-trained KAIA and now the results are around 93% accuracy for tool calling and 66% for intent classify (which sounds bad but ill be tweaking it throughout the day)"}, {"post_id": 43714, "ts": "2026-08-09T03:56:17Z", "hours": 1.0603, "text": "Currently working on the intent classifer for the neural network, and asking claude what a taxonomy in this context means. There are a lot of stuff i need to learn before i continue with this. however, the good thing is i did train the neural network on existing back and forth logs with me an KAIA, and for tool calling, we got around a 98% accuracy, which ill take!"}, {"post_id": 43543, "ts": "2026-08-08T21:30:00Z", "hours": 0.4947, "text": "Getting a rough version of the UI set up so I can finally ship this project! For this UI, this is only version one, so don’t mind the bad quality for the web app. Also worked on the svelte design a bit, and to be honest its coming along. but its no where near publishing on the web."}, {"post_id": 43509, "ts": "2026-08-08T20:33:24Z", "hours": 9.6861, "text": "Just finished setting up a simple neural network, and fixed some frontend issues. KAIA now has a webapp version (yet to be published) and a local neural network for small tasks, such as intent routing or when KAIA is offline."}, {"post_id": 41722, "ts": "2026-08-06T03:29:20Z", "hours": 4.6458, "text": "Working on testing the AI Agent’s features, such as having it write code for its very own version where KAIA is a webapp! Currently named jarvis for personal use, however will be changed once project is shipped."}, {"post_id": 32756, "ts": "2026-07-22T03:36:56Z", "hours": 1.185, "text": "Updating the Agent workflow. I also started 2 different types of web apps, one with React, and the other with Svelte. The svelte one is currently going better, however im not sure if ill actually post the svelte one. Plus, i might leave that off since i need to test KAIA more, there are some bugs that i dont really want in the first version."}]...
|
Title: KAIA - Local AI Agent by @deb_beura | Stard Title: KAIA - Local AI Agent by @deb_beura | Stardance
Devlogs:
Updating the Agent workflow. I also started 2 different types of web apps, one with React, and the other with Svelte. The svelte one is currently going better, however im not sure if ill actually post the svelte one. Plus, i might leave that off since i need to test KAIA more, there are some bugs that i dont really want in the first version.
Working on testing the AI Agent’s features, such as having it write code for its very own version where KAIA is a webapp! Currently named jarvis for personal use, however will be changed once project is shipped.
Just finished setting up a simple neural network, and fixed some frontend issues. KAIA now has a webapp version (yet to be published) and a local neural network for small tasks, such as intent routing or when KAIA is offline.
Getting a rough version of the UI set up so I can finally ship this project! For this UI, this is only version one, so don’t mind the bad quality for the web app. Also worked on the svelte design a bit, and to be honest its coming along. but its no where near publishing on the web.
Currently working on the intent classifer for the neural network, and asking claude what a taxonomy in this context means. There are a lot of stuff i need to learn before i continue with this. however, the good thing is i did train the neural network on existing back and forth logs with me an KAIA, and for tool calling, we got around a 98% accuracy, which ill take!
Finished the taxonomy today, took 2 days for that. I re-trained KAIA and now the results are around 93% accuracy for tool calling and 66% for intent classify (which sounds bad but ill be tweaking it throughout the day)
Still working on the intelligence overhaul! Along the way, I’ve also slipped in some CAD/Onshape improvements and email capabilities, which somehow took brain.py from 3,000+ lines to around 4,500 lines 😭.The overhaul is going really well so far. One of the biggest discoveries was that some of JARVIS’s “intelligence” problems weren’t actually intelligence problems at all — I found bugs in my evaluator that were incorrectly marking things as failures even when JARVIS had completed them successfully. I’ve also found some real issues in the routing and memory systems, so I’m fixing those while making JARVIS faster and more reliable. At this point, I’m focusing less on just adding more features and more on making the features I already have actually work together intelligently. The goal is for JARVIS to feel less like a collection of tools and more like an actual agent that can understand what I’m asking, decide what needs to happen, use the right tools, recover when something goes wrong, and verify its own work.
Im currently working on a big issue where my groq model (through API key) is doing some weird stuff, like mis-routing, not understanding the prompt, and picking the wrong tool at times. Currently have to fix that, or my fallback chain wont work as intended. (groq always has issuses). I also asked ChatGPT what hardware stuff i can build for/around KAIA, and it lwk gave me a lot. Here’s the full breakdown of what happened though: Right now, I’m working through Phase 2B, which is basically focused on making KAIA’s routing system much more reliable.The current plan is:2B.0 — Telemetry:I’m adding tracking to the classifier so KAIA records which classifier actually made the decision, what intent it selected, and its confidence when available. This lets me see why KAIA routed something incorrectly instead of just knowing that it was wrong.I’m also modifying the benchmark system so every test case can save this information individually. That way I can look at a failed case and see something like:Request → “Write a script…” Expected → coding Actual → tool_use Classifier → local_nn Confidence → 0.91 Provider → … Latency → …2B.1 — Classifier V2:Once the current benchmark finishes, I’m going to replace the current cheap classifier prompt with a much more structured one. It’ll have explicit definitions for the five main intents:codingtool_usereasoningself_modchatI’m also adding few-shot examples, fine-grained intents, complexity, tool_required, and a confidence score.One of the main things I’m trying to fix is the classifier confusing “write code that does X” with “KAIA should do X.“For example:“Write a script that watches my Downloads folder” → codingversus:“Watch my Downloads folder” → tool_useThey’re very similar linguistically, but they should go down completely different paths.2B.2 — Cheap-classifier gate:After V2 is working, I’m adding a gate that decides whether KAIA should trust the cheap classifier.There will be different modes, including:OFF CONFIDENCE AGREEMENTWith confidence mode, KAIA can basically say:cheap classifier ↓ confidence high? ↙ ↘ YES NO ↓ ↓ accept escalate ↓ stronger modelThe agreement mode goes further by comparing the cheap classifier’s decision against a stronger classifier. If they disagree, KAIA can escalate instead of blindly choosing one.2B.3 — Acceptance + checkpoint:Finally, I’m going to establish actual acceptance criteria for the routing system and generate a Phase 2B report.I’ll measure things like:intent accuracyfine-intent accuracyrouting accuracyclassifier confidencefallback behaviorprovider reliabilitylatencycostThen I’ll create a Phase 2B checkpoint so I have a known-good baseline before moving on.
I remade the terminal UI! I was researching different UI’s i could make KAIA (yes its named jarvis on my end), and instead of going for a generic, jarvis like UI, I actually took inspiration from an open source coding agent called Opencode, whose UI would look good on jarvis. i am in the middle of re-working it, so this is the first rough draft.
Ships:
Built this because I wanted an assistant that actually lives on my machine, not one that ships everything to the cloud. Runs a 4-bit Phi-3-mini locally via MLX (~2.5GB) for everyday chat, only calls out to Nemotron/DeepSeek/Gemini when I need tools, code, or web search. The routing is LLM-first — intent classification, provider selection, complexity estimation, and tool-arg inference, all done by the model with keyword fallbacks. Terminal-first. Fixing the RAG embedding mismatch next, then adding a proper model unload command. Will also fix and upgrade the UI for the web app, and hopefully continue to add features....
|
1792878619.1088827
|
1793742619.1088827
|
|
41062
|
Stardance but on mobile by @sikcube | Stardance
|
sikcube
|
0
|
41.48
|
0
|
[]
|
[{"post_id": 75665, "ts": "202 [{"post_id": 75665, "ts": "2026-09-30T17:55:36Z", "hours": 2.3067, "text": "Basic UI components, layout and pages I was looking the Stardance website to see how to do their UI, I tried to do their effect on their cards, but I couldn’t do it. Then I did all the basic components (cards, button, inputs) with their color pallet. If you are curious, the card effect is made using a CSS prop clip-path and applying it on the background. Maybe when I finish the project logic I’ll try to recreate that effect."}, {"post_id": 75440, "ts": "2026-09-30T03:19:34Z", "hours": 0.4736, "text": "Looking the Stardance API docs to know what to do I found that the Stardance API doesn’t have a way to get the streaks besides Macondo has. So how will be app functions? I was thinking it would be like a social app because I can only get comments, projects and devlogs. This would be cached so the app will have offline functions , also I would like to add a stardust calculator (Stardance doesn’t have that). And some stats like time spent, project amount. Also I don’t decide if I’ll add local reminders , because we have slack reminders. Maybe a local reminder would be better? Created the Expo project Also I started the expo project and code the tabs. (I like the planning, before coding a project). Any ideas? Any ideas or functions that you think a mobile app for stardance would have? I would like to read some ideas :)."}, {"post_id": 73698, "ts": "2026-09-25T18:46:04Z", "hours": 38.6953, "text": "I just found out that Macondo has closed, so I’m going to adapt this project for Stardance."}]...
|
Title: Stardance but on mobile by @sikcube | Stard Title: Stardance but on mobile by @sikcube | Stardance
Devlogs:
I just found out that Macondo has closed, so I’m going to adapt this project for Stardance.
Looking the Stardance API docs to know what to do I found that the Stardance API doesn’t have a way to get the streaks besides Macondo has. So how will be app functions? I was thinking it would be like a social app because I can only get comments, projects and devlogs. This would be cached so the app will have offline functions , also I would like to add a stardust calculator (Stardance doesn’t have that). And some stats like time spent, project amount. Also I don’t decide if I’ll add local reminders , because we have slack reminders. Maybe a local reminder would be better? Created the Expo project Also I started the expo project and code the tabs. (I like the planning, before coding a project). Any ideas? Any ideas or functions that you think a mobile app for stardance would have? I would like to read some ideas :).
Basic UI components, layout and pages I was looking the Stardance website to see how to do their UI, I tried to do their effect on their cards, but I couldn’t do it. Then I did all the basic components (cards, button, inputs) with their color pallet. If you are curious, the card effect is made using a CSS prop clip-path and applying it on the background. Maybe when I finish the project logic I’ll try to recreate that effect....
|
1792788733.0691953
|
1793393533.0691953
|
|
42531
|
Strand by @Jan | Stardance
|
Jan
|
0
|
41.43
|
0
|
[]
|
[{"post_id": 82284, "ts": "202 [{"post_id": 82284, "ts": "2026-10-24T13:46:26Z", "hours": 11.7181, "text": "Added a background and Made the taskbar show icons alongside crude window decorations. Next up would be actually showing the window icon on the decoration and the title."}, {"post_id": 67711, "ts": "2026-09-13T22:12:56Z", "hours": 1.5461, "text": "I worked on rounded corners and outlines for my layout engine, since im on the go i havent been fully able to test it buut as soon as i get back ill upload a devlog with a full scene displaying my progress, i also had to learn about eulers which cairo uses (pain)"}, {"post_id": 65553, "ts": "2026-09-10T19:24:05Z", "hours": 1.3356, "text": "I got my Flexbox style library working finally and i rendered a simple scene consisting of one root element and two smaller fill elements, it calculates! :D"}, {"post_id": 65402, "ts": "2026-09-10T14:57:58Z", "hours": 6.1519, "text": "I worked on restructuring the project migrating to a bunch of different folders/repos to one big one that i can actually publish and is overseeable, alongside that i also worked on getting the wlr-foreign-toplevel-management protocol working, it doesnt fully work yet but i hope i get it right asap"}, {"post_id": 48061, "ts": "2026-08-16T10:47:50Z", "hours": 13.3806, "text": "I worked on the library that allows my userspace applications to talk to the compositor, i also implemented the WLR_layer_shell protocol which makes apps able to float above or below other icons and claim exclusive space. i also worked on the bare-bones UI library which makes it so that i dont have to always manually write draw calls to cairo or blend2d, i also scouted for different libraries to use for the drawing and landed on blend2d since its very feature rich, lightweight and supports text. A lot of the time was also spent fighting CMake and dependencies. in the image you can see a very bare-bones edition of the system showing how normal xdg apps float above the background while the taskbar floats above the bg but below, as well as just a simple foot terminal."}, {"post_id": 38534, "ts": "2026-07-31T23:57:50Z", "hours": 7.3011, "text": "I worked on a initial Library for using SHM to push a buffer to wayland, and got a good version working i also started working on a simple info app that just displays some system info but i havent finished that."}]...
|
Title: Strand by @Jan | Stardance
Devlogs:
I work Title: Strand by @Jan | Stardance
Devlogs:
I worked on a initial Library for using SHM to push a buffer to wayland, and got a good version working i also started working on a simple info app that just displays some system info but i havent finished that.
I worked on the library that allows my userspace applications to talk to the compositor, i also implemented the WLR_layer_shell protocol which makes apps able to float above or below other icons and claim exclusive space. i also worked on the bare-bones UI library which makes it so that i dont have to always manually write draw calls to cairo or blend2d, i also scouted for different libraries to use for the drawing and landed on blend2d since its very feature rich, lightweight and supports text. A lot of the time was also spent fighting CMake and dependencies. in the image you can see a very bare-bones edition of the system showing how normal xdg apps float above the background while the taskbar floats above the bg but below, as well as just a simple foot terminal.
I worked on restructuring the project migrating to a bunch of different folders/repos to one big one that i can actually publish and is overseeable, alongside that i also worked on getting the wlr-foreign-toplevel-management protocol working, it doesnt fully work yet but i hope i get it right asap
I got my Flexbox style library working finally and i rendered a simple scene consisting of one root element and two smaller fill elements, it calculates! :D
I worked on rounded corners and outlines for my layout engine, since im on the go i havent been fully able to test it buut as soon as i get back ill upload a devlog with a full scene displaying my progress, i also had to learn about eulers which cairo uses (pain)
Added a background and Made the taskbar show icons alongside crude window decorations. Next up would be actually showing the window icon on the decoration and the title....
|
1793180960.1460133
|
1793785760.1460133
|
|
55763
|
Hall Of Stars by @Camiel | Stardance
|
Camiel
|
0
|
41.42
|
0
|
[]
|
[{"post_id": 77384, "ts": "202 [{"post_id": 77384, "ts": "2026-10-06T18:57:56Z", "hours": 10.1469, "text": "Hall of Stars - Interactables, UI manager and Project Info This was by far the hardest part of the project for me. I had to start mixing the generation and objects of the game itself with the UI, to integrate properly working NPC’s and interactable projects. But this was really a necessary part of the process to make the rooms have immersive contents. I managed to survive it (thanks to @torkel ), so now comes the fun part of designing the rooms! New Features: Interactables: Adds a way to select an object and have a specific range around them where the player is able to open an UI upon the press of the set keybind. It also shows a hint for the keybind and what it does when you enter the interaction range. It is also possible to change the texture of the target object when entering the interaction range. UI Manager: A global class that manages the active UI’s and overlays (such as hints for interactables). It makes sure everything is displayed correctly and keybinds and events are passed on to the right UI screen. Project Info: Every room now contains a altar with a book on it, this will contain all your project info (WIP). Future Plans: Detailed Project Rooms: I wanna add more representing objects in the project rooms and possibly add some decoration later on. Better Character? I might add a better fitting character if I have the time for it. NPC’s: I might wanna add some NPC’s you can talk to."}, {"post_id": 71267, "ts": "2026-09-20T15:33:55Z", "hours": 10.0858, "text": "Hall of Stars #4 - UI: Welcome Screen, Dialogues & Input Screens Never thought UI would be this hard, but it looks decently polished after 10h (or 9h and 55m to be precise) of coding. I’ve added a beautiful welcoming screen that sets up the .env for you and explains some stuff (like controls, use case, etc.). I’ve used assets from the Stardance Github . I eventually also found a cartoon yapping mp3 in there, so I thought it’d be funny to use that. No idea what it’s originally used for, but it helps. Thanks to @torkel for supporting my work and helping me endure all this. Peace out! New Features: Welcome Screen: An instructive conversation that consists out of 4 dialogues: An instruction for the keybinds Explaination of what the project is and what the use cases are An input field where you enter your Stardance username to connect to the Stardance Stats API A have fun page Dialogues: A class that draws a screen with text. It takes the text that is spoken and has optional arguments for a character png file and a character name to display. Input Screen: A screen that returns a value which the users enters. Takes a question and a placeholder. Future Plans: Refactor some messy code Add project information to the rooms, like a museum for every project"}, {"post_id": 69761, "ts": "2026-09-17T18:55:26Z", "hours": 7.2286, "text": "Hall of Stars - Collision, Hitboxes, Room Loading/Unloading & Working Doors I’ve been working hard on trying to get this game in a playable state as soon as possible, so I can then further expand the game but also make it ready for shipping whenever I need. That’s why I’m focussing on features like collisions and room navigation. I moved the main loop to level.py to let the world tick everything, and only the visual rendering is done in the main class. You can now walk through doors and easily move rooms and I even added a carpet! Shoutout to my number one fan @torkel for supporting all my great work New Features: Collisions: All collidable are added to a sprite group, which is saved in the level class and passed on to the player class to check for collisions. Hitboxes: Added the option for tiles to have a hitbox smaller than it’s tile (16x16). The player also has a smaller hitbox to make it able to create depth. Room Loading/Unloading: Each room saves it’s own tiles and collidable objects. When a room is loaded, these are added into the global tiles and collidable objects groups. They are removed form the global groups upon unloading the room. Working Doors: The doors now work seamlessly and loads you into a specific room. Future Plans: API class using Stardance Stats from @mixidmb , shoutout to him for creating that API. Generating rooms based on project information with the possibility to view project details."}, {"post_id": 65496, "ts": "2026-09-10T17:56:03Z", "hours": 8.5803, "text": "Hall of Stars #2 - Camera, Rooms, Layers, Dynamic Hallway Generation & More Long time no see! Finally came to a point where committing was valid and the code was not messed up. I was rewriting alot of code throughout the process of adding all these features, because every new feature I came up with needed a change in the previous feature’s code. Anyway shoutout to my number one fan @torkel and may the --force be with you! New Features: Camera: A camera that follows the player around and renders all the visible objects. Rooms: Added the functionality to generate rooms with adjustable width, height and walls. Dynamic Hallway Generation: A subclass of the Rooms class that generates a hallway with a door for every project you have on stardance. Dummy API: Because the stardance API doesn’t have profile fetching yet. Layers: So everything renders correctly Future Plans: Adding a way to see what door represents what project. Adding decorations Adding room teleport logic Adding project visualization in rooms"}, {"post_id": 58802, "ts": "2026-08-31T11:55:23Z", "hours": 5.3786, "text": "Hall of Stars - Character Sprite Animations & Walking Logic First devlog for Hall of Stars, yipee! I came up with this idea while playing Pokemon Diamond on my old DS lite. I just like the way it feels, the movement is so jittery, but it still feels nice to play. So I came up with the idea to make a game with a matching style. I was kinda done with minecraft-themed projects, so I thought: “Why not do something with the Stardance API, since I’m building this project for stardance anyway.” I decided to start making a retro topdown game (just like Pokemon Diamond) where you spawn into a long hallway with doors on the sides. Those doors represent all the projects you’ve made on stardance. When entering a door it will give you more information on the project, like hours spent, number of devlogs and their contents, number of ships, and more if I get the chance. New Features: Screen: Yeah, I added a screen. This makes it possible for your eyes to see what’s happening. It must be one of the best inventions ever in gaming. Character Sprite Texture: I textured the character in all the frames, this took long . The animation and character template are made by ErisEsra , so big shoutout to her. Character Sprite Animations: I’ve made sure the template animation works properly and the player now has idle and walk animations for all four directions. Player Movement: I implemented the logic for moving the player, with the same system as most retro games: Up, Down, Left or Right. No diagonal walking. Future Plans: Constructing the hallway Adding the doors and rooms Making an API class that communicates with the stardance API. Add projects to the hallway through the API Add project details to the rooms"}]...
|
Title: Hall Of Stars by @Camiel | Stardance
Devlo Title: Hall Of Stars by @Camiel | Stardance
Devlogs:
Hall of Stars - Character Sprite Animations & Walking Logic First devlog for Hall of Stars, yipee! I came up with this idea while playing Pokemon Diamond on my old DS lite. I just like the way it feels, the movement is so jittery, but it still feels nice to play. So I came up with the idea to make a game with a matching style. I was kinda done with minecraft-themed projects, so I thought: “Why not do something with the Stardance API, since I’m building this project for stardance anyway.” I decided to start making a retro topdown game (just like Pokemon Diamond) where you spawn into a long hallway with doors on the sides. Those doors represent all the projects you’ve made on stardance. When entering a door it will give you more information on the project, like hours spent, number of devlogs and their contents, number of ships, and more if I get the chance. New Features: Screen: Yeah, I added a screen. This makes it possible for your eyes to see what’s happening. It must be one of the best inventions ever in gaming. Character Sprite Texture: I textured the character in all the frames, this took long . The animation and character template are made by ErisEsra , so big shoutout to her. Character Sprite Animations: I’ve made sure the template animation works properly and the player now has idle and walk animations for all four directions. Player Movement: I implemented the logic for moving the player, with the same system as most retro games: Up, Down, Left or Right. No diagonal walking. Future Plans: Constructing the hallway Adding the doors and rooms Making an API class that communicates with the stardance API. Add projects to the hallway through the API Add project details to the rooms
Hall of Stars #2 - Camera, Rooms, Layers, Dynamic Hallway Generation & More Long time no see! Finally came to a point where committing was valid and the code was not messed up. I was rewriting alot of code throughout the process of adding all these features, because every new feature I came up with needed a change in the previous feature’s code. Anyway shoutout to my number one fan @torkel and may the --force be with you! New Features: Camera: A camera that follows the player around and renders all the visible objects. Rooms: Added the functionality to generate rooms with adjustable width, height and walls. Dynamic Hallway Generation: A subclass of the Rooms class that generates a hallway with a door for every project you have on stardance. Dummy API: Because the stardance API doesn’t have profile fetching yet. Layers: So everything renders correctly Future Plans: Adding a way to see what door represents what project. Adding decorations Adding room teleport logic Adding project visualization in rooms
Hall of Stars - Collision, Hitboxes, Room Loading/Unloading & Working Doors I’ve been working hard on trying to get this game in a playable state as soon as possible, so I can then further expand the game but also make it ready for shipping whenever I need. That’s why I’m focussing on features like collisions and room navigation. I moved the main loop to level.py to let the world tick everything, and only the visual rendering is done in the main class. You can now walk through doors and easily move rooms and I even added a carpet! Shoutout to my number one fan @torkel for supporting all my great work New Features: Collisions: All collidable are added to a sprite group, which is saved in the level class and passed on to the player class to check for collisions. Hitboxes: Added the option for tiles to have a hitbox smaller than it’s tile (16x16). The player also has a smaller hitbox to make it able to create depth. Room Loading/Unloading: Each room saves it’s own tiles and collidable objects. When a room is loaded, these are added into the global tiles and collidable objects groups. They are removed form the global groups upon unloading the room. Working Doors: The doors now work seamlessly and loads you into a specific room. Future Plans: API class using Stardance Stats from @mixidmb , shoutout to him for creating that API. Generating rooms based on project information with the possibility to view project details.
Hall of Stars #4 - UI: Welcome Screen, Dialogues & Input Screens Never thought UI would be this hard, but it looks decently polished after 10h (or 9h and 55m to be precise) of coding. I’ve added a beautiful welcoming screen that sets up the .env for you and explains some stuff (like controls, use case, etc.). I’ve used assets from the Stardance Github . I eventually also found a cartoon yapping mp3 in there, so I thought it’d be funny to use that. No idea what it’s originally used for, but it helps. Thanks to @torkel for supporting my work and helping me endure all this. Peace out! New Features: Welcome Screen: An instructive conversation that consists out of 4 dialogues: An instruction for the keybinds Explaination of what the project is and what the use cases are An input field where you enter your Stardance username to connect to the Stardance Stats API A have fun page Dialogues: A class that draws a screen with text. It takes the text that is spoken and has optional arguments for a character png file and a character name to display. Input Screen: A screen that returns a value which the users enters. Takes a question and a placeholder. Future Plans: Refactor some messy code Add project information to the rooms, like a museum for every project
Hall of Stars - Interactables, UI manager and Project Info This was by far the hardest part of the project for me. I had to start mixing the generation and objects of the game itself with the UI, to integrate properly working NPC’s and interactable projects. But this was really a necessary part of the process to make the rooms have immersive contents. I managed to survive it (thanks to @torkel ), so now comes the fun part of designing the rooms! New Features: Interactables: Adds a way to select an object and have a specific range around them where the player is able to open an UI upon the press of the set keybind. It also shows a hint for the keybind and what it does when you enter the interaction range. It is also possible to change the texture of the target object when entering the interaction range. UI Manager: A global class that manages the active UI’s and overlays (such as hints for interactables). It makes sure everything is displayed correctly and keybinds and events are passed on to the right UI screen. Project Info: Every room now contains a altar with a book on it, this will contain all your project info (WIP). Future Plans: Detailed Project Rooms: I wanna add more representing objects in the project rooms and possibly add some decoration later on. Better Character? I might add a better fitting character if I have the time for it. NPC’s: I might wanna add some NPC’s you can talk to....
|
1792633844.5809119
|
1793238644.5809119
|
|
19501
|
The Earth kept a record. Here it is! by @ShehmaAli The Earth kept a record. Here it is! by @ShehmaAli | Stardance...
|
ShehmaAli
|
1
|
41.4
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-22T05:49:54Z", "hours": 38.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an Interactive climate change dashboard using Streamlit and Plotly which visualized over 80 years of temperature data. Included 5 interactive graphs and one being a future temperature prediction model. The most chalenging thing for me was to learn streamlit as i have never made any application using that for the UI and another thing would be building a prediction model and making it work with the visualizations. I am proud to turn the raw climate data into something easy to explore. I am proud on completing my first full streamlit project and giving it a clean, interactive interface and also successfully deploying the project online. If people want to test my project they should: -Try both City and Country modes. -Test all 5 graph pages. -Use the Random buttons on comparison and heatmap pages. -Experiment with different years in the Future Prediction page. -The prediction graph is for educational purposes and is based on historical trends, not a scientific forecast.", "repo": "https://github.com/ShehmaAli/The-Earth-kept-a-record.-Here-it-is...", "demo": "https://the-earth-kept-a-record-here-it-is-vavg5teg69z5fpeqsqcren.streamlit.app/"}]...
|
[{"post_id": 74520, "ts": "202 [{"post_id": 74520, "ts": "2026-09-27T15:35:07Z", "hours": 0.5256, "text": "Change of all the plans 😭😭😭 So the thing is that my progess is falling apart and i want my 30 plus approved hours to be done inorder to get the certificate (I WANT IT PLS) and for this i want my dashboard to be in Flask HTML CSS and to be deployed in vercel But firstly gotta change the file directory!!!! So alot to do in pretty less time !!!! UGGGHHHH End of devlog # 8 See you in the next one !!! BYEEEE!!!!!!!"}, {"post_id": 34385, "ts": "2026-07-25T01:51:48Z", "hours": 2.87, "text": "HAD TO REDO THE README.md Well… I thought I was finally done. SOO now Welcome to the unexpected devlog # 7 Turns out my previous README had a bit too much AI in it, so I decided to rewrite almost the entire thing myself. It definitely took way longer than I expected, but now it actually feels like my project. At this point everything is finally done: ✅ UI ✅ Graphs ✅ Deployment ✅ Comments ✅ README Now hoping to not write another devlog now Byeeee!!!!"}, {"post_id": 32789, "ts": "2026-07-22T05:32:50Z", "hours": 3.5272, "text": "I DID THE FINAL STEPS Well almost all of it was done the remaining things were README.md file (half well) Comment of the entire files (I don’t like to do commenting 😭😭😭😭😭😭) WELLL WELLL Funny enough, commenting turned out to be the easier part. The real challenge was writing the README because I wanted it to actually explain the project properly instead of being just a few lines. End of devlog # 6 NOW GONNA SHIP THE PROJECT Everything is now ready… all that’s left is to hit Ship Project 🚀"}, {"post_id": 31015, "ts": "2026-07-19T02:24:57Z", "hours": 6.3275, "text": "UI UI UI ALL I DID WAS UI !!!!!! This update has been all about polishing the project. I’ve finally completed the UI for every single page , you all can see the before and the after in the screenshots of the UI. Besides this I had successfully deployed the application! despite the errors I faced while making it run smooth 😅 Looking back, it’s hard to believe this started as my first Streamlit project. I spent way more time tweaking layouts, colors, containers, and spacing than I ever expected, but it was worth it FINALLY!!!! Now the dashboard finally feels complete, and all that’s left is the final polish: cleaning up the code, adding comments, and finishing the README before I officially ship it. 🌍 The app is now live! If you’d like to explore 80+ years of climate data through interactive visualizations, give it a try: THE LINK TO THE PROJECT : https://the-earth-kept-a-record-here-it-is-vavg5teg69z5fpeqsqcren.streamlit.app/ Everyone do let me know about any improvements that you may seem that I can make before the shipping of this project This is the end of devlog # 5 See you all in devlog # 6 Byeeeeeee!"}, {"post_id": 27451, "ts": "2026-07-13T00:56:31Z", "hours": 5.5139, "text": "WHY DOES IT LOOK LIKE THAT????????? So, I was finally working on my last graph, the one that predicts future temperature anomalies for a city or country. I built the model, generated the predictions… and this is what I got. (the graph with almost a straight line) Honestly, I was disappointed. I expected something that looked more like a “prediction,” not just a line. So, I tried connecting the future with the historical data, changed a few things, and even wondered if I had done Polynomial Regression completely wrong. Turns out… the model wasn’t the problem. Regression doesn’t make random ups and downs, it simply learns the overall trend from the historical data and continues it into the future. In the end, I stopped trying to make the graph look dramatic and focused on making it accurate instead. What do you all think of this graph?? This is the end of devlog #4 See you all in devlog #5 Byeeeee"}, {"post_id": 24933, "ts": "2026-07-08T20:15:11Z", "hours": 14.7333, "text": "🚨 I USED THE WRONG DATA ALL ALONG… So Storytime!!!! When I almost like coded 3 out of 5 graphs, only then did I realise that I had the MAIN ingredient wrong: the data. To be exact, when I first downloaded the datasets, they seemed to have everything I needed: 🌡️ Temperatures from the 1940s to 2025 📅 Year-wise timeline 🌍 Data for cities and countries ❓Temperature anomaly (wait… what is this?) At first, I honestly thought Temperature Anomaly was just a fancy way of saying temperature change. Turns out I need to work a bit harder on both my SAT English and this project. 😅 Because when I looked into the csv in detail the Temperature anomaly was like in range of -0.000342 to 4.66247 and this was for like every single country each varing differently. After a bit of Googling and reading, I discovered that ** temperature anomaly is not the actual temperature**. Instead, it measures how much warmer or cooler a place is compared to its average temperature during a reference period. That meant I had a huge problem. My country data was already stored as temperature anomalies, but my city data contained actual temperatures. I was unknowingly comparing two completely different measurements in the same project. If I had continued like that, my comparisons would have been misleading, my rankings would have been unfair, and my prediction model would have been built on inconsistent data. So… I stopped everything. I went back, learned how temperature anomalies are calculated, converted all of my city datasets to use the same measurement, and rebuilt the affected parts of the project. It definitely wasn’t the plan, but I’m glad I caught the mistake before shipping the project. End of story……. Besides this I improved my horrible looking homepage (the simple screenshot) and now it definitely looks like something to look at (the attractive homepage) this also had me going through streamlit’s documentation and continuous learning…… which I am getting fed up of but again that is what coding means right?😅 Lastly I did also complete my 4 out of 5 graphs which is definitely a relief (pheww) and now all that’s left todo is Graph 5 Improved UI of all the graph pages About page Girls and Guys I would love to have your feedback for my project (PLZ PLZ PLZ suggest improvements 😭😭😭😭) Byeeee!!!!! See you in Devlog # 4 ✨ END of devlog # 3"}, {"post_id": 13967, "ts": "2026-06-22T22:33:14Z", "hours": 6.0975, "text": "Devlog # 2 Hi everyone! Hope you’re all doing well! 😊 Thankfully, I got out of the data cleaning phase. This week, I had my mind on the design and page layout of my web application, as well as the visualisations that will bring my idea to life. 🖥️ Planning the Website I thought my web application would have a structure like this: A Homepage 5 pages, each having a different graph type for each country An About page But everyone, the main challenge was that I had never worked with streamlit so in short, I had to learn it, and for me, tutorials almost never worked for me, so I had to go through documentation every single time, and this got me a lot of time spent on it instead of code. 🎨 Building the Homepage As I was trying to set up my homepage, I wanted something like this (this picture of the homepage is the inspo from ChatGPT ) So I started with the title and the choices, but when I wanted to take the user to that specific page of the graph, I got this error ( the picture with the error message). This had me stuck for almost an hour or so until I got it right, and FINALLY, my homepage was done. ( the homepage in black with the text “Earth Kept a record(in red), Here it is!!). Seeing this, **I was in the air!!!! YAAAAY!!!🎉🎉 ** 📈 First Graph first try I also started working on my first visualisation: the Temperature Trends Graph. This graph enables users to select a city or country and view how temperatures have evolved, utilising real climate data.To make it more visually appealing, I added a color-gradient effect to the graph. I did get some help from AI while experimenting with the design, but I’m really happy with how it turned out. It’s the first graph of the project, and I am gonna still work on it, and this progress makes me feel really GOOD.. 🌎(finally YAAAY YAAAY🎉🎉🎉) ✨That’s all for this week’s progress! See you in Devlog #3 🚀"}, {"post_id": 11006, "ts": "2026-06-18T01:02:50Z", "hours": 1.9433, "text": "Devlog #1 🌍 Hi everyone! I’m Shehma Ali, and welcome to my first devlog. Today I’ll be sharing what my project is and what I’ve done so far.🚀 •My Project Visualizes 80 years of climate change using real NASA and Copernicus climate data. •Lets users explore temperature trends for 10 cities from the 1940s to 2025. •Includes city trend graphs, global comparisons, warming rankings, and heatmaps. •Features future temperature predictions using linear regression with adjustable controls. •Built entirely in Python using Pandas, Plotly, and Streamlit. •Makes complex climate data simple and easy to understand. 🔨 Progress So Far To be completely honest, the data collection stage has been brutal. I first had to find city-level climate data from NASA and country-level climate data from Copernicus, which took a lot more searching than I expected. After gathering all the CSV files, I aligned them to the same year range and cleaned them so they could be used together in the project. With the datasets now prepared FINALLY, I’m ready to start building the visualisations and bringing the app to life. See you in the next devlog! 🌎✨"}]...
|
Title: The Earth kept a record. Here it is! by @Sh Title: The Earth kept a record. Here it is! by @ShehmaAli | Stardance
Devlogs:
Devlog #1 🌍 Hi everyone! I’m Shehma Ali, and welcome to my first devlog. Today I’ll be sharing what my project is and what I’ve done so far.🚀 •My Project Visualizes 80 years of climate change using real NASA and Copernicus climate data. •Lets users explore temperature trends for 10 cities from the 1940s to 2025. •Includes city trend graphs, global comparisons, warming rankings, and heatmaps. •Features future temperature predictions using linear regression with adjustable controls. •Built entirely in Python using Pandas, Plotly, and Streamlit. •Makes complex climate data simple and easy to understand. 🔨 Progress So Far To be completely honest, the data collection stage has been brutal. I first had to find city-level climate data from NASA and country-level climate data from Copernicus, which took a lot more searching than I expected. After gathering all the CSV files, I aligned them to the same year range and cleaned them so they could be used together in the project. With the datasets now prepared FINALLY, I’m ready to start building the visualisations and bringing the app to life. See you in the next devlog! 🌎✨
Devlog # 2 Hi everyone! Hope you’re all doing well! 😊 Thankfully, I got out of the data cleaning phase. This week, I had my mind on the design and page layout of my web application, as well as the visualisations that will bring my idea to life. 🖥️ Planning the Website I thought my web application would have a structure like this: A Homepage 5 pages, each having a different graph type for each country An About page But everyone, the main challenge was that I had never worked with streamlit so in short, I had to learn it, and for me, tutorials almost never worked for me, so I had to go through documentation every single time, and this got me a lot of time spent on it instead of code. 🎨 Building the Homepage As I was trying to set up my homepage, I wanted something like this (this picture of the homepage is the inspo from ChatGPT ) So I started with the title and the choices, but when I wanted to take the user to that specific page of the graph, I got this error ( the picture with the error message). This had me stuck for almost an hour or so until I got it right, and FINALLY, my homepage was done. ( the homepage in black with the text “Earth Kept a record(in red), Here it is!!). Seeing this, **I was in the air!!!! YAAAAY!!!🎉🎉 ** 📈 First Graph first try I also started working on my first visualisation: the Temperature Trends Graph. This graph enables users to select a city or country and view how temperatures have evolved, utilising real climate data.To make it more visually appealing, I added a color-gradient effect to the graph. I did get some help from AI while experimenting with the design, but I’m really happy with how it turned out. It’s the first graph of the project, and I am gonna still work on it, and this progress makes me feel really GOOD.. 🌎(finally YAAAY YAAAY🎉🎉🎉) ✨That’s all for this week’s progress! See you in Devlog #3 🚀
🚨 I USED THE WRONG DATA ALL ALONG… So Storytime!!!! When I almost like coded 3 out of 5 graphs, only then did I realise that I had the MAIN ingredient wrong: the data. To be exact, when I first downloaded the datasets, they seemed to have everything I needed: 🌡️ Temperatures from the 1940s to 2025 📅 Year-wise timeline 🌍 Data for cities and countries ❓Temperature anomaly (wait… what is this?) At first, I honestly thought Temperature Anomaly was just a fancy way of saying temperature change. Turns out I need to work a bit harder on both my SAT English and this project. 😅 Because when I looked into the csv in detail the Temperature anomaly was like in range of -0.000342 to 4.66247 and this was for like every single country each varing differently. After a bit of Googling and reading, I discovered that ** temperature anomaly is not the actual temperature**. Instead, it measures how much warmer or cooler a place is compared to its average temperature during a reference period. That meant I had a huge problem. My country data was already stored as temperature anomalies, but my city data contained actual temperatures. I was unknowingly comparing two completely different measurements in the same project. If I had continued like that, my comparisons would have been misleading, my rankings would have been unfair, and my prediction model would have been built on inconsistent data. So… I stopped everything. I went back, learned how temperature anomalies are calculated, converted all of my city datasets to use the same measurement, and rebuilt the affected parts of the project. It definitely wasn’t the plan, but I’m glad I caught the mistake before shipping the project. End of story……. Besides this I improved my horrible looking homepage (the simple screenshot) and now it definitely looks like something to look at (the attractive homepage) this also had me going through streamlit’s documentation and continuous learning…… which I am getting fed up of but again that is what coding means right?😅 Lastly I did also complete my 4 out of 5 graphs which is definitely a relief (pheww) and now all that’s left todo is Graph 5 Improved UI of all the graph pages About page Girls and Guys I would love to have your feedback for my project (PLZ PLZ PLZ suggest improvements 😭😭😭😭) Byeeee!!!!! See you in Devlog # 4 ✨ END of devlog # 3
WHY DOES IT LOOK LIKE THAT????????? So, I was finally working on my last graph, the one that predicts future temperature anomalies for a city or country. I built the model, generated the predictions… and this is what I got. (the graph with almost a straight line) Honestly, I was disappointed. I expected something that looked more like a “prediction,” not just a line. So, I tried connecting the future with the historical data, changed a few things, and even wondered if I had done Polynomial Regression completely wrong. Turns out… the model wasn’t the problem. Regression doesn’t make random ups and downs, it simply learns the overall trend from the historical data and continues it into the future. In the end, I stopped trying to make the graph look dramatic and focused on making it accurate instead. What do you all think of this graph?? This is the end of devlog #4 See you all in devlog #5 Byeeeee
UI UI UI ALL I DID WAS UI !!!!!! This update has been all about polishing the project. I’ve finally completed the UI for every single page , you all can see the before and the after in the screenshots of the UI. Besides this I had successfully deployed the application! despite the errors I faced while making it run smooth 😅 Looking back, it’s hard to believe this started as my first Streamlit project. I spent way more time tweaking layouts, colors, containers, and spacing than I ever expected, but it was worth it FINALLY!!!! Now the dashboard finally feels complete, and all that’s left is the final polish: cleaning up the code, adding comments, and finishing the README before I officially ship it. 🌍 The app is now live! If you’d like to explore 80+ years of climate data through interactive visualizations, give it a try: THE LINK TO THE PROJECT : https://the-earth-kept-a-record-here-it-is-vavg5teg69z5fpeqsqcren.streamlit.app/ Everyone do let me know about any improvements that you may seem that I can make before the shipping of this project This is the end of devlog # 5 See you all in devlog # 6 Byeeeeeee!
I DID THE FINAL STEPS Well almost all of it was done the remaining things were README.md file (half well) Comment of the entire files (I don’t like to do commenting 😭😭😭😭😭😭) WELLL WELLL Funny enough, commenting turned out to be the easier part. The real challenge was writing the README because I wanted it to actually explain the project properly instead of being just a few lines. End of devlog # 6 NOW GONNA SHIP THE PROJECT Everything is now ready… all that’s left is to hit Ship Project 🚀
HAD TO REDO THE README.md Well… I thought I was finally done. SOO now Welcome to the unexpected devlog # 7 Turns out my previous README had a bit too much AI in it, so I decided to rewrite almost the entire thing myself. It definitely took way longer than I expected, but now it actually feels like my project. At this point everything is finally done: ✅ UI ✅ Graphs ✅ Deployment ✅ Comments ✅ README Now hoping to not write another devlog now Byeeee!!!!
Change of all the plans 😭😭😭 So the thing is that my progess is falling apart and i want my 30 plus approved hours to be done inorder to get the certificate (I WANT IT PLS) and for this i want my dashboard to be in Flask HTML CSS and to be deployed in vercel But firstly gotta change the file directory!!!! So alot to do in pretty less time !!!! UGGGHHHH End of devlog # 8 See you in the next one !!! BYEEEE!!!!!!!
Ships:
I made an Interactive climate change dashboard using Streamlit and Plotly which visualized over 80 years of temperature data. Included 5 interactive graphs and one being a future temperature prediction model. The most chalenging thing for me was to learn streamlit as i have never made any application using that for the UI and another thing would be building a prediction model and making it work with the visualizations. I am proud to turn the raw climate data into something easy to explore. I am proud on completing my first full streamlit project and giving it a clean, interactive interface and also successfully deploying the project online. If people want to test my project they should: -Try both City and Country modes. -Test all 5 graph pages. -Use the Random buttons on comparison and heatmap pages. -Experiment with different years in the Future Prediction page. -The prediction graph is for educational purposes and is based on historical trends, not a scientific forecast....
|
1793130586.7900288
|
1793216986.7900288
|
|
52764
|
Jae Slackbot by @JustAnEric | Stardance
|
JustAnEric
|
1
|
41.39
|
155
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-29T12:08:26Z", "hours": 23.0, "multiplier": 6.68, "payout": 155, "blessing": "neutral", "text": "I made an AI bot called Jae that is completely free without limits (✊ go local AI!), it shows what it thinks and does using Slack’s Block Kit, and a basic version is working pretty well in experimental testing. The thinking part was the most challenging, but it works for models that have a structured thinking trace! Use this agent bot if you feel gorkie or other bots provide too little information into what they think. Slack Technical Information Canvas", "repo": "https://github.com/JustAnEric/jae-slackbot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BS4G20ZR7"}]...
|
[{"post_id": 61347, "ts": "202 [{"post_id": 61347, "ts": "2026-09-04T06:58:02Z", "hours": 3.2033, "text": "V1.2.4-experimental | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Jae can now access Stardance projects, and search the web with a configured SearXNG server! I also made sure that if you don’t configure them, the appropriate tools don’t get registered (to make your life easier) Update is live on Slack, and the experimental version is available through the first pull request. PR: https://github.com/JustAnEric/jae-slackbot/pull/1 Thanks for reading! (sorry for the slow updates, school has been on and I’ve also been reviewing projects for my ship payout) README | Commit History"}, {"post_id": 59505, "ts": "2026-09-01T11:41:00Z", "hours": 6.2019, "text": "V1.2.3-experimental (haha, 1-2-3…) | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 After a lot of trial and error, I’m proud to say that Jae now has ONE tool that hasn’t been released yet, called the run_command tool. On the running of this tool, an Alpine Linux container will be spun up for Jae to experiment inside! The packages I included in the Dockerfile (or image) for Jae to use are Rust / Cargo / Rustup, Python 3 and NodeJS. Docker Compose manages the behind-the-scenes for the Jae Execution Server and Docker-Socket-Proxy (thanks, Tecnativa :D) and if you were to run the bot on a different machine from the execution server, you can use the handy environment variables declared in the bot EXECUTION_SERVER=<IP>:<PORT> and EXECUTION_SERVER_TOKEN=... . Of course I had to include a token, otherwise it just wouldn’t be that secure. A next bit to this might be persistence for a single conversation thread, or setting resource limits so the bot doesn’t accidentally run a crypto miner. And, then even allowing Jae to interact with programs could be a great addition. Update is live on Slack, but of course I will be monitoring + Jae will be a little hesitant to run commands. Thanks for reading! README | Commit History"}, {"post_id": 57960, "ts": "2026-08-30T09:22:39Z", "hours": 8.9803, "text": "V1.2.2-experimental | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 I have been working a major update, so basically I created an execution server for Jae the AI to use… and I don’t want to push it to main yet just because of safety issues and concerns I’ll still need to fix up. The GitHub tree for these changes I made in 9 hours is here if anyone is interested: https://github.com/JustAnEric/jae-slackbot/tree/dev-execution-server Expanding on my last devlog, I couldn’t brainstorm much other uses for tools other than this, and making these changes, Jae will probably be making a considerable turn in its primary capabilities (from not being able to generate code to being able to generate code). I’ve also added in a Slack Canvas (this wasn’t said in any other devlog, so I’ve decided to link it here): https://hackclub.enterprise.slack.com/docs/T0266FRGM/F0BTEH85NKX Thanks for reading! README | Commit History"}, {"post_id": 57277, "ts": "2026-08-29T11:53:51Z", "hours": 1.8325, "text": "V1.2.1 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Jae now has feedback buttons! No settings or dashboard has been created yet for this functionality, but it is still going to be useful for gathering feedback from everyone into how Jae can improve. I feel like all my images on the devlogs are so out of context, sorry about that… Main point is, we now have those buttons I guess. README | Commit History"}, {"post_id": 56980, "ts": "2026-08-29T01:06:46Z", "hours": 4.9306, "text": "V1.2.0 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Even more cleanups, and I changed it all to TYPESCRIPT!!! Also, now there’s tool calling included… I really need suggestions for tools to include, whatever you’d like to see… I beg you all to make me busy. ;) I still want to work on making tools and thinking available outside of streaming mode, but I’m SUPER lazy and there’s no other APIs yet supported… just admit streaming is better at this point. A TOOLS_ENABLED=true environment setting turns on this functionality, and tools can be found inside src/tools , I’ll create some clarity by editing the README soon for the creation of your own custom tools, I want to make it as easy as possible, of course. README | Commit History"}, {"post_id": 56588, "ts": "2026-08-28T12:21:32Z", "hours": 3.5464, "text": "V1.1.1 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Some minor cleanups here and there, more refactoring and bug testing, also devised a new title generation feature that will be coming soon for threads as Slack allows that apparently… will probably get the AI to generate the title after 3 messages. There will be more updates, just been a little slow with it due to school. Hopefully I will get tool-calling working by the end of the week. Maybe even a change to TypeScript, as IntelliSense with VS Code on NodeJS is really bad . README | Commit History"}, {"post_id": 53655, "ts": "2026-08-24T09:51:45Z", "hours": 5.4092, "text": "V1.1.0 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Today, I’ve now finalized the thinking aspect of the Slack bot! The thinking functionality currently only supports streaming mode (so I will work on getting the latter done in the near future, I only know how to show the tasks via progression.) It uses Slack’s task_update and plan_update methods, tested on all Gemma 4 models. The Gemma 4 models shine for this purpose because they output a consistent, structured trace instead of just rambling for most of the time. If the model chosen doesn’t support the format set in the code , the thinking trace won’t be displayed to the user and instead will display a Thinking… text. This took way longer than expected, especially because I started on it late at night.. but at least it’s finally done. It’s enabled by default in the GitHub repository’s new .env.example file, just as streaming mode is enabled by default. README | Commit History"}, {"post_id": 52913, "ts": "2026-08-23T09:16:32Z", "hours": 7.4806, "text": "V.1.0.0 I’ve now gotten the main aspects down: the bot setup, model responses through an Ollama API, and you can access it on Slack through the #-jae channel or sending a DM. The future calls for tool-calling and thinking blocks. I’ll probably get the thinking blocks done in a few more hours, I’m learning about @slack/bolt as I go :-) Commit History | README"}]...
|
Title: Jae Slackbot by @JustAnEric | Stardance
De Title: Jae Slackbot by @JustAnEric | Stardance
Devlogs:
V.1.0.0 I’ve now gotten the main aspects down: the bot setup, model responses through an Ollama API, and you can access it on Slack through the #-jae channel or sending a DM. The future calls for tool-calling and thinking blocks. I’ll probably get the thinking blocks done in a few more hours, I’m learning about @slack/bolt as I go :-) Commit History | README
V1.1.0 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Today, I’ve now finalized the thinking aspect of the Slack bot! The thinking functionality currently only supports streaming mode (so I will work on getting the latter done in the near future, I only know how to show the tasks via progression.) It uses Slack’s task_update and plan_update methods, tested on all Gemma 4 models. The Gemma 4 models shine for this purpose because they output a consistent, structured trace instead of just rambling for most of the time. If the model chosen doesn’t support the format set in the code , the thinking trace won’t be displayed to the user and instead will display a Thinking… text. This took way longer than expected, especially because I started on it late at night.. but at least it’s finally done. It’s enabled by default in the GitHub repository’s new .env.example file, just as streaming mode is enabled by default. README | Commit History
V1.1.1 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Some minor cleanups here and there, more refactoring and bug testing, also devised a new title generation feature that will be coming soon for threads as Slack allows that apparently… will probably get the AI to generate the title after 3 messages. There will be more updates, just been a little slow with it due to school. Hopefully I will get tool-calling working by the end of the week. Maybe even a change to TypeScript, as IntelliSense with VS Code on NodeJS is really bad . README | Commit History
V1.2.0 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Even more cleanups, and I changed it all to TYPESCRIPT!!! Also, now there’s tool calling included… I really need suggestions for tools to include, whatever you’d like to see… I beg you all to make me busy. ;) I still want to work on making tools and thinking available outside of streaming mode, but I’m SUPER lazy and there’s no other APIs yet supported… just admit streaming is better at this point. A TOOLS_ENABLED=true environment setting turns on this functionality, and tools can be found inside src/tools , I’ll create some clarity by editing the README soon for the creation of your own custom tools, I want to make it as easy as possible, of course. README | Commit History
V1.2.1 | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Jae now has feedback buttons! No settings or dashboard has been created yet for this functionality, but it is still going to be useful for gathering feedback from everyone into how Jae can improve. I feel like all my images on the devlogs are so out of context, sorry about that… Main point is, we now have those buttons I guess. README | Commit History
V1.2.2-experimental | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 I have been working a major update, so basically I created an execution server for Jae the AI to use… and I don’t want to push it to main yet just because of safety issues and concerns I’ll still need to fix up. The GitHub tree for these changes I made in 9 hours is here if anyone is interested: https://github.com/JustAnEric/jae-slackbot/tree/dev-execution-server Expanding on my last devlog, I couldn’t brainstorm much other uses for tools other than this, and making these changes, Jae will probably be making a considerable turn in its primary capabilities (from not being able to generate code to being able to generate code). I’ve also added in a Slack Canvas (this wasn’t said in any other devlog, so I’ve decided to link it here): https://hackclub.enterprise.slack.com/docs/T0266FRGM/F0BTEH85NKX Thanks for reading! README | Commit History
V1.2.3-experimental (haha, 1-2-3…) | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 After a lot of trial and error, I’m proud to say that Jae now has ONE tool that hasn’t been released yet, called the run_command tool. On the running of this tool, an Alpine Linux container will be spun up for Jae to experiment inside! The packages I included in the Dockerfile (or image) for Jae to use are Rust / Cargo / Rustup, Python 3 and NodeJS. Docker Compose manages the behind-the-scenes for the Jae Execution Server and Docker-Socket-Proxy (thanks, Tecnativa :D) and if you were to run the bot on a different machine from the execution server, you can use the handy environment variables declared in the bot EXECUTION_SERVER=<IP>:<PORT> and EXECUTION_SERVER_TOKEN=... . Of course I had to include a token, otherwise it just wouldn’t be that secure. A next bit to this might be persistence for a single conversation thread, or setting resource limits so the bot doesn’t accidentally run a crypto miner. And, then even allowing Jae to interact with programs could be a great addition. Update is live on Slack, but of course I will be monitoring + Jae will be a little hesitant to run commands. Thanks for reading! README | Commit History
V1.2.4-experimental | you can freely access JAE by sending a DM through the Hack Club workspace to the agent , or by joining the #-jae channel ! <3 Jae can now access Stardance projects, and search the web with a configured SearXNG server! I also made sure that if you don’t configure them, the appropriate tools don’t get registered (to make your life easier) Update is live on Slack, and the experimental version is available through the first pull request. PR: https://github.com/JustAnEric/jae-slackbot/pull/1 Thanks for reading! (sorry for the slow updates, school has been on and I’ve also been reviewing projects for my ship payout) README | Commit History
Ships:
I made an AI bot called Jae that is completely free without limits (✊ go local AI!), it shows what it thinks and does using Slack’s Block Kit, and a basic version is working pretty well in experimental testing. The thinking part was the most challenging, but it works for models that have a structured thinking trace! Use this agent bot if you feel gorkie or other bots provide too little information into what they think. Slack Technical Information Canvas...
|
1793087447.9596937
|
1793173847.9596937
|
|
47091
|
Network Observatory by @Churu | Stardance
|
Churu
|
0
|
41.36
|
0
|
[]
|
[{"post_id": 47958, "ts": "202 [{"post_id": 47958, "ts": "2026-08-16T07:19:02Z", "hours": 19.0778, "text": "SO uhh i started working on sm other things and it am on a learning stage"}, {"post_id": 47005, "ts": "2026-08-14T16:13:51Z", "hours": 11.1681, "text": "Devlog - 2 - made it work with VMs (kind of) Last time I worked my node could already listen to TCP port 8765, recieve JSON msges , respond to hello, return basic system info. WAS not really a big mesh it was just a basic mesh, then I thought of actually start making an actual network. First I tried connecting across VMs and environments but that ended not good as I used a nest VM and its pretty restricted so I just thought why not first experiment on Codespace and thankfully that worked , It ran on 2 different nodes, laptop and codespace with same port, I faced some problems with port forwarding on codespace initially it was due to the wrong gh port being used , and same being used at the same times, now i also added it so it could talk with “python test_client.py 127.0.0.1 9000” like now it was not js working locally rather on a specified tcp address. Now here comes the biggest part I added a peer system , it basically means a MESH node can remember other nodes on the network, a peer represents another node and currently stores - id, endpoint, last seen and status. Added a peer registry which is basically the local database of these peers Added register, allowing one node to tell another “I exist, and here’s how you can reach me…” Current MESH state: nodes can communicate remotely, identify themselves, register peers, and maintain basic peer state."}, {"post_id": 45810, "ts": "2026-08-12T15:07:35Z", "hours": 11.1122, "text": "Devlog 1 - Js started I started making my mesh in python , I first needed to understand how the mesh actually worked so for first few hours i was trying random things on my pc with python that might add onto my mesh later on , i first start with making my protocol file which basically define the messages that my MESH nodes will understand, wasnt really that tough , then later on I went to make my first Node, i first defined ports and hosts and then went on to defining how they will communicate and how it will be done, and for the cli i for now gave it one command only For now i really js made my terminals communicate , later i will add more features"}]...
|
Title: Network Observatory by @Churu | Stardance
Title: Network Observatory by @Churu | Stardance
Devlogs:
Devlog 1 - Js started I started making my mesh in python , I first needed to understand how the mesh actually worked so for first few hours i was trying random things on my pc with python that might add onto my mesh later on , i first start with making my protocol file which basically define the messages that my MESH nodes will understand, wasnt really that tough , then later on I went to make my first Node, i first defined ports and hosts and then went on to defining how they will communicate and how it will be done, and for the cli i for now gave it one command only For now i really js made my terminals communicate , later i will add more features
Devlog - 2 - made it work with VMs (kind of) Last time I worked my node could already listen to TCP port 8765, recieve JSON msges , respond to hello, return basic system info. WAS not really a big mesh it was just a basic mesh, then I thought of actually start making an actual network. First I tried connecting across VMs and environments but that ended not good as I used a nest VM and its pretty restricted so I just thought why not first experiment on Codespace and thankfully that worked , It ran on 2 different nodes, laptop and codespace with same port, I faced some problems with port forwarding on codespace initially it was due to the wrong gh port being used , and same being used at the same times, now i also added it so it could talk with “python test_client.py 127.0.0.1 9000” like now it was not js working locally rather on a specified tcp address. Now here comes the biggest part I added a peer system , it basically means a MESH node can remember other nodes on the network, a peer represents another node and currently stores - id, endpoint, last seen and status. Added a peer registry which is basically the local database of these peers Added register, allowing one node to tell another “I exist, and here’s how you can reach me…” Current MESH state: nodes can communicate remotely, identify themselves, register peers, and maintain basic peer state.
SO uhh i started working on sm other things and it am on a learning stage...
|
1792889323.9817753
|
1793753323.9817753
|