|
52541
|
King of rock paper scissors by @busy_cheesy | Star King of rock paper scissors by @busy_cheesy | Stardance...
|
busy_cheesy
|
1
|
17.0
|
236
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T22:56:56Z", "hours": 17.0, "multiplier": 13.9, "payout": 236, "blessing": "neutral", "text": "This project is a real time rock, paper scissors ai predictor built entirely from scratch in python, displayed with a retro look made using pygame. Yes, this probably could’ve been a website to make it more accessible for more people, but I have absolutely no experience with js css or html, my experience is almost exclusively in python, so for the sake of goal of this project, which was to learn about how machine learning actually works, I made this project in python. To truly understand how these algorithms work, I decided to build one myself from scratch instead of relying on prebuilt machine learning libraries. This includes the full neural network with backpropagation and dynamic hidden layer scaling. I started with just one input given to the algorithm: the last 8 player choices. There were also just two parameters the bot had: number of games it receives (8) and the learning rate (how much it should learn from each move). I first experimented with different prediction strategies, starting from the simple highest likelyhood that the ai predicted, then opting for weighted choices (ex: if the ai predicted 40% for rock, 10% for paper and 50% for scissors, there would be a 40% chance it chose rock, 10% it chose paper, and 50% it chose scissors. this was decided randomly, with those weights). I finally settled on the epsilon-greedy strategy, which is like the highest likelyhood strategy except there is a 10% chance it takes a random choice to keep the bot a little unpredictable. I then added momentum, which accumulates the updates made to the model, which lets it notice patterns much quicker. Finally I added feature engineering, that adds more inputs that the bot could have made from the game histroy, but instead I give it to the bot. This gives more information to the bot such as shoft transitions, outcome history, and move frequencies, which it doesnt have to deduce on its own, which helps the bot find patterns quicker and predict better. The biggest challenge for me was tuning the bot by changing the parameters to find the best combination. I kept tweaking the values until it seemed like the bot was absolutely crushing me, but the next run it would be like I was playing against a toddler, an abysmal performace put on by the same values. To solve this problem, I ran a “championship” of bots, where i made 1400 combinations that then played 10 rounds of 100 games against the best bot I made so far. If they won more than 50%, they moved on. Around 140 bots made it to the second stage, a round-robin style tournament where each bot played the others in 20 rounds, each with 100 games. In total, there were about 13 000 000 games played. The winner was absolutely not who I was expecting: 2 game memory, 0.2 learning rate (pretty high) and 0.1 momentum. While the models with more game memomry and lower learning rate performed better in the q3 and q4, this proved that quick adaptation was much better suited for this project, and after testing that was certainly the case. I am most proud of how the interface turned out. In my humble opinion, the retro arcade aesthetic was perfectly executed (no glaze) with the scannlines, the font, and the pixel art. The prediction bars showing how the model predicted your next move are also a nice touch, giving a peek into the algorithm’s mind. When you play, expect some trash talk from the bot. From experience, it gets better and better the more you play. It varies from person to person, as some people are more predictable than others. That’s about the whole project! Thanks for having read the whole thing (if you did)!", "repo": "https://github.com/cream-of-wheat/RPS-King", "demo": "https://github.com/cream-of-wheat/RPS-King/releases/tag/v1.0.1"}]...
|
[{"post_id": 57736, "ts": "202 [{"post_id": 57736, "ts": "2026-08-30T00:13:49Z", "hours": 2.2383, "text": "This will probably be my last devlog before the ship. I have overhauled the manager to include feature engineering, which should help the model make connections much faster. It now receives choice shifts, match outcomes and overall move frequencies instead of just the history of past rounds. Changed the algorithm to predict the user’s next move instead of the counter. This makes it easier to understand how it was thinking that you would act. It still returns the counter to the player move tho. Also changed back from the probability weighted selection method to the epsilon greedy strategy (highest probability move is chosen 90% of the time and 10% is random). The only thing left is to tweak all the values until I am satisfied with the result and then off it goes into the sea."}, {"post_id": 56964, "ts": "2026-08-29T00:37:33Z", "hours": 2.35, "text": "Completely overhauled the UI and I think it looks much better now. The bot has taunts now, but performance is marginal at best right now. Taking all the different strategies I’ve tried to make the bot better and consolidating them to find the best possible parameters for it will be the next and probably final problem the project will face before shipping. Might try the round robbin style face offs with different parametered bots facing each other. Overall it’s been a very interesting journey learning about all these concepts in machine learning."}, {"post_id": 56328, "ts": "2026-08-28T01:49:44Z", "hours": 1.1167, "text": "So I did a lot of digging to find out how to improve the model and found some interesting stuff, but the main problem was that i was telling the model that the target move was a draw (immitating the player’s move) instead of beating them -_-. Also the idea of the round robbin to find the best bot parametersalso fell out because the models just trained to draw each other, but it took forever to execute so I don’t know if I should maybe retry it. There is still the very valid concern that the best bot would be the one that’s the best against other bots and not players so. On a more positive note, I introduced momentum. It keeps a running memory of the past updates, like a rolling bolder that builds speed. This enables it to recongnize patterns much quicker by stacking the past changes together. Caught onto patterns of length 1, 2, 3 and 4 in 1, 4, 12, and 17 moves, respectively. Below is a comparison (100 games of normal human rock paper scissors, not repeating a pattern, or atleast not conciously) vs random ouput (left) and the new bot (right). Glad to see it’s doing better. Will do more research on improving but polishing the game now is a better priority."}, {"post_id": 55336, "ts": "2026-08-27T02:27:30Z", "hours": 3.0167, "text": "So clearly what I said earlier about the algorithm was wrong. I tested it some more and it seems like sometimes it is just reading my mind and other attemps it’s like it’s not even trying. I have fiddled around with the number of games the algorithm sees and it’s learning rate, and every time I think I got it I ask my brother (unbiased third party) to test it where it promptly fails. So, I have devised a plan to find the ultimate round robbin with about 200 different algorithms playing a total of 30 000 000 games of rock paper scissors to find the true champion. Hopefully this will let me find the best learning rate and sample size for the ai, therefore improving it’s game. might take a little while to execute, so we’ll see when that happens. also if there’s anyone who knows more about machine learning, please don’t hesitate to tell me what i could try. Thanks!"}, {"post_id": 54086, "ts": "2026-08-24T21:26:27Z", "hours": 2.8667, "text": "Got the basic UI working with a simple animation, just need to transfer the text from the terminal to the app instead. Still have to work on making the algorithm better, as spamming the same move 20 times in a row, the AI was still picking the wrong options sometimes (maybe trying to predict when i would switch it up?). Cool to see everything coming together"}, {"post_id": 53348, "ts": "2026-08-23T20:48:03Z", "hours": 1.3167, "text": "Very scary progress, I am barely winning now. All it took was some minor adjustements to the layer sizes, learning rate, and number of games stored, as well as making the output a weighted random choice based on the probabilities given by the algorithm, and changing the input for the bot from just the human inputs to also include the bot inputs. I bet there’s even more to make it better which is even more scary. Very nice to see the progress showing though!"}, {"post_id": 52685, "ts": "2026-08-22T23:17:50Z", "hours": 2.0167, "text": "Second deblog working on the machine learning algorithm. I got the backpropagation working after some time, but clearly I have to tweak some things, like the learning rate, game history size, number of neurons per layer, etc. The issue probably also lies beyond that, so more research will have to be done. The algorithm easily gets outsmarted. So for now, humans still reign as rock paper scissors champions!"}, {"post_id": 52003, "ts": "2026-08-22T00:53:18Z", "hours": 2.0669, "text": "New project: a machine learning algorithm that plays rock paper scissors against you and learns in real time to predict your next move to beat you. Figured it was a pretty good way to get into machine learning as AI is on the rise, and coding my own will force me to truly understand how it works. I got the forward propagation working, and set everything up for back propagation for the next session. Can’t wait"}]...
|
Title: King of rock paper scissors by @busy_cheesy Title: King of rock paper scissors by @busy_cheesy | Stardance
Devlogs:
New project: a machine learning algorithm that plays rock paper scissors against you and learns in real time to predict your next move to beat you. Figured it was a pretty good way to get into machine learning as AI is on the rise, and coding my own will force me to truly understand how it works. I got the forward propagation working, and set everything up for back propagation for the next session. Can’t wait
Second deblog working on the machine learning algorithm. I got the backpropagation working after some time, but clearly I have to tweak some things, like the learning rate, game history size, number of neurons per layer, etc. The issue probably also lies beyond that, so more research will have to be done. The algorithm easily gets outsmarted. So for now, humans still reign as rock paper scissors champions!
Very scary progress, I am barely winning now. All it took was some minor adjustements to the layer sizes, learning rate, and number of games stored, as well as making the output a weighted random choice based on the probabilities given by the algorithm, and changing the input for the bot from just the human inputs to also include the bot inputs. I bet there’s even more to make it better which is even more scary. Very nice to see the progress showing though!
Got the basic UI working with a simple animation, just need to transfer the text from the terminal to the app instead. Still have to work on making the algorithm better, as spamming the same move 20 times in a row, the AI was still picking the wrong options sometimes (maybe trying to predict when i would switch it up?). Cool to see everything coming together
So clearly what I said earlier about the algorithm was wrong. I tested it some more and it seems like sometimes it is just reading my mind and other attemps it’s like it’s not even trying. I have fiddled around with the number of games the algorithm sees and it’s learning rate, and every time I think I got it I ask my brother (unbiased third party) to test it where it promptly fails. So, I have devised a plan to find the ultimate round robbin with about 200 different algorithms playing a total of 30 000 000 games of rock paper scissors to find the true champion. Hopefully this will let me find the best learning rate and sample size for the ai, therefore improving it’s game. might take a little while to execute, so we’ll see when that happens. also if there’s anyone who knows more about machine learning, please don’t hesitate to tell me what i could try. Thanks!
So I did a lot of digging to find out how to improve the model and found some interesting stuff, but the main problem was that i was telling the model that the target move was a draw (immitating the player’s move) instead of beating them -_-. Also the idea of the round robbin to find the best bot parametersalso fell out because the models just trained to draw each other, but it took forever to execute so I don’t know if I should maybe retry it. There is still the very valid concern that the best bot would be the one that’s the best against other bots and not players so. On a more positive note, I introduced momentum. It keeps a running memory of the past updates, like a rolling bolder that builds speed. This enables it to recongnize patterns much quicker by stacking the past changes together. Caught onto patterns of length 1, 2, 3 and 4 in 1, 4, 12, and 17 moves, respectively. Below is a comparison (100 games of normal human rock paper scissors, not repeating a pattern, or atleast not conciously) vs random ouput (left) and the new bot (right). Glad to see it’s doing better. Will do more research on improving but polishing the game now is a better priority.
Completely overhauled the UI and I think it looks much better now. The bot has taunts now, but performance is marginal at best right now. Taking all the different strategies I’ve tried to make the bot better and consolidating them to find the best possible parameters for it will be the next and probably final problem the project will face before shipping. Might try the round robbin style face offs with different parametered bots facing each other. Overall it’s been a very interesting journey learning about all these concepts in machine learning.
This will probably be my last devlog before the ship. I have overhauled the manager to include feature engineering, which should help the model make connections much faster. It now receives choice shifts, match outcomes and overall move frequencies instead of just the history of past rounds. Changed the algorithm to predict the user’s next move instead of the counter. This makes it easier to understand how it was thinking that you would act. It still returns the counter to the player move tho. Also changed back from the probability weighted selection method to the epsilon greedy strategy (highest probability move is chosen 90% of the time and 10% is random). The only thing left is to tweak all the values until I am satisfied with the result and then off it goes into the sea.
Ships:
This project is a real time rock, paper scissors ai predictor built entirely from scratch in python, displayed with a retro look made using pygame. Yes, this probably could’ve been a website to make it more accessible for more people, but I have absolutely no experience with js css or html, my experience is almost exclusively in python, so for the sake of goal of this project, which was to learn about how machine learning actually works, I made this project in python. To truly understand how these algorithms work, I decided to build one myself from scratch instead of relying on prebuilt machine learning libraries. This includes the full neural network with backpropagation and dynamic hidden layer scaling. I started with just one input given to the algorithm: the last 8 player choices. There were also just two parameters the bot had: number of games it receives (8) and the learning rate (how much it should learn from each move). I first experimented with different prediction strategies, starting from the simple highest likelyhood that the ai predicted, then opting for weighted choices (ex: if the ai predicted 40% for rock, 10% for paper and 50% for scissors, there would be a 40% chance it chose rock, 10% it chose paper, and 50% it chose scissors. this was decided randomly, with those weights). I finally settled on the epsilon-greedy strategy, which is like the highest likelyhood strategy except there is a 10% chance it takes a random choice to keep the bot a little unpredictable. I then added momentum, which accumulates the updates made to the model, which lets it notice patterns much quicker. Finally I added feature engineering, that adds more inputs that the bot could have made from the game histroy, but instead I give it to the bot. This gives more information to the bot such as shoft transitions, outcome history, and move frequencies, which it doesnt have to deduce on its own, which helps the bot find patterns quicker and predict better. The biggest challenge for me was tuning the bot by changing the parameters to find the best combination. I kept tweaking the values until it seemed like the bot was absolutely crushing me, but the next run it would be like I was playing against a toddler, an abysmal performace put on by the same values. To solve this problem, I ran a “championship” of bots, where i made 1400 combinations that then played 10 rounds of 100 games against the best bot I made so far. If they won more than 50%, they moved on. Around 140 bots made it to the second stage, a round-robin style tournament where each bot played the others in 20 rounds, each with 100 games. In total, there were about 13 000 000 games played. The winner was absolutely not who I was expecting: 2 game memory, 0.2 learning rate (pretty high) and 0.1 momentum. While the models with more game memomry and lower learning rate performed better in the q3 and q4, this proved that quick adaptation was much better suited for this project, and after testing that was certainly the case. I am most proud of how the interface turned out. In my humble opinion, the retro arcade aesthetic was perfectly executed (no glaze) with the scannlines, the font, and the pixel art. The prediction bars showing how the model predicted your next move are also a nice touch, giving a peek into the algorithm’s mind. When you play, expect some trash talk from the bot. From experience, it gets better and better the more you play. It varies from person to person, as some people are more predictable than others. That’s about the whole project! Thanks for having read the whole thing (if you did)!...
|
1792968566.4043932
|
1793054966.4043932
|
|
57515
|
Web Beats by @lantern | Stardance
|
lantern
|
1
|
37.0
|
236
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T14:38:31Z", "hours": 37.0, "multiplier": 6.45, "payout": 236, "blessing": "neutral", "text": "An interactive, zero-latency browser synthesizer and real-time audio visualizer:- It uses uses native web midi to talk to external keyboards. Reads time-domain audio data straight from an analyser node to draw live, low-latency waveforms. It has release, and filter knobs, then save your setups locally or dump them into a json file to share", "repo": "https://github.com/jigneshphalsawal-cloud/Web-Beats", "demo": "https://jigneshphalsawal-cloud.github.io/Web-Beats/"}]...
|
[{"post_id": 66568, "ts": "202 [{"post_id": 66568, "ts": "2026-09-12T12:29:26Z", "hours": 6.2619, "text": "Progress:- Completed the style.css Made the Live visualizer work by connecting analyserNode directly into the Web Audio processing graph. Added 3 modes to change the sounds of the midi 4 effects to change the sound of midi - Volume, Filter cutoff, delay time and delay feedback"}, {"post_id": 65934, "ts": "2026-09-11T12:32:13Z", "hours": 6.2167, "text": "Working on the style.css , had to debug the script the midi buttons were not working…"}, {"post_id": 65312, "ts": "2026-09-10T11:39:47Z", "hours": 9.6836, "text": "style.css in progress"}, {"post_id": 64045, "ts": "2026-09-08T05:31:08Z", "hours": 4.0633, "text": "Finally made the script working after facing some errors , now i will design the site!!"}, {"post_id": 62731, "ts": "2026-09-06T07:10:57Z", "hours": 6.1333, "text": "Progress :- Completed the main format(index.html) of the site. Working on the audio engine script ( this is a little hard step , using online articles to learn more about writing code for this ). -next i will try to get ideas for new features that i can add to the site and style the site"}, {"post_id": 60681, "ts": "2026-09-03T06:38:12Z", "hours": 4.1833, "text": "Working on this new project , its called Web Midi . Its purpose is :- To be able to play notes like midi keyboard but using your key board Customize the tone of the sound like filter cutoff,delay, distortion…etc to be able to record and loop the beats to add more instruments to it It will have a Live visualizer which will react to sounds played"}]...
|
Title: Web Beats by @lantern | Stardance
Devlogs: Title: Web Beats by @lantern | Stardance
Devlogs:
Working on this new project , its called Web Midi . Its purpose is :- To be able to play notes like midi keyboard but using your key board Customize the tone of the sound like filter cutoff,delay, distortion…etc to be able to record and loop the beats to add more instruments to it It will have a Live visualizer which will react to sounds played
Progress :- Completed the main format(index.html) of the site. Working on the audio engine script ( this is a little hard step , using online articles to learn more about writing code for this ). -next i will try to get ideas for new features that i can add to the site and style the site
Finally made the script working after facing some errors , now i will design the site!!
style.css in progress
Working on the style.css , had to debug the script the midi buttons were not working…
Progress:- Completed the style.css Made the Live visualizer work by connecting analyserNode directly into the Web Audio processing graph. Added 3 modes to change the sounds of the midi 4 effects to change the sound of midi - Volume, Filter cutoff, delay time and delay feedback
Ships:
An interactive, zero-latency browser synthesizer and real-time audio visualizer:- It uses uses native web midi to talk to external keyboards. Reads time-domain audio data straight from an analyser node to draw live, low-latency waveforms. It has release, and filter knobs, then save your setups locally or dump them into a json file to share...
|
1792958078.904945
|
1793822078.904945
|
|
270
|
BetterStandby by @Capy | Stardance
|
Capy
|
1
|
16.0
|
235
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-14T15:33:29Z", "hours": 16.0, "multiplier": 14.33, "payout": 235, "blessing": "neutral", "text": "I made BetterStandby! It’s a PWA that lets non-iPhones and any phones without an always-on display use a clock face inspired by Apple’s StandBy! It’s highly customisable, featuring custom font size, font, and accent colour, alongside different layouts. It was really fun to build, so thanks for reading! Hope you like it as much as I do :D", "repo": "https://github.com/CapyGamesXD/BetterStandby", "demo": "https://betterstandby.capydesigns.com"}]...
|
[{"post_id": 8747, "ts": "2026 [{"post_id": 8747, "ts": "2026-06-14T15:30:47Z", "hours": 1.2781, "text": "Final Devlog! I (once again) redesigned the settings page, and I’m super happy with the outcome. I also adapted several other pages and made some smaller improvements. I made a README file showcasing some images of the project. I think this will be the last devlog before I ship, so see you guys in the next project, and thanks for reading!"}, {"post_id": 8272, "ts": "2026-06-13T19:20:33Z", "hours": 4.3236, "text": "WOW! Lot of work done! I’ll go through them quickly: 1: Capybara 404 page 2: Added GPS geolocation (no more IP :D) 3: Added a fancy new icon! (3 lines of AI code for the meta tags!!!) Speedrun time! Fixed small-screen layout issues, added a ‘hide location’ button in settings, totally revamped settings and customisation, fixed an inconsistency across the starting page and the customisation page, removed a useless button, added a ‘docs’ page talking about the project, spent a while debugging a ‘rogue import’ issue (XD), put default at the top for fonts, improved saving logic and ADDED 5 NEW FONTS! :D They all look great! Everybody welcome: Pliant, Montserrat, Oswald, Roboto Slab, and Pixelify Sans! This gives you up to 49 new combinations! :D Sorry for the long devlog and any mistakes, thanks for reading!"}, {"post_id": 4427, "ts": "2026-06-07T19:04:28Z", "hours": 2.8225, "text": "BIG devlog! A bunch of really nice features! In reverse order of my preference: Fixed bugs on Safari Some nice outlines for visibility if the user decides on light accent colours. I added a font sizing option in customisation! Added font customisation for both large and small text. Also updated the font styling to work across various screen sizes! And finally… FINALLY! I added ANIMATIONS! They’re really fluid and smooth. Plans: Improve reliability across browsers. Add a font sizing option to smaller text. I’m considering adding PWA detection, but not sure. Also considering some fun documentation for the user/tester to read regarding screen burn protection and the idea of the app. Add more pages! Improve UI. Thanks for reading! (Sorry for any grammar/spelling issues, I type all my devlogs manually lel)"}, {"post_id": 2835, "ts": "2026-06-05T17:52:25Z", "hours": 2.0106, "text": "2h devlog. So I fixed the bugs mentioned at the end of the last devlog, which is great :D I also redesigned the concept of the settings, now there are separate pages for customisation and actual settings. I also implemented that new settings menu, featuring control over storage (locally held variables) and input for lat/lon, which is currently entirely manual to avoid any privacy concerns. I made sure not to add this to the intro, as it helps the user learn about the settings. :D I also improved the screen burn protection, and experimented a bit with that. The last (and largest) improvement I made was the UI of the ‘info’ page, and I plan to do a similar thing to all other pages. There’s a screenshot below. Plans: Total overhaul of other pages, general UI and ANIMATIONS! Also, I plan to add a ‘reading’ section, kinda like a blog based on the work I’ve done and my idea behind it, with the screen-burn protection. Thanks for reading!"}, {"post_id": 2286, "ts": "2026-06-04T18:00:20Z", "hours": 2.7808, "text": "Added a bunch more stuff! I implemented the other pages, added a ‘customisation’ page (settings) where the user can change the styling and screen, and added a bunch more improvements across pages. This isn’t all I added, but I’m trying to keep the devlog short to not be boring. Plans: Fix some things with Safari, fix the location fetching for weather data, and revamp the UI for the customisation page. Also add tons more screens and animations (I still haven’t! XD). I also need to fix a bug where the dark mode is somewhat inconsistent. Thanks for reading, happy coding!"}, {"post_id": 421, "ts": "2026-06-01T20:28:40Z", "hours": 2.0664, "text": "I added tons of cool stuff! I modified and improved the ‘intro’ experience, adding styling pages, alongside a tutorial page for customisation! I also added a system for styling, which looks really nice IMHO! I’d love to hear your feedback on it. I very slightly modified the icons on the first page, but not significantly aside from adding the actual views, rather than placeholders. I added an image of the final page showing the user how to enter the customisation menu, although I plan to modify that a LOT! XD After you click on that, it takes you to the main home page, where I added a CSS-based system protecting against screen burn! (I chose CSS because it’s more reliable against memory leaks and animations are widely supported with very little overhead! :D) There’s a LOT I plan to add still! I want to make the customisation menu, massively improve the UI, and add tons of nice animations and details (like I said I’d do in the previous entry) If you’re interested, I’m using a Trello board to keep track of things! I find it really helpful to organise everything into an ‘ideas’, ‘to-do’, ‘improve’ and ‘done’. :D Thanks for reading my (probably excessively long) devlog! Happy hacking! :)"}, {"post_id": 124, "ts": "2026-05-31T21:05:24Z", "hours": 1.135, "text": "Hey! Excited to make my first devlog! I worked for a few untracked hours on the UI in Figma. I also plotted a nice intro/disclaimer message for the user about screen burn. I’m really happy with the intro page, although I plan to modify the customisation page. :) After that I started coding! I’ve managed to get a working version of the UI for the first two screens, which are both visible below. I’ve added some basic animations, but plan to go quite big on the nice zoom-ey ones for the buttons and stuff, in case anyone (like the people testing!) use a PC. :D Thanks for reading the devlog! Have fun. :D"}]...
|
Title: BetterStandby by @Capy | Stardance
Devlogs Title: BetterStandby by @Capy | Stardance
Devlogs:
Hey! Excited to make my first devlog! I worked for a few untracked hours on the UI in Figma. I also plotted a nice intro/disclaimer message for the user about screen burn. I’m really happy with the intro page, although I plan to modify the customisation page. :) After that I started coding! I’ve managed to get a working version of the UI for the first two screens, which are both visible below. I’ve added some basic animations, but plan to go quite big on the nice zoom-ey ones for the buttons and stuff, in case anyone (like the people testing!) use a PC. :D Thanks for reading the devlog! Have fun. :D
I added tons of cool stuff! I modified and improved the ‘intro’ experience, adding styling pages, alongside a tutorial page for customisation! I also added a system for styling, which looks really nice IMHO! I’d love to hear your feedback on it. I very slightly modified the icons on the first page, but not significantly aside from adding the actual views, rather than placeholders. I added an image of the final page showing the user how to enter the customisation menu, although I plan to modify that a LOT! XD After you click on that, it takes you to the main home page, where I added a CSS-based system protecting against screen burn! (I chose CSS because it’s more reliable against memory leaks and animations are widely supported with very little overhead! :D) There’s a LOT I plan to add still! I want to make the customisation menu, massively improve the UI, and add tons of nice animations and details (like I said I’d do in the previous entry) If you’re interested, I’m using a Trello board to keep track of things! I find it really helpful to organise everything into an ‘ideas’, ‘to-do’, ‘improve’ and ‘done’. :D Thanks for reading my (probably excessively long) devlog! Happy hacking! :)
Added a bunch more stuff! I implemented the other pages, added a ‘customisation’ page (settings) where the user can change the styling and screen, and added a bunch more improvements across pages. This isn’t all I added, but I’m trying to keep the devlog short to not be boring. Plans: Fix some things with Safari, fix the location fetching for weather data, and revamp the UI for the customisation page. Also add tons more screens and animations (I still haven’t! XD). I also need to fix a bug where the dark mode is somewhat inconsistent. Thanks for reading, happy coding!
2h devlog. So I fixed the bugs mentioned at the end of the last devlog, which is great :D I also redesigned the concept of the settings, now there are separate pages for customisation and actual settings. I also implemented that new settings menu, featuring control over storage (locally held variables) and input for lat/lon, which is currently entirely manual to avoid any privacy concerns. I made sure not to add this to the intro, as it helps the user learn about the settings. :D I also improved the screen burn protection, and experimented a bit with that. The last (and largest) improvement I made was the UI of the ‘info’ page, and I plan to do a similar thing to all other pages. There’s a screenshot below. Plans: Total overhaul of other pages, general UI and ANIMATIONS! Also, I plan to add a ‘reading’ section, kinda like a blog based on the work I’ve done and my idea behind it, with the screen-burn protection. Thanks for reading!
BIG devlog! A bunch of really nice features! In reverse order of my preference: Fixed bugs on Safari Some nice outlines for visibility if the user decides on light accent colours. I added a font sizing option in customisation! Added font customisation for both large and small text. Also updated the font styling to work across various screen sizes! And finally… FINALLY! I added ANIMATIONS! They’re really fluid and smooth. Plans: Improve reliability across browsers. Add a font sizing option to smaller text. I’m considering adding PWA detection, but not sure. Also considering some fun documentation for the user/tester to read regarding screen burn protection and the idea of the app. Add more pages! Improve UI. Thanks for reading! (Sorry for any grammar/spelling issues, I type all my devlogs manually lel)
WOW! Lot of work done! I’ll go through them quickly: 1: Capybara 404 page 2: Added GPS geolocation (no more IP :D) 3: Added a fancy new icon! (3 lines of AI code for the meta tags!!!) Speedrun time! Fixed small-screen layout issues, added a ‘hide location’ button in settings, totally revamped settings and customisation, fixed an inconsistency across the starting page and the customisation page, removed a useless button, added a ‘docs’ page talking about the project, spent a while debugging a ‘rogue import’ issue (XD), put default at the top for fonts, improved saving logic and ADDED 5 NEW FONTS! :D They all look great! Everybody welcome: Pliant, Montserrat, Oswald, Roboto Slab, and Pixelify Sans! This gives you up to 49 new combinations! :D Sorry for the long devlog and any mistakes, thanks for reading!
Final Devlog! I (once again) redesigned the settings page, and I’m super happy with the outcome. I also adapted several other pages and made some smaller improvements. I made a README file showcasing some images of the project. I think this will be the last devlog before I ship, so see you guys in the next project, and thanks for reading!
Ships:
I made BetterStandby! It’s a PWA that lets non-iPhones and any phones without an always-on display use a clock face inspired by Apple’s StandBy! It’s highly customisable, featuring custom font size, font, and accent colour, alongside different layouts. It was really fun to build, so thanks for reading! Hope you like it as much as I do :D...
|
1792997259.239515
|
1793083659.239515
|
|
32294
|
Ink And Quill by @codecraft07 | Stardance
|
codecraft07
|
1
|
14.0
|
235
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-31T18:27:45Z", "hours": 14.0, "multiplier": 16.57, "payout": 235, "blessing": "neutral", "text": "I made a mod that makes renaming name tag , items and making maps easier , this mod also works on servers so you can play with your friends", "repo": "https://github.com/CodeCraftPlugin/InkAndQuill", "demo": "https://modrinth.com/mod/ink-and-quill"}]...
|
[{"post_id": 27899, "ts": "202 [{"post_id": 27899, "ts": "2026-07-13T20:29:12Z", "hours": 0.7353, "text": "Since I am waiting for modrinth to verify the mod. I made some more improvement to the mod. From now on you can play this mod on a dedicated server. Yes before that was not possible but now it is. Why Was This Even an Issue due to this , the server was importing a class that it had no idea of and hence the crash. So What Did I Do to Achieve This with this I created two more classes , one for server and other for client , both of which implemented the Interface I just created. The server class just souted that you are using the wrong method please check your code. The Client Class had the actual screen code and did the actual stuff. Now I made it so that when the item is running in server , the server class will be loaded and once the clients connect the client method would be loaded in and take priority. Kinda hard but not that much"}, {"post_id": 27180, "ts": "2026-07-12T14:44:44Z", "hours": 2.8628, "text": "The Mod Is Actually Done Now What the Issue Was For some reason the mod worked fine for a couple of days, it had no problem with beta testing and stuff. When I handed it to the requester, he claimed that the item names weren’t staying( persistent ). e.g. he renamed the Name Tag to be say wolfy, It would show up as wolfy for a second until he interacted with it. Which is weird since when I tested it , it was working perfectly fine. So created a new instance of Minecraft and did the testing again , this time even I was getting the issue. in my old instance the mod worked fine and even in IntelliJ’s runClient instance it worked fine. This issue was getting annoying as well now. So What was the issue The worst kind of issue, the cause was that if you renamed the item during the starting of a tick then it would work just fine( no clue , why). 1/20th of second is called a tick. But if it during the tick , the server won’t sync with the changes and this would create a ghost item , that exist in client only. now why did the dev tool kit not show this error: this is due to low performance of dev kit due to high ram. How Did I Actually Fix This before the tick Minecraft was doing this sync between client and server dynamically for my item ( there was no sync logic ). The fix was to delve into networking and create a packet that had my custom payload , now the server would read this payload every time it receives it , not just at the start of the tick. This solved the issue pretty quickly. The majority of time I spent on this issue was figuring out the reason behind it"}, {"post_id": 25485, "ts": "2026-07-09T19:45:30Z", "hours": 6.5747, "text": "Completed Ink and Quill Everything About the Mod this mod is a QOL for Minecraft, it targets anvil , more accurately, the renaming ablity of anvil. which item can be renamed by the quill is written in the inkquill:ink_and_quill_renameable tag It can help in crafting of Maps. technicalities this mod is extremely technical with datagen and Screen, and while the lines are pretty simple and limited , the sheer amount of trial and error , I had to go trough makes it hard for someone just starting out in modding. That being said , if you do which to make something similar , you should try this. The making of this mod tested both the registries of Minecraft. How and when these registries loaded and what part of them did not load at all, yes , inbuilt tags aren’t loaded during datagen. And most importantly how quickly you can copy and paste vanilla code( that being said , addapting it for your mod is the tought part , alot of the classes are either protected or private , some time you have to do a mixin, not reallly for this mod but you will if you do some complex level modding) The entire concept of GUI in minecraft is interesting you let it grow on you Rant My biggest pet peeve is why the hell does two gui components require different type of identifier one needs the exact path and the other needs just the resourcekey , why mojang just pick a side and stick to it. The sheer amount of time I had spent trying to figure out why the gui’s texture was not loading only to find that I forgot to add .png extension in one identifiers path. Also why does the Builder of SpriteIconButton not allow for uv configs . I would have to use only one texture and it would have been so easy , but no ,they want each icon to be a single file. Conclusion Well I finished it. It took way longer than what I was expectation, but I guess that true for all my projects. Here is a demo of the entire mod, will publish it once the modrinth page is verified till then github"}, {"post_id": 24329, "ts": "2026-07-07T20:46:02Z", "hours": 4.1936, "text": "Okay what I did Created two new Items called Ink and Quill Bottle of Ink Added Recipes for the above as well Rant I wrote a hole ass para but stardance does not allow no more than 4000 words so I will try to keep it concise back in the day ( 5 years from now ) minecraft used to have NBT data, this is the time when I picked modding, before that I had been doing datapacks. now In this 5 five years , I have taken a 1.5 year break due to some personal reason (nothing major mind you ) 2 years ago minecraft removed the NBT compound and replaced it with DataComponenet DataComponents are better in all regards( keep this in mind ) Now my major issue is that I want to make sure that only water potion is used for crafting ink, not any other potion So I had some understanding that using Datacomponents would work The problem occured when I tried this approch, unfortunatly for me, ItemLike’s cant’ have datacomponents since they are Interfaces and Potions could not have been accessed as an Item So I had to dig into a rabit hole to find something similar that minecraft it self did, and I did tinted arrow , it need to know the type of potion for the arrow to have that effect now the problem was that this required a customcrafting system for my potion. During this rabit hole I also stumbled at the core of shapless crafting and Shaped Crafting and when reading the Shapeless crafting , turns out , in the underling code , the crafting needs Ingredients. normaly this would have no effect and I would have continued . But luckly I knew that fabric had a means to store datacomponent on Ingredients using DataComponentPatch data = DataComponentPatch . builder (). set ( DataComponents . POTION_CONTENTS , new PotionContents ( Potions . WATER )). build (); Ingredient potion = Ingredient . of ( Items . POTION ); Ingredient potionIng = DefaultCustomIngredients . components ( potion , data ); and then registering a custom shapeless recipe to use core feature, I did it CustomCraftingRecipeBuilder . customCrafting ( RecipeCategory . BREWING ,( commonInfo , craftingBookInfo ) -> new ShapelessRecipe ( commonInfo , craftingBookInfo , new ItemStackTemplate ( InkQuillItems . BOTTLE_OF_INK , 1 ), List . of ( potionIng , Ingredient . of ( Items . DYE . black ())))) . unlockedBy ( \"has_black_dye\" , has ( Items . DYE . black ())) . save ( output , InkQuill . id ( \"bottle_of_ink\" ). toString ());"}]...
|
Title: Ink And Quill by @codecraft07 | Stardance
Title: Ink And Quill by @codecraft07 | Stardance
Devlogs:
Okay what I did Created two new Items called Ink and Quill Bottle of Ink Added Recipes for the above as well Rant I wrote a hole ass para but stardance does not allow no more than 4000 words so I will try to keep it concise back in the day ( 5 years from now ) minecraft used to have NBT data, this is the time when I picked modding, before that I had been doing datapacks. now In this 5 five years , I have taken a 1.5 year break due to some personal reason (nothing major mind you ) 2 years ago minecraft removed the NBT compound and replaced it with DataComponenet DataComponents are better in all regards( keep this in mind ) Now my major issue is that I want to make sure that only water potion is used for crafting ink, not any other potion So I had some understanding that using Datacomponents would work The problem occured when I tried this approch, unfortunatly for me, ItemLike’s cant’ have datacomponents since they are Interfaces and Potions could not have been accessed as an Item So I had to dig into a rabit hole to find something similar that minecraft it self did, and I did tinted arrow , it need to know the type of potion for the arrow to have that effect now the problem was that this required a customcrafting system for my potion. During this rabit hole I also stumbled at the core of shapless crafting and Shaped Crafting and when reading the Shapeless crafting , turns out , in the underling code , the crafting needs Ingredients. normaly this would have no effect and I would have continued . But luckly I knew that fabric had a means to store datacomponent on Ingredients using DataComponentPatch data = DataComponentPatch . builder (). set ( DataComponents . POTION_CONTENTS , new PotionContents ( Potions . WATER )). build (); Ingredient potion = Ingredient . of ( Items . POTION ); Ingredient potionIng = DefaultCustomIngredients . components ( potion , data ); and then registering a custom shapeless recipe to use core feature, I did it CustomCraftingRecipeBuilder . customCrafting ( RecipeCategory . BREWING ,( commonInfo , craftingBookInfo ) -> new ShapelessRecipe ( commonInfo , craftingBookInfo , new ItemStackTemplate ( InkQuillItems . BOTTLE_OF_INK , 1 ), List . of ( potionIng , Ingredient . of ( Items . DYE . black ())))) . unlockedBy ( "has_black_dye" , has ( Items . DYE . black ())) . save ( output , InkQuill . id ( "bottle_of_ink" ). toString ());
Completed Ink and Quill Everything About the Mod this mod is a QOL for Minecraft, it targets anvil , more accurately, the renaming ablity of anvil. which item can be renamed by the quill is written in the inkquill:ink_and_quill_renameable tag It can help in crafting of Maps. technicalities this mod is extremely technical with datagen and Screen, and while the lines are pretty simple and limited , the sheer amount of trial and error , I had to go trough makes it hard for someone just starting out in modding. That being said , if you do which to make something similar , you should try this. The making of this mod tested both the registries of Minecraft. How and when these registries loaded and what part of them did not load at all, yes , inbuilt tags aren’t loaded during datagen. And most importantly how quickly you can copy and paste vanilla code( that being said , addapting it for your mod is the tought part , alot of the classes are either protected or private , some time you have to do a mixin, not reallly for this mod but you will if you do some complex level modding) The entire concept of GUI in minecraft is interesting you let it grow on you Rant My biggest pet peeve is why the hell does two gui components require different type of identifier one needs the exact path and the other needs just the resourcekey , why mojang just pick a side and stick to it. The sheer amount of time I had spent trying to figure out why the gui’s texture was not loading only to find that I forgot to add .png extension in one identifiers path. Also why does the Builder of SpriteIconButton not allow for uv configs . I would have to use only one texture and it would have been so easy , but no ,they want each icon to be a single file. Conclusion Well I finished it. It took way longer than what I was expectation, but I guess that true for all my projects. Here is a demo of the entire mod, will publish it once the modrinth page is verified till then github
The Mod Is Actually Done Now What the Issue Was For some reason the mod worked fine for a couple of days, it had no problem with beta testing and stuff. When I handed it to the requester, he claimed that the item names weren’t staying( persistent ). e.g. he renamed the Name Tag to be say wolfy, It would show up as wolfy for a second until he interacted with it. Which is weird since when I tested it , it was working perfectly fine. So created a new instance of Minecraft and did the testing again , this time even I was getting the issue. in my old instance the mod worked fine and even in IntelliJ’s runClient instance it worked fine. This issue was getting annoying as well now. So What was the issue The worst kind of issue, the cause was that if you renamed the item during the starting of a tick then it would work just fine( no clue , why). 1/20th of second is called a tick. But if it during the tick , the server won’t sync with the changes and this would create a ghost item , that exist in client only. now why did the dev tool kit not show this error: this is due to low performance of dev kit due to high ram. How Did I Actually Fix This before the tick Minecraft was doing this sync between client and server dynamically for my item ( there was no sync logic ). The fix was to delve into networking and create a packet that had my custom payload , now the server would read this payload every time it receives it , not just at the start of the tick. This solved the issue pretty quickly. The majority of time I spent on this issue was figuring out the reason behind it
Since I am waiting for modrinth to verify the mod. I made some more improvement to the mod. From now on you can play this mod on a dedicated server. Yes before that was not possible but now it is. Why Was This Even an Issue due to this , the server was importing a class that it had no idea of and hence the crash. So What Did I Do to Achieve This with this I created two more classes , one for server and other for client , both of which implemented the Interface I just created. The server class just souted that you are using the wrong method please check your code. The Client Class had the actual screen code and did the actual stuff. Now I made it so that when the item is running in server , the server class will be loaded and once the clients connect the client method would be loaded in and take priority. Kinda hard but not that much
Ships:
I made a mod that makes renaming name tag , items and making maps easier , this mod also works on servers so you can play with your friends...
|
1792983330.2592132
|
1793069730.2592132
|
|
43134
|
Pi - the game! by @laptopDragoness_27 | Stardance
|
laptopDragoness_27
|
1
|
16.0
|
235
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T04:02:06Z", "hours": 16.0, "multiplier": 14.9, "payout": 235, "blessing": "neutral", "text": "I made a game about guessing digits of pi in pico-8! It uses the Stanley-Rabinowitz spigot algorithm in real time to generate new digits of pi! I’m really proud of it, and it’s also got a decent amount of polish (the first real game I’ve made in pico-8 honestly).", "repo": "https://github.com/laptopDragoness27/Pi-the-gmae-main", "demo": "https://king-of-waffles.itch.io/pi-the-game"}]...
|
[{"post_id": 56371, "ts": "202 [{"post_id": 56371, "ts": "2026-08-28T03:39:16Z", "hours": 1.0833, "text": "It’s done! fixed the last couple issues and added some more sound effects. Finally done!!!"}, {"post_id": 55747, "ts": "2026-08-27T18:41:01Z", "hours": 1.8, "text": "Almost done! Got the delay nearly fully gone with the help of itch user kevinthompson who showed me how coroutines work. I used the coroutines to split up the code that generates a digit of pi after each correct guess over many frames, so it will run at about 50% speed for like a second and then continue on lag free. There was also an edge case there, if the digit hadn’t finished generating and you picked the correct digit, it would say it was wrong! To solve this I made the game just wait for it to finish, and added some static noise to it so you would know it was intentional. Definitely not a perfect solution, but as good as I’ve come up with. I’m also considering adding music to the background, but I haven’t figured it out yet. Kind of annoying for sure…"}, {"post_id": 54139, "ts": "2026-08-24T23:33:34Z", "hours": 3.2833, "text": "Changed the game a lot! It feels much more polished now (better menus, etc) and most notably, the initial loading screen is gone! I made it so now the next digit is generated on the fly instead of in advance so you don’t have to wait for minutes on end before being able to play. There is a major issue though, it makes a pause happen when you get the digit correct which is very jarring. Might look into something like co-routines. You can also play it now! Let me know what you think please!"}, {"post_id": 53495, "ts": "2026-08-24T02:13:52Z", "hours": 3.3833, "text": "Work is being done on the game! I’ve got the main mechanics working (gameplay loop, digit selection and checking, scoring, a timer per digit, high score) but it’s all rudimentary right now. Next I’m going to make a display to see the digit you need to guess with previous digits and other visual things to make the game look better. Hope it goes well!"}, {"post_id": 51810, "ts": "2026-08-21T17:30:05Z", "hours": 0.4167, "text": "Got all the digits working! The issue that was causing it to stop working seemed to be an issue with the 16-bit integer limit, since at a certain point the numbers get too large to have proper precision, so they are off by a bit which causes the numbers to be inaccurate. Now time to actually make the game! Hopefully the easy part."}, {"post_id": 44321, "ts": "2026-08-10T00:16:26Z", "hours": 1.4503, "text": "I figured out how many digits my stupid program can generate… 263 I have no idea why more won’t work…"}, {"post_id": 41686, "ts": "2026-08-06T01:57:08Z", "hours": 4.3497, "text": "I’ve gotten the first 200 digits of pi generated in Pico-8! But the 300th is wrong… okay… a bit of background. First, why am I trying to generate pi, why not just precompute it and store it in rom? Gee I wish. A limitation in Pico-8 is that one cart can only have about 8000 tokens total, and each list element counts as a token, so having a sufficiently large amount of tokens, like 10 000 would literally be impossible, so instead I’ll just compute it when the program loads up and store it in RAM. What is interesting though is how I got this done! I used an algorithm by Rabinowitz and Wagon (link to the paper: http://stanleyrabinowitz.com/bibliography/spigot.pdf ) where you start with a bunch of 2s, and do various operations on them from right to left involving division and multiplication to get a number who’s 10s digit is the digit of pi for that iteration. My implementation should be working the same, however for a reason I am yet to figure out it stops working between 200 and 300 digits of pi, most likely due to a small error in my implementation that causes it to drift very slowly, only mattering after a couple hundred digits."}]...
|
Title: Pi - the game! by @laptopDragoness_27 | Sta Title: Pi - the game! by @laptopDragoness_27 | Stardance
Devlogs:
I’ve gotten the first 200 digits of pi generated in Pico-8! But the 300th is wrong… okay… a bit of background. First, why am I trying to generate pi, why not just precompute it and store it in rom? Gee I wish. A limitation in Pico-8 is that one cart can only have about 8000 tokens total, and each list element counts as a token, so having a sufficiently large amount of tokens, like 10 000 would literally be impossible, so instead I’ll just compute it when the program loads up and store it in RAM. What is interesting though is how I got this done! I used an algorithm by Rabinowitz and Wagon (link to the paper: http://stanleyrabinowitz.com/bibliography/spigot.pdf ) where you start with a bunch of 2s, and do various operations on them from right to left involving division and multiplication to get a number who’s 10s digit is the digit of pi for that iteration. My implementation should be working the same, however for a reason I am yet to figure out it stops working between 200 and 300 digits of pi, most likely due to a small error in my implementation that causes it to drift very slowly, only mattering after a couple hundred digits.
I figured out how many digits my stupid program can generate… 263 I have no idea why more won’t work…
Got all the digits working! The issue that was causing it to stop working seemed to be an issue with the 16-bit integer limit, since at a certain point the numbers get too large to have proper precision, so they are off by a bit which causes the numbers to be inaccurate. Now time to actually make the game! Hopefully the easy part.
Work is being done on the game! I’ve got the main mechanics working (gameplay loop, digit selection and checking, scoring, a timer per digit, high score) but it’s all rudimentary right now. Next I’m going to make a display to see the digit you need to guess with previous digits and other visual things to make the game look better. Hope it goes well!
Changed the game a lot! It feels much more polished now (better menus, etc) and most notably, the initial loading screen is gone! I made it so now the next digit is generated on the fly instead of in advance so you don’t have to wait for minutes on end before being able to play. There is a major issue though, it makes a pause happen when you get the digit correct which is very jarring. Might look into something like co-routines. You can also play it now! Let me know what you think please!
Almost done! Got the delay nearly fully gone with the help of itch user kevinthompson who showed me how coroutines work. I used the coroutines to split up the code that generates a digit of pi after each correct guess over many frames, so it will run at about 50% speed for like a second and then continue on lag free. There was also an edge case there, if the digit hadn’t finished generating and you picked the correct digit, it would say it was wrong! To solve this I made the game just wait for it to finish, and added some static noise to it so you would know it was intentional. Definitely not a perfect solution, but as good as I’ve come up with. I’m also considering adding music to the background, but I haven’t figured it out yet. Kind of annoying for sure…
It’s done! fixed the last couple issues and added some more sound effects. Finally done!!!
Ships:
I made a game about guessing digits of pi in pico-8! It uses the Stanley-Rabinowitz spigot algorithm in real time to generate new digits of pi! I’m really proud of it, and it’s also got a decent amount of polish (the first real game I’ve made in pico-8 honestly)....
|
1792979312.1163864
|
1793065712.1163864
|
|
21737
|
Jarvis by @Xavier | Stardance
|
|
1
|
70.0
|
234
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-15T14:57:50Z", "hours": 70.0, "multiplier": 7.79, "payout": 234, "blessing": "neutral", "text": "Hey everyone! I really enjoyed developing this personal assistant. While it has its limitations, its cool to have a group of programmers sharing ideas and cool concepts. This first part will give a small peek into the errors i ran into during development. Development Environment and Python 3.13 Using Python 3 as the foundation for the backend was the simplest part of the project, but certainly not the easiest. Because Python 3.13 is so new, several critical packages lacked prebuilt wheels. I had to manually check GitHub releases and pull pre-release wheels directly from CI artifacts. I pinned these specific versions to maintain stability. When that became unsustainable, I fell back to Python 3.12, utilizing virtual environment isolation for those specific packages. FastAPI and SSE Streaming Streaming LLM tokens over Server-Sent Events (SSE) is not well-documented, and it caused significant friction. The primary challenge was that the LLM returns a standard generator, while FastAPI’s StreamingResponse requires compatibility with async generators; they do not compose cleanly with synchronous LLM clients. My solution was to wrap the DeepSeek client in an async adapter using asyncio.to_thread(). This ensured the blocking API calls did not stall the event loop, allowing me to yield each token as an SSE-formatted string. Stability and Error Handling Under heavy load, I found that DeepSeek could occasionally return 503 errors. To manage this, I implemented an exponential backoff strategy with a maximum of three retries to maintain stability without overloading the service. A major challenge was ensuring that errors were caught before the SSE stream began, preventing the user from receiving a “half-finished” response. Consequently, I only initialize the stream once the connection is confirmed as alive. Voice Integration and Reliability I chose to integrate ElevenLabs for the voice component to provide a more human-like touch. However, API-based voice services introduce their own reliability constraints. To ensure the assistant remains functional even when hitting the ElevenLabs free-tier limits, I implemented a fallback mechanism. If the API fails, the system reverts to basic browser-based Text-to-Speech (TTS)—a less polished experience, but necessary for overall system reliability. Deployment and Connectivity The backend is currently running locally on my PC and exposed via a Cloudflare Tunnel. I ran into a limitation where every restart of the tunnel generates a new URL. I have had to accept this for now, but I am currently looking for a permanent workaround to ensure a consistent connection point. Now - if you have read this far, you probably want to know what i enjoyed about this project. Building up this backend architecture was certainly not an easy task. For some people this would have been a complete bore, and would’ve been a dreaded chore, but I enjoyed the challenge, and learning opportunity of dealing with Python 3.13 challenges. After I ship this project, I will be working more with python backend, potentially with another webapp. Thanks for reading (:", "repo": "https://github.com/runercode/jarvis", "demo": "https://slim-lasting-pavilion-rec.trycloudflare.com"}]...
|
[{"post_id": 28475, "ts": "202 [{"post_id": 28475, "ts": "2026-07-14T18:47:33Z", "hours": 32.8625, "text": "Final Devlog 🤖 Hey everyone! This is my final devlog for this project. I’ve been working on JARVIS every day, and it’s pretty much been all I’ve been doing. It’s been a challenging but rewarding project, and I’ve learned a ton along the way. Here’s a quick summary of some of the biggest technical challenges I ran into. Dual Database Architecture One of the hardest parts was managing two databases at the same time. Every message gets saved twice: SQLite stores the raw chat history, while ChromaDB stores vector embeddings for semantic memory. Every write has to handle the possibility of ChromaDB being unavailable, and every read has to combine recent chat history with similarity based memory retrieval. If either system breaks, JARVIS still works, but it loses its long term memory. Replacing PyTorch with ONNX PyTorch turned out to be a huge problem for deployment. The sentence-transformers package pulls in roughly 1.5GB of CUDA libraries, while most free hosting platforms only provide 512MB of RAM. I switched to ChromaDB’s ONNX embedding runtime instead, which reduced the model to around 30MB. Getting ChromaDB to consistently use ONNX instead of falling back to PyTorch took a lot of configuration, and if the embedding function changes between deployments, the entire vector database has to be rebuilt. Authentication Even though JARVIS is a personal assistant, I still wanted authentication to be done properly. User accounts use bcrypt password hashing, username validation, password validation, duplicate username checks, and identical login error messages to prevent username enumeration. It’s definitely overkill for a project like this, but it was a great learning experience. Overall, this project taught me a lot about AI systems, deployment, databases, authentication, and building software that actually has to work reliably. I’m really happy with how JARVIS turned out, and I’m excited to keep improving it even after this project is over. The boring stuff is all done now."}, {"post_id": 23101, "ts": "2026-07-05T20:55:36Z", "hours": 11.7422, "text": "Hey everyone! From my last dev-log I have a lot to showcase before the final shipment that is impending. I have used Render - a website used for putting live complicated webapps on the internet as a sort of backbone for everyone to access. This will be the main point of access of this project, and the last milestone I hit. I still have a lot to work on past this such as implementing real note taking, as well as a full AI verbal based communication network. After this is finished, I will be moving on to my next project, a game."}, {"post_id": 20102, "ts": "2026-07-01T16:57:27Z", "hours": 25.4867, "text": "Hey everyone! This is my first official dev-log for my project. This project has so-far since been very fruitful, and i have been able to complete many of the milestones i wanted to reach. Keystone goals: Long term data storage (SQLite) SentenceTransformers (local) For language processing Ai retrieval system (retrieving memory for usage) Vector database (for ai retrievall AI reasoning layer(LLM) User layer(web app) System orchistration(Python backend with fastAPI) I have completed all of the integral parts of the project so far, and will continue to optimize and improve the assistant until it is the best it can be. Now that the original milestones have been reached, i wanted to share the next moving of the goal posts: Full account creation which facilitates the storage of all chat history. Full memory acquisition to store previous chats as well as the ability to use google maps, and google business for deep research Research tab to show active research and knowledge acquisition."}]...
|
Title: Jarvis by @Xavier | Stardance
Devlogs:
Hey Title: Jarvis by @Xavier | Stardance
Devlogs:
Hey everyone! This is my first official dev-log for my project. This project has so-far since been very fruitful, and i have been able to complete many of the milestones i wanted to reach. Keystone goals: Long term data storage (SQLite) SentenceTransformers (local) For language processing Ai retrieval system (retrieving memory for usage) Vector database (for ai retrievall AI reasoning layer(LLM) User layer(web app) System orchistration(Python backend with fastAPI) I have completed all of the integral parts of the project so far, and will continue to optimize and improve the assistant until it is the best it can be. Now that the original milestones have been reached, i wanted to share the next moving of the goal posts: Full account creation which facilitates the storage of all chat history. Full memory acquisition to store previous chats as well as the ability to use google maps, and google business for deep research Research tab to show active research and knowledge acquisition.
Hey everyone! From my last dev-log I have a lot to showcase before the final shipment that is impending. I have used Render - a website used for putting live complicated webapps on the internet as a sort of backbone for everyone to access. This will be the main point of access of this project, and the last milestone I hit. I still have a lot to work on past this such as implementing real note taking, as well as a full AI verbal based communication network. After this is finished, I will be moving on to my next project, a game.
Final Devlog 🤖 Hey everyone! This is my final devlog for this project. I’ve been working on JARVIS every day, and it’s pretty much been all I’ve been doing. It’s been a challenging but rewarding project, and I’ve learned a ton along the way. Here’s a quick summary of some of the biggest technical challenges I ran into. Dual Database Architecture One of the hardest parts was managing two databases at the same time. Every message gets saved twice: SQLite stores the raw chat history, while ChromaDB stores vector embeddings for semantic memory. Every write has to handle the possibility of ChromaDB being unavailable, and every read has to combine recent chat history with similarity based memory retrieval. If either system breaks, JARVIS still works, but it loses its long term memory. Replacing PyTorch with ONNX PyTorch turned out to be a huge problem for deployment. The sentence-transformers package pulls in roughly 1.5GB of CUDA libraries, while most free hosting platforms only provide 512MB of RAM. I switched to ChromaDB’s ONNX embedding runtime instead, which reduced the model to around 30MB. Getting ChromaDB to consistently use ONNX instead of falling back to PyTorch took a lot of configuration, and if the embedding function changes between deployments, the entire vector database has to be rebuilt. Authentication Even though JARVIS is a personal assistant, I still wanted authentication to be done properly. User accounts use bcrypt password hashing, username validation, password validation, duplicate username checks, and identical login error messages to prevent username enumeration. It’s definitely overkill for a project like this, but it was a great learning experience. Overall, this project taught me a lot about AI systems, deployment, databases, authentication, and building software that actually has to work reliably. I’m really happy with how JARVIS turned out, and I’m excited to keep improving it even after this project is over. The boring stuff is all done now.
Ships:
Hey everyone! I really enjoyed developing this personal assistant. While it has its limitations, its cool to have a group of programmers sharing ideas and cool concepts. This first part will give a small peek into the errors i ran into during development. Development Environment and Python 3.13 Using Python 3 as the foundation for the backend was the simplest part of the project, but certainly not the easiest. Because Python 3.13 is so new, several critical packages lacked prebuilt wheels. I had to manually check GitHub releases and pull pre-release wheels directly from CI artifacts. I pinned these specific versions to maintain stability. When that became unsustainable, I fell back to Python 3.12, utilizing virtual environment isolation for those specific packages. FastAPI and SSE Streaming Streaming LLM tokens over Server-Sent Events (SSE) is not well-documented, and it caused significant friction. The primary challenge was that the LLM returns a standard generator, while FastAPI’s StreamingResponse requires compatibility with async generators; they do not compose cleanly with synchronous LLM clients. My solution was to wrap the DeepSeek client in an async adapter using asyncio.to_thread(). This ensured the blocking API calls did not stall the event loop, allowing me to yield each token as an SSE-formatted string. Stability and Error Handling Under heavy load, I found that DeepSeek could occasionally return 503 errors. To manage this, I implemented an exponential backoff strategy with a maximum of three retries to maintain stability without overloading the service. A major challenge was ensuring that errors were caught before the SSE stream began, preventing the user from receiving a “half-finished” response. Consequently, I only initialize the stream once the connection is confirmed as alive. Voice Integration and Reliability I chose to integrate ElevenLabs for the voice component to provide a more human-like touch. However, API-based voice services introduce their own reliability constraints. To ensure the assistant remains functional even when hitting the ElevenLabs free-tier limits, I implemented a fallback mechanism. If the API fails, the system reverts to basic browser-based Text-to-Speech (TTS)—a less polished experience, but necessary for overall system reliability. Deployment and Connectivity The backend is currently running locally on my PC and exposed via a Cloudflare Tunnel. I ran into a limitation where every restart of the tunnel generates a new URL. I have had to accept this for now, but I am currently looking for a permanent workaround to ensure a consistent connection point. Now - if you have read this far, you probably want to know what i enjoyed about this project. Building up this backend architecture was certainly not an easy task. For some people this would have been a complete bore, and would’ve been a dreaded chore, but I enjoyed the challenge, and learning opportunity of dealing with Python 3.13 challenges. After I ship this project, I will be working more with python backend, potentially with another webapp. Thanks for reading (:...
|
1792986616.8423584
|
1793073016.8423584
|
|
37729
|
LLM by @phattar4phan | Stardance
|
phattar4phan
|
1
|
23.0
|
234
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T16:11:28Z", "hours": 23.0, "multiplier": 10.68, "payout": 234, "blessing": "neutral", "text": "I made an SLM from scratch with 50M parameters and it took holy 18 hours just to train it and ended up with only 40.63% accuracy in training. If you try it at the site and it responded immediately please don’t decide that it didnt work, it’s just that it might failed to connect to the url model is deployed. If i takes long to respond, yeah it worked and dont ever trust this model first it’s not LLM second this is for experimental purposes.", "repo": "https://github.com/phattar4phan/lanna", "demo": "https://llm.phattar4phan.workers.dev/"}]...
|
[{"post_id": 40118, "ts": "202 [{"post_id": 40118, "ts": "2026-08-03T14:52:12Z", "hours": 4.8322, "text": "final: redesign the webpage for easier reach and interaction, also readjust the training pipeline as the old one have many flaws that the I myself couldnt get respond when testing, and it’s fixed ig"}, {"post_id": 35107, "ts": "2026-07-26T10:15:52Z", "hours": 2.7297, "text": "Modify training configurations, pipeline and fix some error in src/model/mlp.py and src/model/rope.py"}, {"post_id": 34053, "ts": "2026-07-24T14:39:14Z", "hours": 4.3247, "text": "Change the dataset from entirely scratch to Dolci-Instruct-SFT , then also add serializer ( src/utils/serialize.py ) to serialize the dataset into .txt file and then to train it with spm.SentencepieceTrain() ( src/utils/tspm.py ) also add bin.py to turn tokenized into token IDs for faster dataloder, also removed unnecessary file"}, {"post_id": 31907, "ts": "2026-07-20T17:51:45Z", "hours": 10.7358, "text": "#1 - Been on configurating the project, also after configuration I go on getting the dataset, while you can search for them online, I wanna be really type of ‘from scratch’ so in this case I also create the dataset from scratch as well. And all those 10hrs 44m, I’ve been manually entering random wikipedia articles to the code to scrap the texts, The main obstacle that make this so long is that sometimes I have typos, wrong words, or even not found which I’ve to also manually resolve all of them. Thats all but been going on around ~1600 articles"}]...
|
Title: LLM by @phattar4phan | Stardance
Devlogs:
Title: LLM by @phattar4phan | Stardance
Devlogs:
#1 - Been on configurating the project, also after configuration I go on getting the dataset, while you can search for them online, I wanna be really type of ‘from scratch’ so in this case I also create the dataset from scratch as well. And all those 10hrs 44m, I’ve been manually entering random wikipedia articles to the code to scrap the texts, The main obstacle that make this so long is that sometimes I have typos, wrong words, or even not found which I’ve to also manually resolve all of them. Thats all but been going on around ~1600 articles
Change the dataset from entirely scratch to Dolci-Instruct-SFT , then also add serializer ( src/utils/serialize.py ) to serialize the dataset into .txt file and then to train it with spm.SentencepieceTrain() ( src/utils/tspm.py ) also add bin.py to turn tokenized into token IDs for faster dataloder, also removed unnecessary file
Modify training configurations, pipeline and fix some error in src/model/mlp.py and src/model/rope.py
final: redesign the webpage for easier reach and interaction, also readjust the training pipeline as the old one have many flaws that the I myself couldnt get respond when testing, and it’s fixed ig
Ships:
I made an SLM from scratch with 50M parameters and it took holy 18 hours just to train it and ended up with only 40.63% accuracy in training. If you try it at the site and it responded immediately please don’t decide that it didnt work, it’s just that it might failed to connect to the url model is deployed. If i takes long to respond, yeah it worked and dont ever trust this model first it’s not LLM second this is for experimental purposes....
|
1792993713.8173096
|
1793080113.8173096
|
|
23456
|
Ramix (LFS) by @pksmkwe26 | Stardance
|
pksmkwe26
|
1
|
19.0
|
232
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T14:59:44Z", "hours": 19.0, "multiplier": 12.02, "payout": 232, "blessing": "neutral", "text": "I made an Linux Distribution from Scratch following the Linux from Scratch Guide . The Problems i faced were dependency problems and Compiler Issues and also weird version mismatch issues, took a really lot time to sort it out and then there was Time, It took really alot of time to compile heavy packages such as GCC, LLVM, Kernel. . I also made an Custom Package Manager called RXPKG it has an version like symlink structure of installing packages planning to expand it more with version switches and fallbacks and also Online Package Resolving. I had also built rxbuild to build .rx packages for it as well . The Most Challenging part was SystemD Installation it took a really longer time to debug and think what to do along with initramfs booting into SquashFS and assinging OverlayFS to add RW in liveCD . I’ve posted the ISO Link AT : https://github.com/kwe26/ramix-lfs/releases/download/0.1-lfs.3/Ramix-20260719.iso . Compatible Command to Run the ISO file Properly on a QEMU VM . qemu-system-x86_64 \\ -enable-kvm \\ -cpu host \\ -smp 2 \\ -m 2G \\ -cdrom Ramix-20260719.iso \\ \\ -display gtk,gl = on \\ -device virtio-vga-gl \\ \\ -device qemu-xhci \\ \\ -netdev user,id = net0 \\ -device virtio-net-pci,netdev = net0 . Feel free to try it on qemu and drop some feedbacks", "repo": "https://github.com/kwe26/ramix-lfs", "demo": "https://github.com/kwe26/ramix-lfs/releases/tag/0.1-lfs.3"}]...
|
[{"post_id": 31243, "ts": "202 [{"post_id": 31243, "ts": "2026-07-19T14:28:46Z", "hours": 2.9694, "text": "Devlog - 5 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well FINALLY, SSL WORKS!!! New Features Wayland (No Compositor) Wlroots Mesa OpenSSL as RXPKG CA-Certs Properly Compiled DRM Support GIT!! We can now see the penguins and the new Kernel Panic screen thanks to DRM Support + GPU Support . we only support virtio-gpu right now but planning to expand more! . Hopefully, it’s the last devlog before the 1st Ship of this Project also i couldn’t get tinywl working, will try it in next release 0.2 Thanks for following the dev till now!"}, {"post_id": 26681, "ts": "2026-07-11T16:50:22Z", "hours": 4.6217, "text": "Devlog - 4 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well WOWOWWOW, Finallly own package manager??? New Features iproute2 iputils systemd-confs RX Package Manager About the RX Package Manager The package manager is currently written in dart It currently stores packages at /var/lib/rxpkg/vol/<package>/<version> It symlinks it to main /, So it would be better i thought there’s also rxbuild . command to build .rx package it’s kind of like PKGBUILD sample bash build.toml version = 1 [ build ] system = \"autotools\" out_of_source = true configure = [ \"--prefix=/usr\" , \"--sysconfdir=/etc\" , \"--localstatedir=/var\" , \"--disable-nls\" ] make = [ \"-j${NPROC}\" ] install = [ \"DESTDIR=${DESTDIR}\" ] #sample bash manifest.toml name = \"bash\" version = \"5.3.0\" release = 1 arch = \"x86_64\" license = \"GPL-3.0-or-later\" description = \"GNU Bourne Again Shell\" homepage = \"https://www.gnu.org/software/bash/\" maintainer = \"Ramix Team\" depends = [ \"glibc>=2.43\" , \"readline>=8.3\" , \"ncurses>=6.6\" ] Run rxbuild . and there you go your bash.rx package!! You can find the latest ISO in my github release page! Run it like this in qemu qemu-system-x86_64 \\ -cpu host \\ -m 2G \\ -cdrom Ramix.iso \\ -netdev user,id = net0 \\ -device e1000,netdev = net0 \\ -enable-kvm Share your feedbacks in Comments section, I love it"}, {"post_id": 22694, "ts": "2026-07-05T07:59:50Z", "hours": 5.7103, "text": "Devlog - 3 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well Finally, SystemD Support! SystemD now boots as PID 1 at started and now we also have GETTY Support User Management New Features Python 3 Meson, Ninja, CMake Sqlite3, Shadow SystemD!!! Linux-PAM Kmod for modprobe and such commands Login Support!! Upcoming Changes Networking Graphical Interface Recovery Grab the Test Release ISO from Github https://github.com/kwe26/ramix-lfs/releases/tag/0.1 QEMU Command qemu-system-x86_64 \\ -cpu host \\ -m 2G \\ -cdrom Ramix.iso \\ -netdev user,id = net0 \\ -device e1000,netdev = net0 \\ -enable-kvm And it will startup!!! Other Changes *since we had prepared GCC and Compiler Enviorment inside the Chroot, from now all the new libs, programs will be compiled inside the chroot now with the inclusion of scripts_chroot and invoke-chroot.sh *"}, {"post_id": 18175, "ts": "2026-06-29T06:57:07Z", "hours": 3.1797, "text": "Devlog - 2 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well Finally, It can Now Boot on QEMU Steps i followed to make it bootable First i Compressed the Rootfs into rootfs.squashfs Created an Initramfs with Busybox to mount and switch root to squashfs Grub to Boot into Kernel using the Initramfs. There’s still some issues with GCC not working properly due to Pass 2 Compiler not being compiled QEMU COMMAND qemu-system-x86_64 -cpu host -m 2G -cdrom Ramix.iso -enable-kvm ISO Link for Testing https://github.com/kwe26/ramix-lfs/releases/tag/testing"}, {"post_id": 13185, "ts": "2026-06-21T16:10:03Z", "hours": 2.8047, "text": "Devlog - 1 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well Today I’ve Compiled Basic GCC, Make, GNU Bash And Coreutils, Kernel Headers I’m trying to Get this to around usable-state Distro as TUI and SystemD!! Compiling GMP required an Patch for GCC 16 Which i found on Gitlab, I’ve referenced it on Repo. My Goals Get it Boot on QEMU Basic Internet Access (i doubt) QuickJS & Python Beyond Current Goals X.org/Wayland Support A Basic Desktop Manager Support for Real Hardwares Forgive me for the Logo, I’ll create an proper one in time being"}]...
|
Title: Ramix (LFS) by @pksmkwe26 | Stardance
Devl Title: Ramix (LFS) by @pksmkwe26 | Stardance
Devlogs:
Devlog - 1 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well Today I’ve Compiled Basic GCC, Make, GNU Bash And Coreutils, Kernel Headers I’m trying to Get this to around usable-state Distro as TUI and SystemD!! Compiling GMP required an Patch for GCC 16 Which i found on Gitlab, I’ve referenced it on Repo. My Goals Get it Boot on QEMU Basic Internet Access (i doubt) QuickJS & Python Beyond Current Goals X.org/Wayland Support A Basic Desktop Manager Support for Real Hardwares Forgive me for the Logo, I’ll create an proper one in time being
Devlog - 2 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well Finally, It can Now Boot on QEMU Steps i followed to make it bootable First i Compressed the Rootfs into rootfs.squashfs Created an Initramfs with Busybox to mount and switch root to squashfs Grub to Boot into Kernel using the Initramfs. There’s still some issues with GCC not working properly due to Pass 2 Compiler not being compiled QEMU COMMAND qemu-system-x86_64 -cpu host -m 2G -cdrom Ramix.iso -enable-kvm ISO Link for Testing https://github.com/kwe26/ramix-lfs/releases/tag/testing
Devlog - 3 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well Finally, SystemD Support! SystemD now boots as PID 1 at started and now we also have GETTY Support User Management New Features Python 3 Meson, Ninja, CMake Sqlite3, Shadow SystemD!!! Linux-PAM Kmod for modprobe and such commands Login Support!! Upcoming Changes Networking Graphical Interface Recovery Grab the Test Release ISO from Github https://github.com/kwe26/ramix-lfs/releases/tag/0.1 QEMU Command qemu-system-x86_64 \ -cpu host \ -m 2G \ -cdrom Ramix.iso \ -netdev user,id = net0 \ -device e1000,netdev = net0 \ -enable-kvm And it will startup!!! Other Changes *since we had prepared GCC and Compiler Enviorment inside the Chroot, from now all the new libs, programs will be compiled inside the chroot now with the inclusion of scripts_chroot and invoke-chroot.sh *
Devlog - 4 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well WOWOWWOW, Finallly own package manager??? New Features iproute2 iputils systemd-confs RX Package Manager About the RX Package Manager The package manager is currently written in dart It currently stores packages at /var/lib/rxpkg/vol/<package>/<version> It symlinks it to main /, So it would be better i thought there’s also rxbuild . command to build .rx package it’s kind of like PKGBUILD sample bash build.toml version = 1 [ build ] system = "autotools" out_of_source = true configure = [ "--prefix=/usr" , "--sysconfdir=/etc" , "--localstatedir=/var" , "--disable-nls" ] make = [ "-j${NPROC}" ] install = [ "DESTDIR=${DESTDIR}" ] #sample bash manifest.toml name = "bash" version = "5.3.0" release = 1 arch = "x86_64" license = "GPL-3.0-or-later" description = "GNU Bourne Again Shell" homepage = "https://www.gnu.org/software/bash/" maintainer = "Ramix Team" depends = [ "glibc>=2.43" , "readline>=8.3" , "ncurses>=6.6" ] Run rxbuild . and there you go your bash.rx package!! You can find the latest ISO in my github release page! Run it like this in qemu qemu-system-x86_64 \ -cpu host \ -m 2G \ -cdrom Ramix.iso \ -netdev user,id = net0 \ -device e1000,netdev = net0 \ -enable-kvm Share your feedbacks in Comments section, I love it
Devlog - 5 Ramix an Simple Linux Distribution Made from Scratching Following the Linux from Scratch Guide with Custom Scripts as well FINALLY, SSL WORKS!!! New Features Wayland (No Compositor) Wlroots Mesa OpenSSL as RXPKG CA-Certs Properly Compiled DRM Support GIT!! We can now see the penguins and the new Kernel Panic screen thanks to DRM Support + GPU Support . we only support virtio-gpu right now but planning to expand more! . Hopefully, it’s the last devlog before the 1st Ship of this Project also i couldn’t get tinywl working, will try it in next release 0.2 Thanks for following the dev till now!
Ships:
I made an Linux Distribution from Scratch following the Linux from Scratch Guide . The Problems i faced were dependency problems and Compiler Issues and also weird version mismatch issues, took a really lot time to sort it out and then there was Time, It took really alot of time to compile heavy packages such as GCC, LLVM, Kernel. . I also made an Custom Package Manager called RXPKG it has an version like symlink structure of installing packages planning to expand it more with version switches and fallbacks and also Online Package Resolving. I had also built rxbuild to build .rx packages for it as well . The Most Challenging part was SystemD Installation it took a really longer time to debug and think what to do along with initramfs booting into SquashFS and assinging OverlayFS to add RW in liveCD . I’ve posted the ISO Link AT : https://github.com/kwe26/ramix-lfs/releases/download/0.1-lfs.3/Ramix-20260719.iso . Compatible Command to Run the ISO file Properly on a QEMU VM . qemu-system-x86_64 \ -enable-kvm \ -cpu host \ -smp 2 \ -m 2G \ -cdrom Ramix-20260719.iso \ \ -display gtk,gl = on \ -device virtio-vga-gl \ \ -device qemu-xhci \ \ -netdev user,id = net0 \ -device virtio-net-pci,netdev = net0 . Feel free to try it on qemu and drop some feedbacks...
|
1792979781.1493096
|
1793066181.1493096
|
|
22678
|
Cosmic habitable planet classifier by @Rikimii | S Cosmic habitable planet classifier by @Rikimii | Stardance...
|
Rikimii
|
2
|
40.87
|
231
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T04:33:53Z", "hours": 31.0, "multiplier": 11.03, "payout": 169, "blessing": "neutral", "text": "The Cosmic habitable planet classifier V1.1 is an interactive simulation designed to analyze planetary habitability using real-time astrophysical calculations and machine learning predictions. Used Three.js for the 3D visual elements. Basically, this can be used by teachers, students and researchers who want to test their theories by making their your custom planet and see their research hypothesis was true or not.", "repo": "https://github.com/shipdrop/Cosmic-habitable-planet-classifier", "demo": "https://shipdrop.github.io/Cosmic-habitable-planet-classifier/"}, {"ship_num": 2, "ts": "2026-08-16T01:01:43Z", "hours": 5.0, "multiplier": 12.31, "payout": 62, "blessing": "neutral", "text": "A basically made a website where you can make your own planet and compare it to our earth to see if your planet is a bum where no creature can survive or we can go to it to inhabit it one day.", "repo": "https://github.com/shipdrop/Cosmic-habitable-planet-classifier", "demo": "https://shipdrop.github.io/Cosmic-habitable-planet-classifier/"}]...
|
[{"post_id": 82857, "ts": "202 [{"post_id": 82857, "ts": "2026-10-26T01:40:07Z", "hours": 1.7125, "text": "Update v1.2 Added Core and Atmospheric composition. Added Liquid Methane Zone. Countered Bugs in the ML calculations and in both Gravity / Atmosphere and habitability score. still haven’t solved them / was not able to. will solve them trmw."}, {"post_id": 80844, "ts": "2026-10-19T00:15:36Z", "hours": 0.935, "text": "Update (v1.2) added ASCII scrambling to make the info block not look bland. planned to add a option to change host star type as a suggestion from reviews. more coming this week!"}, {"post_id": 76029, "ts": "2026-10-02T03:35:05Z", "hours": 2.2269, "text": "Update: working on v1.2 changed the info section to a little more sci-fi to match the theme. more features coming up (hint: ASCII scrambling)."}, {"post_id": 75453, "ts": "2026-09-30T04:29:17Z", "hours": 3.5103, "text": "UPDATE (v1.1) I read the review and here is what I have referenced from those reviews from the ship: Habitability UI breakdown UI. 3d Goldilocks overlay that automatically resizes based on stellar temp. added astrophysical ML safety guardrails to not miscalculate result. Real-time Physics & updateSimulation pipline. Fixed Planet profile matching."}, {"post_id": 75072, "ts": "2026-09-29T02:08:23Z", "hours": 1.7892, "text": "Last Update for V1.0: Implemented Mobile Touch Controls Optimized Rendering Performance -Configured Open-Source Repository if you guys want to add more features and shii. PLS check out my github Repo."}, {"post_id": 74767, "ts": "2026-09-28T06:17:41Z", "hours": 5.5292, "text": "HUGE UPDATE: Try it out now (probly my second-last devolog) Finally added the refined the whole graph. added a summary box (not complete yet). Fixed all the bugs with controls."}, {"post_id": 74246, "ts": "2026-09-27T01:49:06Z", "hours": 2.4108, "text": "Update: go test it right now! Finally solved the graph overlapping with the simulation. the simulation starfield contines as the the background for graph and analytics section ( which will be added trmw!)."}, {"post_id": 73438, "ts": "2026-09-25T02:53:49Z", "hours": 2.2033, "text": "Huge Update: added scatter plot to show where your customized sits besides other exoplanets using NASA’s exoplanet archive data. it is a little buggy right now, I will fix it trmw (since I have to sleep now)."}, {"post_id": 72945, "ts": "2026-09-24T02:53:24Z", "hours": 1.5056, "text": "Update: removed Changing Planet Texture because its not right to theorize of how it would like. added camera movement when computing model data."}, {"post_id": 72025, "ts": "2026-09-22T00:53:19Z", "hours": 1.0839, "text": "Update: added different planet texture depending on the result (theory on what would it look like) try it out now!."}, {"post_id": 71516, "ts": "2026-09-20T23:48:06Z", "hours": 1.2964, "text": "Update: added SFX to results and buttons on the site."}, {"post_id": 70913, "ts": "2026-09-20T00:57:19Z", "hours": 2.9081, "text": "Hello yall, today are some bug fixes and updates: Fixed Javascript Reference & Scope errors. Fixed Focus Planet camera preset (you can try it out now!). Fixed starfield rotation and alignment. Upgraded Stars Graphics and Shape. More features coming soon!"}, {"post_id": 69473, "ts": "2026-09-17T04:02:57Z", "hours": 2.1344, "text": "GOT A LOT DONE TODAY but… A bug came on the focus camera preset (which i will fix trmw) Changed the default positioning and added cool animations before showing the result in bottom left. P.S- if you are trying out, PLEASE do not click on the focus planet camera preset."}, {"post_id": 67789, "ts": "2026-09-14T01:14:56Z", "hours": 1.9178, "text": "I finally fixed the UI crash error (it was a api error) and refined it later on, You guys can try it right now!! here is the before and after refinements and more coming throughout this week!!."}, {"post_id": 66982, "ts": "2026-09-12T23:57:56Z", "hours": 0.6708, "text": "Done with setting up the models and Drag controls next devlog will be posted when i fix the UI CDN crash :) see yall soon!"}, {"post_id": 62574, "ts": "2026-09-06T01:04:30Z", "hours": 0.7236, "text": "doing the interface again so I can remove the error and fix the 3D UI crashing :) (planning to add to it more)"}, {"post_id": 61271, "ts": "2026-09-04T03:50:13Z", "hours": 0.8394, "text": "so i started the website, but the 3D models due to Three.js errors through CDN. I will fix it this weekend because of multiple tests lined up in school, wish me luck."}, {"post_id": 53470, "ts": "2026-08-24T01:15:18Z", "hours": 2.0592, "text": "I decided to Redo the UI and here is the list of what I will add: (not done yet) 3d Planets and lighting Real-time Orbit animation Interactive camera controls Orbital Path Ring will complete all this points by trmw and Update here!"}, {"post_id": 29230, "ts": "2026-07-16T00:34:07Z", "hours": 0.5619, "text": "Added comparison to earth subtle background changes if you can see them (its halftones)."}, {"post_id": 29185, "ts": "2026-07-15T22:23:34Z", "hours": 4.4792, "text": "tryna fix this page error right for the past 10 mins. I found the problem right now and fix it. btw how does the UI look? Iam going to add more things like comparing it to the real planets in its category. This is it for the first devlog for the spider-man coded planet classifier!"}]...
|
Title: Cosmic habitable planet classifier by @Riki Title: Cosmic habitable planet classifier by @Rikimii | Stardance
Devlogs:
tryna fix this page error right for the past 10 mins. I found the problem right now and fix it. btw how does the UI look? Iam going to add more things like comparing it to the real planets in its category. This is it for the first devlog for the spider-man coded planet classifier!
Added comparison to earth subtle background changes if you can see them (its halftones).
I decided to Redo the UI and here is the list of what I will add: (not done yet) 3d Planets and lighting Real-time Orbit animation Interactive camera controls Orbital Path Ring will complete all this points by trmw and Update here!
so i started the website, but the 3D models due to Three.js errors through CDN. I will fix it this weekend because of multiple tests lined up in school, wish me luck.
doing the interface again so I can remove the error and fix the 3D UI crashing :) (planning to add to it more)
Done with setting up the models and Drag controls next devlog will be posted when i fix the UI CDN crash :) see yall soon!
I finally fixed the UI crash error (it was a api error) and refined it later on, You guys can try it right now!! here is the before and after refinements and more coming throughout this week!!.
GOT A LOT DONE TODAY but… A bug came on the focus camera preset (which i will fix trmw) Changed the default positioning and added cool animations before showing the result in bottom left. P.S- if you are trying out, PLEASE do not click on the focus planet camera preset.
Hello yall, today are some bug fixes and updates: Fixed Javascript Reference & Scope errors. Fixed Focus Planet camera preset (you can try it out now!). Fixed starfield rotation and alignment. Upgraded Stars Graphics and Shape. More features coming soon!
Update: added SFX to results and buttons on the site.
Update: added different planet texture depending on the result (theory on what would it look like) try it out now!.
Update: removed Changing Planet Texture because its not right to theorize of how it would like. added camera movement when computing model data.
Huge Update: added scatter plot to show where your customized sits besides other exoplanets using NASA’s exoplanet archive data. it is a little buggy right now, I will fix it trmw (since I have to sleep now).
Update: go test it right now! Finally solved the graph overlapping with the simulation. the simulation starfield contines as the the background for graph and analytics section ( which will be added trmw!).
HUGE UPDATE: Try it out now (probly my second-last devolog) Finally added the refined the whole graph. added a summary box (not complete yet). Fixed all the bugs with controls.
Last Update for V1.0: Implemented Mobile Touch Controls Optimized Rendering Performance -Configured Open-Source Repository if you guys want to add more features and shii. PLS check out my github Repo.
UPDATE (v1.1) I read the review and here is what I have referenced from those reviews from the ship: Habitability UI breakdown UI. 3d Goldilocks overlay that automatically resizes based on stellar temp. added astrophysical ML safety guardrails to not miscalculate result. Real-time Physics & updateSimulation pipline. Fixed Planet profile matching.
Update: working on v1.2 changed the info section to a little more sci-fi to match the theme. more features coming up (hint: ASCII scrambling).
Update (v1.2) added ASCII scrambling to make the info block not look bland. planned to add a option to change host star type as a suggestion from reviews. more coming this week!
Update v1.2 Added Core and Atmospheric composition. Added Liquid Methane Zone. Countered Bugs in the ML calculations and in both Gravity / Atmosphere and habitability score. still haven’t solved them / was not able to. will solve them trmw.
Ships:
A basically made a website where you can make your own planet and compare it to our earth to see if your planet is a bum where no creature can survive or we can go to it to inhabit it one day.
The Cosmic habitable planet classifier V1.1 is an interactive simulation designed to analyze planetary habitability using real-time astrophysical calculations and machine learning predictions. Used Three.js for the 3D visual elements. Basically, this can be used by teachers, students and researchers who want to test their theories by making their your custom planet and see their research hypothesis was true or not....
|
1792990164.749014
|
1793076564.749014
|
|
32859
|
CornOS by @corn | Stardance
|
corn
|
1
|
31.0
|
231
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T12:53:33Z", "hours": 31.0, "multiplier": 7.35, "payout": 231, "blessing": "neutral", "text": "A 32-bit x86 OS from complete scratch with GRUB as its bootloader, for educational purpose only.", "repo": "https://github.com/dcorn-stone/CornOS", "demo": "https://github.com/dcorn-stone/CornOS/releases"}]...
|
[{"post_id": 56602, "ts": "202 [{"post_id": 56602, "ts": "2026-08-28T12:50:21Z", "hours": 4.935, "text": "Finished tidying up and completing the ps/2 driver. Preparing to ship now, and try to implement paging in the future!"}, {"post_id": 52766, "ts": "2026-08-23T03:29:28Z", "hours": 7.145, "text": "Just trying to organize things in my codebase, completing the ps/2 scan code decoding function for set 2, and preparing to move on to implementing paging"}, {"post_id": 30524, "ts": "2026-07-18T05:26:27Z", "hours": 3.0786, "text": "Just made my OS capable of loading either exactly one Multiboot module or none. The module can be verified inside a debugger (gdb) which the EAX register should be set to 0xDEADBEEF."}, {"post_id": 27115, "ts": "2026-07-12T11:53:46Z", "hours": 4.3775, "text": "Made output logic better"}, {"post_id": 26357, "ts": "2026-07-11T03:11:05Z", "hours": 1.9347, "text": "Got the keyboard working!!!"}, {"post_id": 26307, "ts": "2026-07-11T01:02:22Z", "hours": 9.9053, "text": "Currently working on a ps/2 keyboard driver, only completing this for basic input. I have just done the state machine and scan code conversion, now trying to handle key events."}]...
|
Title: CornOS by @corn | Stardance
Devlogs:
Curre Title: CornOS by @corn | Stardance
Devlogs:
Currently working on a ps/2 keyboard driver, only completing this for basic input. I have just done the state machine and scan code conversion, now trying to handle key events.
Got the keyboard working!!!
Made output logic better
Just made my OS capable of loading either exactly one Multiboot module or none. The module can be verified inside a debugger (gdb) which the EAX register should be set to 0xDEADBEEF.
Just trying to organize things in my codebase, completing the ps/2 scan code decoding function for set 2, and preparing to move on to implementing paging
Finished tidying up and completing the ps/2 driver. Preparing to ship now, and try to implement paging in the future!
Ships:
A 32-bit x86 OS from complete scratch with GRUB as its bootloader, for educational purpose only....
|
1792990319.5361354
|
1793076719.5361354
|
|
40484
|
RaidenScript by @RaidenTechnology | Stardance
|
RaidenTechnology
|
2
|
58.97
|
231
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T11:46:51Z", "hours": 31.0, "multiplier": 10.41, "payout": 104, "blessing": "neutral", "text": "RaidenScript v0.2 Update I wrote RaidenScript (RS) from scratch in C++20 as a small embeddable scripting language. In Ship #1 I had it running in three hosts. Since then I gave it a browser you can try it in, and I turned the Minecraft host into a real game running on a live server. I put the language in a browser. I compiled the C API to WebAssembly, served it from GitHub Pages, and wrote an editor with a Run button and four example programs: raidentechnology.github.io/raidenscript. I send nothing to a server; the page is the interpreter. I stopped treating the Minecraft host as a demo. I wrote 144 commits on it since the last devlog, and I keep the rules out of Java entirely: they sit in one .rai file the server loads at boot and reloads while players are online. I wrote a whole farming layer as script rules. Every crop got its own tool with its own level and rarity ladder, and I added tool enchants, XP bottles, an upgrade bench, and a 20 minute contest with medals and a shop of its own. I added pests. Twelve species, a spawn engine I tied to whatever crop is planted, a five-tier vacuum to kill them with, and a loot table I hooked into the same farming-luck stat every other system reads. I built a garden around it: 8 plots, a regeneration engine that rebuilds 13 farm patterns, 76 visitor NPCs I gave 53 signed skins, and a copper economy I priced off the live Bazaar API instead of numbers I made up. I added one host primitive, taslakModel, and let the script choose the model an item wears. Adding an item is now a script edit and nothing else. I fixed three bugs the live server found and no test of mine would have. An item-identity gate was cancelling every right click unconditionally, so the grappling hook silently never fired. The area hoe was catching its own synthetic event and moving the stack twice. And one wrong price in a shop table was failing the entire script at boot. Why did I do it like this? Because I think a language is judged by what runs on it, not by its grammar. The strongest thing I can say about my embedding API is that a 10,000 line ruleset runs on it every night, on a real server, with real players. Because I lose reviewers at the install wall. For Ship #1 I asked people to clone a repo and build it with MinGW. Now I ask for one click, and I am handing them the same interpreter, not a simplified twin. Because every rule I move out of Java is a rule I can change without a restart. I left no compile step in the script layer, so /rai reload changes the balance of a live game between two swings of a sword. Because item models were the last thing still forcing me into Java. I closed that hole, and I now keep the Java side as infrastructure only: it knows how to talk to the server and nothing about what the game is. Because I wanted the contest, the pests and the visitor queue to stress the C boundary. I pass numbers in the array and let strings travel beside it, and not one of these systems made me widen that contract. Because a bug a player hits at 2 AM is worth more to me than a bug I find in my own suite. All three above came from the server. Source (MIT): github.com/RaidenTechnology/raidenscript", "repo": "https://github.com/RaidenTechnology/raidenscript", "demo": "https://raidentechnology.github.io/raidenscript/"}, {"ship_num": 2, "ts": "2026-07-28T10:10:56Z", "hours": 7.0, "multiplier": 17.73, "payout": 127, "blessing": "neutral", "text": "RaidenScript v0.1 — an embeddable scripting language written from scratch in C++20. WHAT IT IS A small language (29 keywords) with Python’s readability and JavaScript’s runtime model, built to go inside another program and make it scriptable. The same interpreter runs in three hosts, and each one has a working demo in the repo: Terminal — native binary, “rai program.rai”, plus a REPL Browser — C API compiled to WebAssembly, running an animated store page JVM — C API through JNI, running a Paper Minecraft plugin The demo link is my shipped game STAR BREAKER: one of its weapons is not defined in the game at all, it is a RaidenScript file the game loads and runs through the WebAssembly build. WHAT IS IN IT Lexer, parser, resolver, tree-walking interpreter and REPL, all hand-written; no parser generator, no dependencies. 16 example programs that double as the regression suite, 20 C API checks, 7 WebAssembly checks, zero compiler warnings. A recursion-depth guard so a runaway script raises a catchable error instead of killing the host process — verified separately on native, wasm and the JVM. The cover image was computed pixel by pixel by a RaidenScript program (demo/kapak/kapak-ascii.rai) — no graphics library, in the program or in the language. HOW TO TRY IT git clone, then “make” (w64devkit/MinGW on Windows, gcc elsewhere), then “rai examples/01-temeller.rai”, or just “rai” for the REPL. The README is a full manual: language guide, standard library, embedding walkthrough. Known limits are written down there rather than hidden: an exception escaping a host function leaks stack, string += is quadratic, and a script returning a string to rs_call still yields 0. AI SPLIT The design of the language and its core — lexer, parser, resolver, interpreter, REPL, C API, string channel — is mine and was written by me. The host bindings, the demo apps, and this week’s seven interpreter bug fixes are AI-written from my designs and my audit. Logged hours are my editor time only. Source (MIT): github.com/RaidenTechnology/raidenscript", "repo": "https://github.com/RaidenTechnology/raidenscript", "demo": "https://raidentechnology.github.io/raidenscript/"}]...
|
[{"post_id": 53014, "ts": "202 [{"post_id": 53014, "ts": "2026-08-23T12:15:50Z", "hours": 20.9703, "text": "RaidenScript: the cover is a program, not a picture I gave the project a red and black cover, and I did it without opening an image editor. The cover generator is a RaidenScript program that prints a plain PPM to stdout, so I changed the palette in the script and ran it again: three radial glows, a faint grid, a vertical gradient on the bolt, and a 5x7 bitmap font that is data inside the file, not a system font. It computes 315,000 pixels in 43 seconds. That is my tree-walking interpreter doing arithmetic in a while loop, with no graphics library in the program and none in the language. My first render was wrong and I had to say so. The old cover put a turquoise bolt on a violet field, so the contrast came from hue. In red on red there is no hue left to lean on, and the bolt sank into the background. I cut the background glow to a third and pushed the bolt to a near-white core, so the contrast now comes from brightness. I cleaned the repository behind it. My README still linked to SPEC.md and WORKLOG.md after I deleted them, so anyone cloning it hit two dead links on the front page. I removed those links and rewrote the root README and two demo READMEs without tables. Why did I do it like this? Because a cover drawn in an image editor says nothing about my language, and a cover computed by it is the smallest honest benchmark I own. If the language cannot fill 315,000 pixels, I want to know that before someone else finds out. Because 43 seconds is a real number and I am not hiding it. It is fine for a cover I render once, and it is exactly why a bytecode VM sits on my roadmap instead of being marked done. Because a README that points at files I deleted is a promise I broke to whoever clones the repo, and that is the first thing a reviewer sees."}, {"post_id": 46568, "ts": "2026-08-13T21:53:11Z", "hours": 30.61, "text": "The loop that fixes the language is written in the language Since the last devlog the work split in two: a development loop that RaidenScript now drives itself, and a repository that finally stopped mixing the language with a game server. selfdev - the decision logic is a .rai file tools/selfdev.rai holds the loop’s rules: pick an area nobody touched last round, run the build, read the log, call the pass green or red, append its own entry to a round journal. Under it sits tools/rsdev.cpp, a sys.* host built on the same C API the browser game and the Minecraft plugin already use. The language had three hosts. The fourth one is its own toolchain. Pass 2 taught it what not to trust. tools/selfdev-build.cmd reported EXIT=0 for a run that failed to link. The cause is not in the language at all: exit /b inside a ( … ) » log 2>&1 block does not end a .cmd script, so control falls through to the final exit /b 0. A loop whose whole contract is “exit 0 means green” can commit on red - and it did once, on stale .o files. The rule now is read the log, not the exit code, and it is written in capitals at the top of SELFDEV-NOTES.md because I expect to forget it. What the passes actually fixed String building was quadratic. At 60,000 pieces: s += x took 1879 ms, s = s + x took 2382 ms, against a list.push + join baseline of 54 ms - 35x and 44x. Strings stay immutable (SPEC section 2), the fix is ownership: when the slot is the only owner, append in place. Both forms now run in about 25 ms. The indexed form d[k] += x was a separate code path and stayed quadratic after the first fix, so it took a second pass to catch. The measurement size was part of the test. At 24,000 pieces the s = s + x check passed green: 288 KB fits in L2 and quadratic copying looks cheap in cache. At 60,000 (720 KB) both went red. f-strings could not hold a quoted string inside an interpolation, although SPEC 9/3 said they could. f”{sys.read(“a.txt”)}” was a syntax error. The spec was right and the parser was wrong. A blank line in a CRLF file closed a block early. The lone \\r counted as content - the kind of bug that only shows up on someone else’s machine. Two C API bugs: rs_call could return an empty error message, and a nested rs_call corrupted the string channel of the outer primitive. The JVM bridge silently collapsed an int-returning host primitive to 0. Silent zeros are the worst class: the plugin keeps running and the numbers are simply wrong. 68 C API checks green, zero compiler warnings, sanitizer run clean. 29 keywords, still capped at 30. No C API signature changed. The branch split 227 commits had piled up unpushed and 216 of them were the Minecraft plugin demo. I reset main to origin, cherry-picked only the 13 language and tooling commits, and left the rest on its own branch. main is the language. Nothing else goes there. Most of the time logged on this project since the last devlog went into that plugin demo - the JVM binding exercised against a real server - and that branch is not on GitHub yet. The language fixes above came out of the unattended loop.I read every pass and hand-picked what entered main. The design, the spec and the original src/ are mine. Logged hours are my editor time only."}, {"post_id": 36295, "ts": "2026-07-28T09:44:35Z", "hours": 0.5578, "text": "Seven bugs, and the ones that were never reachable Last devlog promised a depth counter for the crash that hit all three hosts. I built it, then kept reading instead of building, and the audit found six more. THE COUNTER A script that recurses too deep does not raise an error. It kills the process. On a Minecraft server that means every player drops and the log has not one line about it - no Java exception, no hs_err file, exit code 127. The tempting fix is a bigger stack, but that only moves the wall: with -Xss16m the JVM dies at ~5000 frames instead of ~500, the same way. So the interpreter counts instead. Every script call goes through one function, and past the limit it raises an ordinary Error - catchable with try/catch, readable through rs_last_error. Picking the number mattered more than writing it. My notes said “4000”, my measurements said that was useless: native and wasm hit the wall near 1000 frames, a default JVM thread at ~500, because each script frame costs about 1.7 KB of native stack. A limit above the wall protects nobody. So: 800, and the JNI bridge drops it to 400 because it knows what stack it stands on. The counter also has to be restored no matter HOW a call exits - return, return signal, or exception. My restore lines covered two of those three paths; a destructor covers all three and cannot be forgotten. A CRASH ANY SCRIPT COULD TRIGGER \"a,b\".split(5) That was enough to kill the host. split assumed its argument was a string, dereferenced a checked cast without checking it, and got a null pointer. Eight builtins had the same line copied into them. In a standalone language that is a segfault. In an embedded one, any script author can take down the server with a typo. It is now a type error naming the method. OPERATORS THAT WERE NEVER REACHABLE The lexer produced tokens for & | ^ « ». The interpreter had the arithmetic for all five. Every test passed. But no rule in the parser ever read those tokens, so “flags & 4” got “expression expected, found ‘&’”, and the code in the other two layers had never once run. Three layers agreeing on a feature is not the same as three layers connected by it. The fix was four precedence levels, ordered like Python and C - no new keywords, so the language stays at 29 of 30. THE SMALL ONES throw Error(“amount missing”) reached the host as “”: the CLI path pulled out the message field, the embedding path did not. 2 ** 64 wrapped silently to 0. 1 « 64 was undefined behaviour - on x86 the CPU takes the shift count modulo 64, so it quietly evaluates to 1. And an exception thrown from a single-expression lambda left the interpreter in the lambda’s scope, so the catch block ran against the wrong variables. WHERE IT STANDS The C API suite is 20 checks now, five written for these bugs; the wasm suite 7; 11 examples still run; zero warnings. The guard is verified on native, wasm and JNI separately, and in each one the process was still alive after the limit was hit. Three problems stay open, in the README rather than hidden: an exception escaping a host function leaks stack, string += is quadratic, and a script returning a string to rs_call still yields 0. ON THE AI SPLIT This changes what I said last time, so I am saying it plainly. Until now AI had not touched src/. This round it did: I asked it to audit the interpreter and fix what it found, and the C++ in these seven fixes is AI-written from that audit. The language itself - lexer, parser, resolver, interpreter, REPL, C API, string channel - is still my design and was written by me. Host bindings and demo apps were already AI-written from my designs, as I said last devlog. Logged hours are my editor time only."}, {"post_id": 36104, "ts": "2026-07-27T23:51:06Z", "hours": 3.3964, "text": "One interpreter, three hosts Last devlog my language could define a weapon in my shipped game. Since then it left the browser too, and the way out taught me more than the way in. STRINGS WITHOUT LYING ABOUT NUMBERS The C boundary only carried doubles. That was a deliberate choice: a number is copied, so nobody has to ask who owns it. Then I tried to write a bank UI and stopped in the first ten minutes. An IBAN is text. An error message is text. The tempting fix is to pass a handle: “this double is really an index into a string table”. I did not do it. A contract like that is invisible, and the first time somebody misreads it the program moves the wrong money without a warning. So strings travel BESIDE the numbers instead of inside them. args[] did not change by a single byte, rs_host_fn kept its signature, and my already-shipped game’s bridge kept working untouched. Text is pulled by the script, not pushed by the host: script: iban = ui.input(\"iban\") host : reads the field name, returns the value THE 64 KILOBYTE FLOOR Then I asked whether the language could drive an animated web page, and measured instead of guessing. 490,000 host calls per second. 200 elements updated twice each = 1.45 ms, nine percent of a frame. Fine. What was not fine: recursion died at depth 130. Not with an error - with memory corruption. After it, the whole WebAssembly module was dead; I could not even open a fresh VM on it. Emscripten’s default stack is 64 KB, and a tree-walking interpreter spends several C++ frames per script frame. Adding -sSTACK_SIZE=8MB moved the safe depth past 1000 and turned overflow into a catchable error. Cost: the .wasm grew by three bytes. Then a worse one. If a host function throws, the exception unwinds through the interpreter’s frames without restoring the stack pointer, and that space never comes back. I measured the drift: 5,000 escaping exceptions took the safe depth from 1000 to 937. At 50,000 the module died. Fix: never let an exception cross the boundary - catch it in the bridge. THE THIRD HOST Then JNI, and the language went into a Minecraft server. Same C header, a different bridge, and the design copied deliberately: numbers in the array, strings in the channel beside it. The plugin is a custom enchanting table. Sixteen enchants, seven rarity tiers, slot limits per rarity, conflicts, an XP cost curve, and the block of text drawn on the item - all of it in one .rai file. The Java side is two classes that do not contain a single enchant name. Stats are written into the schema my existing combat plugin already reads, so enchants change real damage without one line changing in the plugins that were already there. Because there is no compile step, /rai reload changes the rules while players are online. A live server found a bug I had not: NamespacedKey only accepts [a-z0-9/._-] and my enchant ids are camelCase. The bridge’s catch turned what would have been a crash into a log line, and the log line named the key. THE SAME BUG THREE TIMES Native: depth 1000, then a silent death, exit code 127. WebAssembly: 130, then corruption. JVM: 500, then the whole server dies with no Java exception and no crash log. One cause - I recurse on the native stack and never count the depth. Three hosts made it obvious in a way one host never would have. That counter is next. ON THE AI SPLIT The core is mine: lexer, parser, resolver, interpreter, REPL, C API, the string channel. AI has not touched src/ and I checked the history before writing this. The host bindings and the demos are AI-written from my designs - the browser binding, the JNI bridge, and three demo apps. Logged hours are my editor time only."}, {"post_id": 35952, "ts": "2026-07-27T18:45:08Z", "hours": 2.4036, "text": "My language now defines a weapon in my shipped game Phase 1 gave RaidenScript a lexer, parser, resolver, interpreter and REPL. Today it got a design change of its own, and a way out of the terminal. TWO KEYWORDS, AND WHY THE FIRST VERSION WAS WEAK I had one keyword for pulling code in: use. I wanted hardware code to look different from application code, so I proposed include for boards and import for everything else. That rule was weak and I want to be honest about why. If include serial and import math do exactly the same thing, nothing stops anyone writing include math. A guide the compiler cannot check is not a guide, it is a convention with a syntax bill. So the difference moved onto something the compiler can enforce: import resolved at runtime: std library, a git repo, a pinned version include resolved when the host builds you in include now refuses quoted paths and @ “v0.3.1” version tags outright. On an ESP32 there is no filesystem and nothing to fetch, so a dependency needing the network at load time simply cannot be an include. Hardware and software separate as a side effect of a rule about resolution time — that is what earns two keywords instead of one. A file may use both, and that is the point: that is what a bridge looks like. 29 keywords now, hard-capped at 30 until v1.0. One slot left, and I would rather leave it empty than spend it on a synonym. A BUG ONLY TURKISH COULD PRODUCE Renaming use to import across 20 files, a bulk find-and-replace uppercased an i into U+0130 — the Turkish dotted capital, because in Turkish that is what the uppercase of i is. My editor did the case change in my own locale and handed C++ a character it cannot compile. The irony is sharp. RaidenScript deliberately accepts UTF-8 identifiers, so a Turkish variable name is legal in the language I am building. The language I am building it in has no such patience. OUT OF THE TERMINAL Then the embedding work: a C API, a WASM build, and one weapon. The C API was not the hard part. Lifetime was. Function values hold RAW pointers into the AST, and a host calls a script function long after loading it — so the VM has to own the source, the tree and the interpreter, and destroy them in the right order. One VM, one script; numbers across the boundary, not JSON. Then WASM aborted on the first return statement. Emscripten disables C++ exceptions by default, and this interpreter carries return, break and thrown errors on C++ exceptions. -fwasm-exceptions fixes it. The JS-based alternative would mean a trip to JavaScript on every single function return — unusable for a tree-walker. And the payoff: STAR BREAKER, the game I shipped last week, now has a weapon whose definition is not in the game. scripts/plazma.rai holds its damage, fire rate, spread and the shape of its shot. The engine calls fire(angle), the script calls back with game.spawnBullet, and the engine makes the bullets. The script only says where. Rarity, levels, reforges, evolution — all of it still works, untouched. The weapon is an ordinary table entry that happens to be filled from a language I wrote. I added a weapon rather than moving one: the game is shipped and its balance measured, so adding risks nothing. If the WASM fails to load, the weapon simply is not there. ON THE AI SPLIT The design is mine — the two keywords, the bridge pattern, the decision to add rather than move. I wrote the first pass of the rename; AI reviewed it, found what was missing, and wrote most of the embedding layer with me directing. That is more AI than my last devlog claimed, and I would rather correct it than let it stand. Repo (MIT): github.com/RaidenTechnology/raidenscript"}, {"post_id": 35673, "ts": "2026-07-27T08:35:48Z", "hours": 0.8014, "text": "I wrote a programming language. It runs. RaidenScript is an embeddable scripting language — the kind that goes inside another program and makes it programmable. It borrows readability from Python, the runtime model from JavaScript, optional types from C++, and declarative UI from HTML. Phase 1 is done: lexer, AST, parser, resolver, tree-walking interpreter, REPL. ~5,150 lines of C++20, zero warnings under -Wall -Wextra -Wpedantic -Wshadow -Wconversion. WHAT I DID FIRST WAS NOT WRITE CODE Phase 0 was pure design: a spec, a grammar, and 15 example programs — and no compiler at all. Writing those examples found 16 defects in the spec before a single line of the implementation existed. Two of them would have forced a rewrite later: Conditional expressions (a if cond else b) were missing from the grammar entirely — I typed one by reflex in example 4 and it couldn’t parse. => followed by { was genuinely ambiguous: block, or map literal? I took JavaScript’s answer — after =>, { is always a block, and returning a map needs ({…}). Finding this while writing the parser would have cost days. Then the parser found a third: my rule that brace-blocks suppress indentation was just wrong. It makes this impossible to write: register(\"hit\", (e) => { if e.critical: damage = damage * 2 }) Parentheses hold one expression; brace blocks hold statements, and statements need block structure. DECISIONS I’M HAPPY WITH Only nil and false are falsy. 0 and “” are truthy, which kills the classic if-count bug at the root. / always returns a float; // is integer division. C’s silent truncation is a bug factory. No package registry, ever. Modules resolve straight from a git repo, Go-style. I built the diagnostics engine before the lexer, because error messages bolted on afterwards always stay bolted on. Columns count UTF-8 characters, not bytes — so the caret lands correctly when a variable is named sayaç. Real output, Turkish for now (English messages are on the list): hata: beklenmeyen ‘!’ –> test.rai:3:7 | 3 | c = 5 ! 3 | ^ | = ipucu: olumsuzlama için ‘not’ kullan THE PART THAT MADE ME GRIN Example 15 is a calculator — a lexer, a Pratt parser and an evaluator, written in RaidenScript. I wrote it in Phase 0 as a rehearsal for the C++ I hadn’t written yet. Now it runs on the interpreter it was a rehearsal for: 2 ^ 3 ^ 2 gives 512, right-associative, not 64. The REPL I wrote by hand, and it immediately earned its keep by finding a bug nothing else could: Source::fromFile stripped the UTF-8 BOM, but the constructor didn’t. The REPL was the first code path to build a Source from an in-memory string instead of a file, so piped input carried a BOM into the lexer, which glued it onto the first identifier. A new entry point finds bugs no amount of staring finds. ON THE AI SPLIT The design is mine — spec, grammar, naming, and every decision above. Phases 0-6 of the implementation were written with AI assistance (Claude); the REPL, step 7, I wrote myself, and that is the mode from here on: I write the code, AI reviews it. WHAT’S NEXT Not phase 2. I’m skipping types and the bytecode VM and going straight to embedding — because a tree-walking interpreter is plenty fast for mod scripts, which run on events, not in the render loop. The goal: compile to WASM, bind a game.* API, and define one weapon in my published game STAR BREAKER using a language I wrote. A language nobody uses is a toy. A language shipping in a real product is not. Repo (MIT): github.com/RaidenTechnology/raidenscript"}]...
|
Title: RaidenScript by @RaidenTechnology | Stardan Title: RaidenScript by @RaidenTechnology | Stardance
Devlogs:
I wrote a programming language. It runs. RaidenScript is an embeddable scripting language — the kind that goes inside another program and makes it programmable. It borrows readability from Python, the runtime model from JavaScript, optional types from C++, and declarative UI from HTML. Phase 1 is done: lexer, AST, parser, resolver, tree-walking interpreter, REPL. ~5,150 lines of C++20, zero warnings under -Wall -Wextra -Wpedantic -Wshadow -Wconversion. WHAT I DID FIRST WAS NOT WRITE CODE Phase 0 was pure design: a spec, a grammar, and 15 example programs — and no compiler at all. Writing those examples found 16 defects in the spec before a single line of the implementation existed. Two of them would have forced a rewrite later: Conditional expressions (a if cond else b) were missing from the grammar entirely — I typed one by reflex in example 4 and it couldn’t parse. => followed by { was genuinely ambiguous: block, or map literal? I took JavaScript’s answer — after =>, { is always a block, and returning a map needs ({…}). Finding this while writing the parser would have cost days. Then the parser found a third: my rule that brace-blocks suppress indentation was just wrong. It makes this impossible to write: register("hit", (e) => { if e.critical: damage = damage * 2 }) Parentheses hold one expression; brace blocks hold statements, and statements need block structure. DECISIONS I’M HAPPY WITH Only nil and false are falsy. 0 and “” are truthy, which kills the classic if-count bug at the root. / always returns a float; // is integer division. C’s silent truncation is a bug factory. No package registry, ever. Modules resolve straight from a git repo, Go-style. I built the diagnostics engine before the lexer, because error messages bolted on afterwards always stay bolted on. Columns count UTF-8 characters, not bytes — so the caret lands correctly when a variable is named sayaç. Real output, Turkish for now (English messages are on the list): hata: beklenmeyen ‘!’ –> test.rai:3:7 | 3 | c = 5 ! 3 | ^ | = ipucu: olumsuzlama için ‘not’ kullan THE PART THAT MADE ME GRIN Example 15 is a calculator — a lexer, a Pratt parser and an evaluator, written in RaidenScript. I wrote it in Phase 0 as a rehearsal for the C++ I hadn’t written yet. Now it runs on the interpreter it was a rehearsal for: 2 ^ 3 ^ 2 gives 512, right-associative, not 64. The REPL I wrote by hand, and it immediately earned its keep by finding a bug nothing else could: Source::fromFile stripped the UTF-8 BOM, but the constructor didn’t. The REPL was the first code path to build a Source from an in-memory string instead of a file, so piped input carried a BOM into the lexer, which glued it onto the first identifier. A new entry point finds bugs no amount of staring finds. ON THE AI SPLIT The design is mine — spec, grammar, naming, and every decision above. Phases 0-6 of the implementation were written with AI assistance (Claude); the REPL, step 7, I wrote myself, and that is the mode from here on: I write the code, AI reviews it. WHAT’S NEXT Not phase 2. I’m skipping types and the bytecode VM and going straight to embedding — because a tree-walking interpreter is plenty fast for mod scripts, which run on events, not in the render loop. The goal: compile to WASM, bind a game.* API, and define one weapon in my published game STAR BREAKER using a language I wrote. A language nobody uses is a toy. A language shipping in a real product is not. Repo (MIT): github.com/RaidenTechnology/raidenscript
My language now defines a weapon in my shipped game Phase 1 gave RaidenScript a lexer, parser, resolver, interpreter and REPL. Today it got a design change of its own, and a way out of the terminal. TWO KEYWORDS, AND WHY THE FIRST VERSION WAS WEAK I had one keyword for pulling code in: use. I wanted hardware code to look different from application code, so I proposed include for boards and import for everything else. That rule was weak and I want to be honest about why. If include serial and import math do exactly the same thing, nothing stops anyone writing include math. A guide the compiler cannot check is not a guide, it is a convention with a syntax bill. So the difference moved onto something the compiler can enforce: import resolved at runtime: std library, a git repo, a pinned version include resolved when the host builds you in include now refuses quoted paths and @ “v0.3.1” version tags outright. On an ESP32 there is no filesystem and nothing to fetch, so a dependency needing the network at load time simply cannot be an include. Hardware and software separate as a side effect of a rule about resolution time — that is what earns two keywords instead of one. A file may use both, and that is the point: that is what a bridge looks like. 29 keywords now, hard-capped at 30 until v1.0. One slot left, and I would rather leave it empty than spend it on a synonym. A BUG ONLY TURKISH COULD PRODUCE Renaming use to import across 20 files, a bulk find-and-replace uppercased an i into U+0130 — the Turkish dotted capital, because in Turkish that is what the uppercase of i is. My editor did the case change in my own locale and handed C++ a character it cannot compile. The irony is sharp. RaidenScript deliberately accepts UTF-8 identifiers, so a Turkish variable name is legal in the language I am building. The language I am building it in has no such patience. OUT OF THE TERMINAL Then the embedding work: a C API, a WASM build, and one weapon. The C API was not the hard part. Lifetime was. Function values hold RAW pointers into the AST, and a host calls a script function long after loading it — so the VM has to own the source, the tree and the interpreter, and destroy them in the right order. One VM, one script; numbers across the boundary, not JSON. Then WASM aborted on the first return statement. Emscripten disables C++ exceptions by default, and this interpreter carries return, break and thrown errors on C++ exceptions. -fwasm-exceptions fixes it. The JS-based alternative would mean a trip to JavaScript on every single function return — unusable for a tree-walker. And the payoff: STAR BREAKER, the game I shipped last week, now has a weapon whose definition is not in the game. scripts/plazma.rai holds its damage, fire rate, spread and the shape of its shot. The engine calls fire(angle), the script calls back with game.spawnBullet, and the engine makes the bullets. The script only says where. Rarity, levels, reforges, evolution — all of it still works, untouched. The weapon is an ordinary table entry that happens to be filled from a language I wrote. I added a weapon rather than moving one: the game is shipped and its balance measured, so adding risks nothing. If the WASM fails to load, the weapon simply is not there. ON THE AI SPLIT The design is mine — the two keywords, the bridge pattern, the decision to add rather than move. I wrote the first pass of the rename; AI reviewed it, found what was missing, and wrote most of the embedding layer with me directing. That is more AI than my last devlog claimed, and I would rather correct it than let it stand. Repo (MIT): github.com/RaidenTechnology/raidenscript
One interpreter, three hosts Last devlog my language could define a weapon in my shipped game. Since then it left the browser too, and the way out taught me more than the way in. STRINGS WITHOUT LYING ABOUT NUMBERS The C boundary only carried doubles. That was a deliberate choice: a number is copied, so nobody has to ask who owns it. Then I tried to write a bank UI and stopped in the first ten minutes. An IBAN is text. An error message is text. The tempting fix is to pass a handle: “this double is really an index into a string table”. I did not do it. A contract like that is invisible, and the first time somebody misreads it the program moves the wrong money without a warning. So strings travel BESIDE the numbers instead of inside them. args[] did not change by a single byte, rs_host_fn kept its signature, and my already-shipped game’s bridge kept working untouched. Text is pulled by the script, not pushed by the host: script: iban = ui.input("iban") host : reads the field name, returns the value THE 64 KILOBYTE FLOOR Then I asked whether the language could drive an animated web page, and measured instead of guessing. 490,000 host calls per second. 200 elements updated twice each = 1.45 ms, nine percent of a frame. Fine. What was not fine: recursion died at depth 130. Not with an error - with memory corruption. After it, the whole WebAssembly module was dead; I could not even open a fresh VM on it. Emscripten’s default stack is 64 KB, and a tree-walking interpreter spends several C++ frames per script frame. Adding -sSTACK_SIZE=8MB moved the safe depth past 1000 and turned overflow into a catchable error. Cost: the .wasm grew by three bytes. Then a worse one. If a host function throws, the exception unwinds through the interpreter’s frames without restoring the stack pointer, and that space never comes back. I measured the drift: 5,000 escaping exceptions took the safe depth from 1000 to 937. At 50,000 the module died. Fix: never let an exception cross the boundary - catch it in the bridge. THE THIRD HOST Then JNI, and the language went into a Minecraft server. Same C header, a different bridge, and the design copied deliberately: numbers in the array, strings in the channel beside it. The plugin is a custom enchanting table. Sixteen enchants, seven rarity tiers, slot limits per rarity, conflicts, an XP cost curve, and the block of text drawn on the item - all of it in one .rai file. The Java side is two classes that do not contain a single enchant name. Stats are written into the schema my existing combat plugin already reads, so enchants change real damage without one line changing in the plugins that were already there. Because there is no compile step, /rai reload changes the rules while players are online. A live server found a bug I had not: NamespacedKey only accepts [a-z0-9/._-] and my enchant ids are camelCase. The bridge’s catch turned what would have been a crash into a log line, and the log line named the key. THE SAME BUG THREE TIMES Native: depth 1000, then a silent death, exit code 127. WebAssembly: 130, then corruption. JVM: 500, then the whole server dies with no Java exception and no crash log. One cause - I recurse on the native stack and never count the depth. Three hosts made it obvious in a way one host never would have. That counter is next. ON THE AI SPLIT The core is mine: lexer, parser, resolver, interpreter, REPL, C API, the string channel. AI has not touched src/ and I checked the history before writing this. The host bindings and the demos are AI-written from my designs - the browser binding, the JNI bridge, and three demo apps. Logged hours are my editor time only.
Seven bugs, and the ones that were never reachable Last devlog promised a depth counter for the crash that hit all three hosts. I built it, then kept reading instead of building, and the audit found six more. THE COUNTER A script that recurses too deep does not raise an error. It kills the process. On a Minecraft server that means every player drops and the log has not one line about it - no Java exception, no hs_err file, exit code 127. The tempting fix is a bigger stack, but that only moves the wall: with -Xss16m the JVM dies at ~5000 frames instead of ~500, the same way. So the interpreter counts instead. Every script call goes through one function, and past the limit it raises an ordinary Error - catchable with try/catch, readable through rs_last_error. Picking the number mattered more than writing it. My notes said “4000”, my measurements said that was useless: native and wasm hit the wall near 1000 frames, a default JVM thread at ~500, because each script frame costs about 1.7 KB of native stack. A limit above the wall protects nobody. So: 800, and the JNI bridge drops it to 400 because it knows what stack it stands on. The counter also has to be restored no matter HOW a call exits - return, return signal, or exception. My restore lines covered two of those three paths; a destructor covers all three and cannot be forgotten. A CRASH ANY SCRIPT COULD TRIGGER "a,b".split(5) That was enough to kill the host. split assumed its argument was a string, dereferenced a checked cast without checking it, and got a null pointer. Eight builtins had the same line copied into them. In a standalone language that is a segfault. In an embedded one, any script author can take down the server with a typo. It is now a type error naming the method. OPERATORS THAT WERE NEVER REACHABLE The lexer produced tokens for & | ^ « ». The interpreter had the arithmetic for all five. Every test passed. But no rule in the parser ever read those tokens, so “flags & 4” got “expression expected, found ‘&’”, and the code in the other two layers had never once run. Three layers agreeing on a feature is not the same as three layers connected by it. The fix was four precedence levels, ordered like Python and C - no new keywords, so the language stays at 29 of 30. THE SMALL ONES throw Error(“amount missing”) reached the host as “”: the CLI path pulled out the message field, the embedding path did not. 2 ** 64 wrapped silently to 0. 1 « 64 was undefined behaviour - on x86 the CPU takes the shift count modulo 64, so it quietly evaluates to 1. And an exception thrown from a single-expression lambda left the interpreter in the lambda’s scope, so the catch block ran against the wrong variables. WHERE IT STANDS The C API suite is 20 checks now, five written for these bugs; the wasm suite 7; 11 examples still run; zero warnings. The guard is verified on native, wasm and JNI separately, and in each one the process was still alive after the limit was hit. Three problems stay open, in the README rather than hidden: an exception escaping a host function leaks stack, string += is quadratic, and a script returning a string to rs_call still yields 0. ON THE AI SPLIT This changes what I said last time, so I am saying it plainly. Until now AI had not touched src/. This round it did: I asked it to audit the interpreter and fix what it found, and the C++ in these seven fixes is AI-written from that audit. The language itself - lexer, parser, resolver, interpreter, REPL, C API, string channel - is still my design and was written by me. Host bindings and demo apps were already AI-written from my designs, as I said last devlog. Logged hours are my editor time only.
The loop that fixes the language is written in the language Since the last devlog the work split in two: a development loop that RaidenScript now drives itself, and a repository that finally stopped mixing the language with a game server. selfdev - the decision logic is a .rai file tools/selfdev.rai holds the loop’s rules: pick an area nobody touched last round, run the build, read the log, call the pass green or red, append its own entry to a round journal. Under it sits tools/rsdev.cpp, a sys.* host built on the same C API the browser game and the Minecraft plugin already use. The language had three hosts. The fourth one is its own toolchain. Pass 2 taught it what not to trust. tools/selfdev-build.cmd reported EXIT=0 for a run that failed to link. The cause is not in the language at all: exit /b inside a ( … ) » log 2>&1 block does not end a .cmd script, so control falls through to the final exit /b 0. A loop whose whole contract is “exit 0 means green” can commit on red - and it did once, on stale .o files. The rule now is read the log, not the exit code, and it is written in capitals at the top of SELFDEV-NOTES.md because I expect to forget it. What the passes actually fixed String building was quadratic. At 60,000 pieces: s += x took 1879 ms, s = s + x took 2382 ms, against a list.push + join baseline of 54 ms - 35x and 44x. Strings stay immutable (SPEC section 2), the fix is ownership: when the slot is the only owner, append in place. Both forms now run in about 25 ms. The indexed form d[k] += x was a separate code path and stayed quadratic after the first fix, so it took a second pass to catch. The measurement size was part of the test. At 24,000 pieces the s = s + x check passed green: 288 KB fits in L2 and quadratic copying looks cheap in cache. At 60,000 (720 KB) both went red. f-strings could not hold a quoted string inside an interpolation, although SPEC 9/3 said they could. f”{sys.read(“a.txt”)}” was a syntax error. The spec was right and the parser was wrong. A blank line in a CRLF file closed a block early. The lone \r counted as content - the kind of bug that only shows up on someone else’s machine. Two C API bugs: rs_call could return an empty error message, and a nested rs_call corrupted the string channel of the outer primitive. The JVM bridge silently collapsed an int-returning host primitive to 0. Silent zeros are the worst class: the plugin keeps running and the numbers are simply wrong. 68 C API checks green, zero compiler warnings, sanitizer run clean. 29 keywords, still capped at 30. No C API signature changed. The branch split 227 commits had piled up unpushed and 216 of them were the Minecraft plugin demo. I reset main to origin, cherry-picked only the 13 language and tooling commits, and left the rest on its own branch. main is the language. Nothing else goes there. Most of the time logged on this project since the last devlog went into that plugin demo - the JVM binding exercised against a real server - and that branch is not on GitHub yet. The language fixes above came out of the unattended loop.I read every pass and hand-picked what entered main. The design, the spec and the original src/ are mine. Logged hours are my editor time only.
RaidenScript: the cover is a program, not a picture I gave the project a red and black cover, and I did it without opening an image editor. The cover generator is a RaidenScript program that prints a plain PPM to stdout, so I changed the palette in the script and ran it again: three radial glows, a faint grid, a vertical gradient on the bolt, and a 5x7 bitmap font that is data inside the file, not a system font. It computes 315,000 pixels in 43 seconds. That is my tree-walking interpreter doing arithmetic in a while loop, with no graphics library in the program and none in the language. My first render was wrong and I had to say so. The old cover put a turquoise bolt on a violet field, so the contrast came from hue. In red on red there is no hue left to lean on, and the bolt sank into the background. I cut the background glow to a third and pushed the bolt to a near-white core, so the contrast now comes from brightness. I cleaned the repository behind it. My README still linked to SPEC.md and WORKLOG.md after I deleted them, so anyone cloning it hit two dead links on the front page. I removed those links and rewrote the root README and two demo READMEs without tables. Why did I do it like this? Because a cover drawn in an image editor says nothing about my language, and a cover computed by it is the smallest honest benchmark I own. If the language cannot fill 315,000 pixels, I want to know that before someone else finds out. Because 43 seconds is a real number and I am not hiding it. It is fine for a cover I render once, and it is exactly why a bytecode VM sits on my roadmap instead of being marked done. Because a README that points at files I deleted is a promise I broke to whoever clones the repo, and that is the first thing a reviewer sees.
Ships:
RaidenScript v0.1 — an embeddable scripting language written from scratch in C++20. WHAT IT IS A small language (29 keywords) with Python’s readability and JavaScript’s runtime model, built to go inside another program and make it scriptable. The same interpreter runs in three hosts, and each one has a working demo in the repo: Terminal — native binary, “rai program.rai”, plus a REPL Browser — C API compiled to WebAssembly, running an animated store page JVM — C API through JNI, running a Paper Minecraft plugin The demo link is my shipped game STAR BREAKER: one of its weapons is not defined in the game at all, it is a RaidenScript file the game loads and runs through the WebAssembly build. WHAT IS IN IT Lexer, parser, resolver, tree-walking interpreter and REPL, all hand-written; no parser generator, no dependencies. 16 example programs that double as the regression suite, 20 C API checks, 7 WebAssembly checks, zero compiler warnings. A recursion-depth guard so a runaway script raises a catchable error instead of killing the host process — verified separately on native, wasm and the JVM. The cover image was computed pixel by pixel by a RaidenScript program (demo/kapak/kapak-ascii.rai) — no graphics library, in the program or in the language. HOW TO TRY IT git clone, then “make” (w64devkit/MinGW on Windows, gcc elsewhere), then “rai examples/01-temeller.rai”, or just “rai” for the REPL. The README is a full manual: language guide, standard library, embedding walkthrough. Known limits are written down there rather than hidden: an exception escaping a host function leaks stack, string += is quadratic, and a script returning a string to rs_call still yields 0. AI SPLIT The design of the language and its core — lexer, parser, resolver, interpreter, REPL, C API, string channel — is mine and was written by me. The host bindings, the demo apps, and this week’s seven interpreter bug fixes are AI-written from my designs and my audit. Logged hours are my editor time only. Source (MIT): github.com/RaidenTechnology/raidenscript
RaidenScript v0.2 Update I wrote RaidenScript (RS) from scratch in C++20 as a small embeddable scripting language. In Ship #1 I had it running in three hosts. Since then I gave it a browser you can try it in, and I turned the Minecraft host into a real game running on a live server. I put the language in a browser. I compiled the C API to WebAssembly, served it from GitHub Pages, and wrote an editor with a Run button and four example programs: raidentechnology.github.io/raidenscript. I send nothing to a server; the page is the interpreter. I stopped treating the Minecraft host as a demo. I wrote 144 commits on it since the last devlog, and I keep the rules out of Java entirely: they sit in one .rai file the server loads at boot and reloads while players are online. I wrote a whole farming layer as script rules. Every crop got its own tool with its own level and rarity ladder, and I added tool enchants, XP bottles, an upgrade bench, and a 20 minute contest with medals and a shop of its own. I added pests. Twelve species, a spawn engine I tied to whatever crop is planted, a five-tier vacuum to kill them with, and a loot table I hooked into the same farming-luck stat every other system reads. I built a garden around it: 8 plots, a regeneration engine that rebuilds 13 farm patterns, 76 visitor NPCs I gave 53 signed skins, and a copper economy I priced off the live Bazaar API instead of numbers I made up. I added one host primitive, taslakModel, and let the script choose the model an item wears. Adding an item is now a script edit and nothing else. I fixed three bugs the live server found and no test of mine would have. An item-identity gate was cancelling every right click unconditionally, so the grappling hook silently never fired. The area hoe was catching its own synthetic event and moving the stack twice. And one wrong price in a shop table was failing the entire script at boot. Why did I do it like this? Because I think a language is judged by what runs on it, not by its grammar. The strongest thing I can say about my embedding API is that a 10,000 line ruleset runs on it every night, on a real server, with real players. Because I lose reviewers at the install wall. For Ship #1 I asked people to clone a repo and build it with MinGW. Now I ask for one click, and I am handing them the same interpreter, not a simplified twin. Because every rule I move out of Java is a rule I can change without a restart. I left no compile step in the script layer, so /rai reload changes the balance of a live game between two swings of a sword. Because item models were the last thing still forcing me into Java. I closed that hole, and I now keep the Java side as infrastructure only: it knows how to talk to the server and nothing about what the game is. Because I wanted the contest, the pests and the visitor queue to stress the C boundary. I pass numbers in the array and let strings travel beside it, and not one of these systems made me widen that contract. Because a bug a player hits at 2 AM is worth more to me than a bug I find in my own suite. All three above came from the server. Source (MIT): github.com/RaidenTechnology/raidenscript...
|
1792961517.011422
|
1793047917.011422
|
|
32
|
Terrain Simulator by @Shuflduf | Stardance
|
Shuflduf
|
1
|
21.0
|
230
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T20:18:17Z", "hours": 21.0, "multiplier": 11.51, "payout": 230, "blessing": "neutral", "text": "I made a terrain generator and renderer. It uses the WebGPU standard through the wgpu library for Rust for rendering, and uses a bunch of stacked perlin noise for the generation. Works on EVERY platform (including web) since Rust is just that sigma. Hardest part was learning wgpu in the first place, but the docs had a REALLY good guide/tutorial thing I followed, and a lot of my code is based off of it, including everything needed to get it to work in web. If I were to work on this project more, I’d optimize it a bit more so it’d run better, like 500fps on web somehow or smth. Or to add LODs or smth.", "repo": "https://github.com/Shuflduf/Terrain-Simulator", "demo": "https://shuflduf.github.io/Terrain-Simulator/"}]...
|
[{"post_id": 5859, "ts": "2026 [{"post_id": 5859, "ts": "2026-06-09T20:09:51Z", "hours": 1.7136, "text": "final polishes, random seed on every load, small changes like that MORE IMPORTANTLY setup a github action that auto builds for EVERY SINGLE PLATFORM, PUSHES TO CRATES.IO, AND DEPLOYS TO GITHUB PAGES https://shuflduf.github.io/Terrain-Simulator/"}, {"post_id": 5668, "ts": "2026-06-09T15:27:02Z", "hours": 2.4275, "text": "lots and lots of little optimizations and QOL things the project is basically done already. heap allocated some stuff that really shouldnt be on the stack made the textures actually tile each other instead of having harsh borders vsync toggle text rendering for overlay (using glyphon) Q and E for camera controls etc etc cant upload video because sd crashes every time i try to"}, {"post_id": 4939, "ts": "2026-06-08T15:41:41Z", "hours": 0.7283, "text": "frustum culling ! now chunks that you cant see arent rendered. i actually have no idea if its working or not because if the chunks are behind me then i cant see tham get culled anyways"}, {"post_id": 4710, "ts": "2026-06-08T04:11:07Z", "hours": 0.7336, "text": "procedural chunk loading so YOU CAN FLY FOREVER"}, {"post_id": 4690, "ts": "2026-06-08T03:25:47Z", "hours": 0.6975, "text": "SKYBOXXXXX i have a massive physics test tmw and my diploma is in 5 days ANYWAYS its cool because it draws over the water that draws over nothing, so when you go below the map you dont see the water plane since the skybox draws over it its so cool"}, {"post_id": 4679, "ts": "2026-06-08T02:37:08Z", "hours": 0.4097, "text": "ANIMATED WATERR!!!"}, {"post_id": 4667, "ts": "2026-06-08T02:09:50Z", "hours": 0.8589, "text": "WATER!!!!!!!!!!!!!!!!! IM PROCRASTINATING SCHOOL SO HARD RIGHT NOW!!!!!!!!! BUT IT LOOOKS SOOOO GOOOOOOD!!!!!!!!!!"}, {"post_id": 4641, "ts": "2026-06-08T01:17:27Z", "hours": 1.4264, "text": "FINALLY different textures depending on height right now theres 4, going from sand, grass, stone (mountain) to snow. and they all have their various blend thesrholds and widths and its so sigma next step is adding like water or smth"}, {"post_id": 3780, "ts": "2026-06-06T20:38:24Z", "hours": 0.6803, "text": "improve terrain generation, minor refactors, etc etc This is a video of me flying around the terrain while Chris Christodoulou’s “…con lentitud poderosa” from Risk of Rain 2 plays in it’s entirety."}, {"post_id": 3338, "ts": "2026-06-06T06:57:24Z", "hours": 0.2514, "text": "depth buffer was so light 15 minutes like holy the docs are just that good and wgpu is just that good code is becoming a mess tho might refactor that soon (again) it doesnt look very impressive but like the hills IN THE FRONT are IN FRONT of the hills IN THE BACK"}, {"post_id": 3330, "ts": "2026-06-06T06:34:33Z", "hours": 0.3664, "text": "lfkdslfsd vsync without vsync my laptop just renders so many frames and cpu usage spikes to 10% on idle like wtf with vsync it goes to a much more reasonable 2% also grass texture next step is to add a depth buffer because as you can see some chunks are clipping in front of chunks that are in front of them"}, {"post_id": 3313, "ts": "2026-06-06T05:35:42Z", "hours": 0.8303, "text": "big refactoring made it so the assets (textures and shaders) are basically created (not really) at compile time, so i can reference them using just their name (ex: “frog”) instead of the relative path from the file its being referenced in (ex: “../../assets/images/frog.png”) AND it lets me make sure the file exists at compile time AND it makes sure the final binary is completely standalone (i think)"}, {"post_id": 2798, "ts": "2026-06-05T16:45:06Z", "hours": 1.9056, "text": "implementing terrain now! the code is good now i think"}, {"post_id": 2444, "ts": "2026-06-04T22:50:18Z", "hours": 1.2917, "text": "camera system was lowk ass so i fixed it planning to add Q and E to move up and down relative to camera"}, {"post_id": 2269, "ts": "2026-06-04T17:42:13Z", "hours": 1.4847, "text": "so so so much refactoring i still don’t think its organized enough but i got the camera to work so thats cool"}, {"post_id": 1950, "ts": "2026-06-04T06:18:11Z", "hours": 1.555, "text": "Mostly just refactoring. I still have almost no idea how wgpu works, but at least everything is organized! One of the benefits of Factorio is knowing when something should be it’s own module that other parts of the program can interact with. Instead of having a massive main.rs, i split it up into like 4 different modules, the biggest ones being GpuContext, which handles setting up the wgpu backend stuff, Renderer, which renders stuff through wgpu, and Application, which handles the window management stuff."}, {"post_id": 1805, "ts": "2026-06-04T00:57:33Z", "hours": 1.8222, "text": "Shapes and stuff! I’m actually making draw calls with like shader info or smth. Buffers are weird I still don’t get them. I got the famous triangle thing and textures both working (not at the same time). The code is a mess that I no longer understand, and the docs I’ve been relying so much on are outdated for the latest version of wgpu, so that was painful (thank goodness for rust-analyzer). Next steps are to organize the codebase so that I don’t have a massive 433 line main.rs and to properly understand uniforms and buffers and layouts and primitives and bind groups and views and queues and attachments and"}, {"post_id": 1570, "ts": "2026-06-03T17:45:56Z", "hours": 0.7056, "text": "Continuing to follow the docs I’m now sending render passes to the window, which basically draws to the screen. Right now it just clears the screen with a certain color. Next step would be shaders I think, so I can get a triangle soon"}, {"post_id": 1546, "ts": "2026-06-03T16:58:54Z", "hours": 0.8783, "text": "First time using wgpu so I followed the docs to get started with it. So far I have a single window through winit, which should work cross platform on native. Might add web support later. Next step is getting something on the screen."}]...
|
Title: Terrain Simulator by @Shuflduf | Stardance
Title: Terrain Simulator by @Shuflduf | Stardance
Devlogs:
First time using wgpu so I followed the docs to get started with it. So far I have a single window through winit, which should work cross platform on native. Might add web support later. Next step is getting something on the screen.
Continuing to follow the docs I’m now sending render passes to the window, which basically draws to the screen. Right now it just clears the screen with a certain color. Next step would be shaders I think, so I can get a triangle soon
Shapes and stuff! I’m actually making draw calls with like shader info or smth. Buffers are weird I still don’t get them. I got the famous triangle thing and textures both working (not at the same time). The code is a mess that I no longer understand, and the docs I’ve been relying so much on are outdated for the latest version of wgpu, so that was painful (thank goodness for rust-analyzer). Next steps are to organize the codebase so that I don’t have a massive 433 line main.rs and to properly understand uniforms and buffers and layouts and primitives and bind groups and views and queues and attachments and
Mostly just refactoring. I still have almost no idea how wgpu works, but at least everything is organized! One of the benefits of Factorio is knowing when something should be it’s own module that other parts of the program can interact with. Instead of having a massive main.rs, i split it up into like 4 different modules, the biggest ones being GpuContext, which handles setting up the wgpu backend stuff, Renderer, which renders stuff through wgpu, and Application, which handles the window management stuff.
so so so much refactoring i still don’t think its organized enough but i got the camera to work so thats cool
camera system was lowk ass so i fixed it planning to add Q and E to move up and down relative to camera
implementing terrain now! the code is good now i think
big refactoring made it so the assets (textures and shaders) are basically created (not really) at compile time, so i can reference them using just their name (ex: “frog”) instead of the relative path from the file its being referenced in (ex: “../../assets/images/frog.png”) AND it lets me make sure the file exists at compile time AND it makes sure the final binary is completely standalone (i think)
lfkdslfsd vsync without vsync my laptop just renders so many frames and cpu usage spikes to 10% on idle like wtf with vsync it goes to a much more reasonable 2% also grass texture next step is to add a depth buffer because as you can see some chunks are clipping in front of chunks that are in front of them
depth buffer was so light 15 minutes like holy the docs are just that good and wgpu is just that good code is becoming a mess tho might refactor that soon (again) it doesnt look very impressive but like the hills IN THE FRONT are IN FRONT of the hills IN THE BACK
improve terrain generation, minor refactors, etc etc This is a video of me flying around the terrain while Chris Christodoulou’s “…con lentitud poderosa” from Risk of Rain 2 plays in it’s entirety.
FINALLY different textures depending on height right now theres 4, going from sand, grass, stone (mountain) to snow. and they all have their various blend thesrholds and widths and its so sigma next step is adding like water or smth
WATER!!!!!!!!!!!!!!!!! IM PROCRASTINATING SCHOOL SO HARD RIGHT NOW!!!!!!!!! BUT IT LOOOKS SOOOO GOOOOOOD!!!!!!!!!!
ANIMATED WATERR!!!
SKYBOXXXXX i have a massive physics test tmw and my diploma is in 5 days ANYWAYS its cool because it draws over the water that draws over nothing, so when you go below the map you dont see the water plane since the skybox draws over it its so cool
procedural chunk loading so YOU CAN FLY FOREVER
frustum culling ! now chunks that you cant see arent rendered. i actually have no idea if its working or not because if the chunks are behind me then i cant see tham get culled anyways
lots and lots of little optimizations and QOL things the project is basically done already. heap allocated some stuff that really shouldnt be on the stack made the textures actually tile each other instead of having harsh borders vsync toggle text rendering for overlay (using glyphon) Q and E for camera controls etc etc cant upload video because sd crashes every time i try to
final polishes, random seed on every load, small changes like that MORE IMPORTANTLY setup a github action that auto builds for EVERY SINGLE PLATFORM, PUSHES TO CRATES.IO, AND DEPLOYS TO GITHUB PAGES https://shuflduf.github.io/Terrain-Simulator/
Ships:
I made a terrain generator and renderer. It uses the WebGPU standard through the wgpu library for Rust for rendering, and uses a bunch of stacked perlin noise for the generation. Works on EVERY platform (including web) since Rust is just that sigma. Hardest part was learning wgpu in the first place, but the docs had a REALLY good guide/tutorial thing I followed, and a lot of my code is based off of it, including everything needed to get it to work in web. If I were to work on this project more, I’d optimize it a bit more so it’d run better, like 500fps on web somehow or smth. Or to add LODs or smth....
|
1792986921.1751928
|
1793073321.1751928
|
|
3706
|
FlightTracker by @evanssidhu | Stardance
|
evanssidhu
|
1
|
15.0
|
229
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T19:29:30Z", "hours": 15.0, "multiplier": 15.52, "payout": 229, "blessing": "neutral", "text": "FlightTracker I made a simple flight tracker map which has live updates and can be used to track any current flight. I made this because I always found flight trackers/radar was really cool and thought it would be a fun thing to implement with the abundance of community powered ads-b data availible. Some of the more interesting stuff I found was creating the additional map layers such as weather and fir zones using wms layers and geojson, and some of the more annoying stuff was things needing to be migrated after production due to cors errors only allowing them to work on localhost. Anyways, here are some features of the site, more info can be found on the readme page. Features Multiple Basemaps (Light, Dark, Satelite) Multiple Layers (Day/Night Line, Weather Radar, Airport Locations, ATC/FIR Zones) Location Search: Instantly go to a location using the searchbar Flight Search: Search any flight name to be redirected to where that flight currently is on the map Flight Info: Click any flight to get the flight information and lock its position to the center of the map, useful for following flights. Live Updates: Frequent refresh rates (every 3s) A demo video can be found on the readme page or at the url https://github.com/user-attachments/assets/2dd5e957-08d2-43c8-9b97-e49be07dbb22", "repo": "https://github.com/es1228/FlightTracker", "demo": "https://es1228.github.io/FlightTracker/"}]...
|
[{"post_id": 40903, "ts": "202 [{"post_id": 40903, "ts": "2026-08-04T18:41:28Z", "hours": 1.8239, "text": "Devlog 6 Finished a little bit of polishing and cleanup, the site is now live and I think version 1 is ready to be shipped. Features Added Migration to Airplanes.Live I’ve migrated again from adsb.fi to airplanes.live due to numerous cors/proxy issues that adsb.fi has. Luckily they share the same response structure so it was really simple to migrate. Tracking Mode You can now click a flight on the map to lock its position to the center of the screen, which is useful for live tracking the position of flights. Polishing Made a couple polishing changes to map icons/tooltips. Also published a live demo to github pages."}, {"post_id": 40487, "ts": "2026-08-04T01:38:16Z", "hours": 8.7281, "text": "Devlog 5 This is a combination of previous work from a while ago and new work I just did, so please excuse the lengthy devlog time. I decided to return to working on this project, and made a few changes. First, I migrated the api provider from airlabs to adsb.fi. I also used adsbdb for route info (departure and arrival). New features include location/flight search, which I will outline below. Features API Migrations Data sources have been migrated from airlabs to adsb.fi and adsbdb, and as a result, this increases the maximum calls from around 1000 calls per month to 1 call per second, however the region is limited to a 250 nm radius. I have also migrated away from using a python render script, so now the page will not take 1 minute to load and lag the entire pc. Airports Airport pins are now visible on the map and can be toggled alongside weather, night, and fir zones. Location Search You can now search directly for a location using the searchbar, which should help now that area is limited. You can also just choose to pick your current location. Flight Search You can now directly enter flight numbers/callsigns and be pointed straight to where said flight is on the map, no matter whether or not it is in the 250 nm radius."}, {"post_id": 5372, "ts": "2026-06-09T03:40:39Z", "hours": 1.4528, "text": "Devlog 4 Message Today I worked on creating the backend for the website. Honestly it took a while finding the right api as many turned out to block foreign access through Render. I did eventually land on using AirLabs as the api provider, and so far it works pretty well and I even got aircraft plotted on the map with the correct rotation angle. Progress Added backend for live flight information fetch Started plotting aircraft on map. Next Steps Refine Tooltips and Flight Information/Icons Add map refreshing in respect to api limits Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) Add flights to map Add flight information (In Progress) Add airport information (departures, arrivals, etc.,)"}, {"post_id": 4498, "ts": "2026-06-07T20:36:17Z", "hours": 0.6319, "text": "Devlog 3 Progress Added ATC/FIR boundaries as toggleable option Next Steps Look into adding flights to map Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) Add flights to map Add flight information Add airport information (departures, arrivals, etc.,)"}, {"post_id": 3859, "ts": "2026-06-06T22:39:05Z", "hours": 1.5906, "text": "Devlog 2 Progress Added new basemaps for satelite/hybrid, light theme, and dark theme Added Day/Night line and Weather Radar Next Steps Add ATC Boundaries Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) (In Progress) Add flights to map Add flight information Add airport information (departures, arrivals, etc.,)"}, {"post_id": 3747, "ts": "2026-06-06T19:51:39Z", "hours": 0.5083, "text": "Devlog 1 Progress Setup React + Vite + Tailwind Added in Leaflet Basemap Next Steps Add more basemaps/layers Research flight-tracking APIs Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) Add flights to map Add flight information Add airport information (departures, arrivals, etc.,)"}]...
|
Title: FlightTracker by @evanssidhu | Stardance
D Title: FlightTracker by @evanssidhu | Stardance
Devlogs:
Devlog 1 Progress Setup React + Vite + Tailwind Added in Leaflet Basemap Next Steps Add more basemaps/layers Research flight-tracking APIs Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) Add flights to map Add flight information Add airport information (departures, arrivals, etc.,)
Devlog 2 Progress Added new basemaps for satelite/hybrid, light theme, and dark theme Added Day/Night line and Weather Radar Next Steps Add ATC Boundaries Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) (In Progress) Add flights to map Add flight information Add airport information (departures, arrivals, etc.,)
Devlog 3 Progress Added ATC/FIR boundaries as toggleable option Next Steps Look into adding flights to map Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) Add flights to map Add flight information Add airport information (departures, arrivals, etc.,)
Devlog 4 Message Today I worked on creating the backend for the website. Honestly it took a while finding the right api as many turned out to block foreign access through Render. I did eventually land on using AirLabs as the api provider, and so far it works pretty well and I even got aircraft plotted on the map with the correct rotation angle. Progress Added backend for live flight information fetch Started plotting aircraft on map. Next Steps Refine Tooltips and Flight Information/Icons Add map refreshing in respect to api limits Tasks (Tentative) Site Setup Implement Leaflet Add more basemaps Add layers (weather, radar boundaries, etc.,) Add flights to map Add flight information (In Progress) Add airport information (departures, arrivals, etc.,)
Devlog 5 This is a combination of previous work from a while ago and new work I just did, so please excuse the lengthy devlog time. I decided to return to working on this project, and made a few changes. First, I migrated the api provider from airlabs to adsb.fi. I also used adsbdb for route info (departure and arrival). New features include location/flight search, which I will outline below. Features API Migrations Data sources have been migrated from airlabs to adsb.fi and adsbdb, and as a result, this increases the maximum calls from around 1000 calls per month to 1 call per second, however the region is limited to a 250 nm radius. I have also migrated away from using a python render script, so now the page will not take 1 minute to load and lag the entire pc. Airports Airport pins are now visible on the map and can be toggled alongside weather, night, and fir zones. Location Search You can now search directly for a location using the searchbar, which should help now that area is limited. You can also just choose to pick your current location. Flight Search You can now directly enter flight numbers/callsigns and be pointed straight to where said flight is on the map, no matter whether or not it is in the 250 nm radius.
Devlog 6 Finished a little bit of polishing and cleanup, the site is now live and I think version 1 is ready to be shipped. Features Added Migration to Airplanes.Live I’ve migrated again from adsb.fi to airplanes.live due to numerous cors/proxy issues that adsb.fi has. Luckily they share the same response structure so it was really simple to migrate. Tracking Mode You can now click a flight on the map to lock its position to the center of the screen, which is useful for live tracking the position of flights. Polishing Made a couple polishing changes to map icons/tooltips. Also published a live demo to github pages.
Ships:
FlightTracker I made a simple flight tracker map which has live updates and can be used to track any current flight. I made this because I always found flight trackers/radar was really cool and thought it would be a fun thing to implement with the abundance of community powered ads-b data availible. Some of the more interesting stuff I found was creating the additional map layers such as weather and fir zones using wms layers and geojson, and some of the more annoying stuff was things needing to be migrated after production due to cors errors only allowing them to work on localhost. Anyways, here are some features of the site, more info can be found on the readme page. Features Multiple Basemaps (Light, Dark, Satelite) Multiple Layers (Day/Night Line, Weather Radar, Airport Locations, ATC/FIR Zones) Location Search: Instantly go to a location using the searchbar Flight Search: Search any flight name to be redirected to where that flight currently is on the map Flight Info: Click any flight to get the flight information and lock its position to the center of the map, useful for following flights. Live Updates: Frequent refresh rates (every 3s) A demo video can be found on the readme page or at the url https://github.com/user-attachments/assets/2dd5e957-08d2-43c8-9b97-e49be07dbb22...
|
1793001082.9904258
|
1793087482.9904258
|
|
20071
|
lunchtime! by @sleepymeep | Stardance
|
sleepymeep
|
1
|
12.0
|
229
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T01:08:40Z", "hours": 12.0, "multiplier": 19.2, "payout": 229, "blessing": "neutral", "text": "Welcome to lunchtime, a game made for the summer 2026 Girls Got Game Jam, which was my second game jam! It’s a visual novel made with the ren’py engine, and it’s available to play on itch.io. This was my first time working on a project with this short of a timespan (one week, vs my first game jam with a span of one month), as well as my first time using ren’py, so I learned a lot about both this engine as well as what the development process looks like under a time crunch. :D", "repo": "https://github.com/ayesha-h3/lunchtime", "demo": "https://sleepymeep.itch.io/lunchtime"}]...
|
[{"post_id": 14786, "ts": "202 [{"post_id": 14786, "ts": "2026-06-24T00:53:16Z", "hours": 3.7064, "text": "deadline got slightly extended, which means i was able to make some slight tweaks to make everything run more smoothly! first, i added some music in (all assets from pixabay). then, we merged both the story and gui edits (by @kjoy116 ) onto the main branch so that most of the game was running smoothly. i had some issues with backgrounds not filling in the whole screen which i thought was an issue with my canvas size, but i figured it might be worth it to play around with ren’py to see if there was a fix. i referenced the transform commands in ren’py’s documentation since that’s where some similar problems online pointed me towards, so it ended up being a pretty easy fix! lastly, i worked on making the itch.io page look presentable (which was pretty quick, around half an hour)! the game is live on itch.io now, so that’s exciting!"}, {"post_id": 13970, "ts": "2026-06-22T22:36:04Z", "hours": 4.5897, "text": "game jam ends in seven hours sob. i drew nine backgrounds (quite challenging as a non-artist) and learned….how to draw crystals! i wrote four new scenes (and rewrote them…and rewrote them…) and worked on making the story flow a little bit more smoothly, both writing-wise and display-wise. i learned how to apply transforms and transitions, and started putting them in throughout the game!"}, {"post_id": 12158, "ts": "2026-06-19T21:20:48Z", "hours": 1.9408, "text": "day 3/4: wrote a LOT more of the story, including mapping out 5 endings! our team artist made some more amazing character designs like this one below :) (name tbd) which i’ve started importing. my next few goals are to: add in backgrounds and the rest of the characters, attach variables to every decision so that they all impact which ending you get to varying extents, and making the gui look nicer through adding new fonts, colors, and custom text boxes!"}, {"post_id": 11395, "ts": "2026-06-18T17:31:19Z", "hours": 1.7119, "text": "day 1/2: learning ren’py and planning out a story! it actually ended up being way easier than I was expecting to get the hang of ren’py since it’s basically just python, so it looks like the majority of the effort for this project is going to be going towards story writing. got the opening scene done after a bit of rewriting to make it flow better, and we have a draft of the general story. the theme for the game jam is “the void,” so the way we’ve decided to incorporate this is that you have to fight a void-like entity that sucks the life out of everything she touches, while making new friends (or killing them, it’s up to you) along the way."}]...
|
Title: lunchtime! by @sleepymeep | Stardance
Devl Title: lunchtime! by @sleepymeep | Stardance
Devlogs:
day 1/2: learning ren’py and planning out a story! it actually ended up being way easier than I was expecting to get the hang of ren’py since it’s basically just python, so it looks like the majority of the effort for this project is going to be going towards story writing. got the opening scene done after a bit of rewriting to make it flow better, and we have a draft of the general story. the theme for the game jam is “the void,” so the way we’ve decided to incorporate this is that you have to fight a void-like entity that sucks the life out of everything she touches, while making new friends (or killing them, it’s up to you) along the way.
day 3/4: wrote a LOT more of the story, including mapping out 5 endings! our team artist made some more amazing character designs like this one below :) (name tbd) which i’ve started importing. my next few goals are to: add in backgrounds and the rest of the characters, attach variables to every decision so that they all impact which ending you get to varying extents, and making the gui look nicer through adding new fonts, colors, and custom text boxes!
game jam ends in seven hours sob. i drew nine backgrounds (quite challenging as a non-artist) and learned….how to draw crystals! i wrote four new scenes (and rewrote them…and rewrote them…) and worked on making the story flow a little bit more smoothly, both writing-wise and display-wise. i learned how to apply transforms and transitions, and started putting them in throughout the game!
deadline got slightly extended, which means i was able to make some slight tweaks to make everything run more smoothly! first, i added some music in (all assets from pixabay). then, we merged both the story and gui edits (by @kjoy116 ) onto the main branch so that most of the game was running smoothly. i had some issues with backgrounds not filling in the whole screen which i thought was an issue with my canvas size, but i figured it might be worth it to play around with ren’py to see if there was a fix. i referenced the transform commands in ren’py’s documentation since that’s where some similar problems online pointed me towards, so it ended up being a pretty easy fix! lastly, i worked on making the itch.io page look presentable (which was pretty quick, around half an hour)! the game is live on itch.io now, so that’s exciting!
Ships:
Welcome to lunchtime, a game made for the summer 2026 Girls Got Game Jam, which was my second game jam! It’s a visual novel made with the ren’py engine, and it’s available to play on itch.io. This was my first time working on a project with this short of a timespan (one week, vs my first game jam with a span of one month), as well as my first time using ren’py, so I learned a lot about both this engine as well as what the development process looks like under a time crunch. :D...
|
1792990540.9812822
|
1793076940.9812822
|
|
52073
|
After Playlist by @Jolly_VFX | Stardance
|
Jolly_VFX
|
2
|
14.0
|
229
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T23:41:39Z", "hours": 7.0, "multiplier": 12.4, "payout": 107, "blessing": "neutral", "text": "After Playlist v5.0.0 BOOM! I’ve finally finished with my second ship for this project. Honestly I’ve had a blast making this and I hope everyone likes it! What did I make? I made a Adobe After Effects ScriptUI Panel that lets you control what music is playing through PowerShell and Windows Script Host. This all happens asynchronously so no need to worry about AE lagging, losing focus, or simply just crashing. It’s all handled outside. The project is designed to save those extra few seconds and to make sure that you never have to leave the editing “flow-state.” I also made another video! :D Major QoL improvements: Multiple guides: Majorly helps users install, troubleshoot, or even just figure out if they can run the script. Settings panel: Give more control and freedom over the script Error codes! I really should’ve added these earlier. They help the user troubleshoot more easily and figure out what’s wrong! Challenges I didn’t have too much difficulty this time tbh. I had to research quite I bit to figure out how to even make a settings panel which I tried to make before but failed HORRIBLY. I updated the UI which wasn’t too challenging at all. I suppose the biggest challenge was how tiring it was to make all those functions for the settings menu. Thanks for the feedback I got some AMAZING feedback from the previous ship and I made sure to address each of them. They mainly said to fix/update the UI and I did so. I do agree the previous UI wasn’t exactly… appealing. AI disclaimer I didn’t use as much AI as last ship. It was mainly just for ideas and I asked once why my settings menu wasn’t opening and I got some feedback from Manus which steered me in the right direction. I only copy and pasted a few times for the unicode symbols because I decided that symbols would look better and cleaner than text. Thanks to everyone at Hackclub for making Stardance. It really gave me a purpose (and i also needed motivation to learn coding lol).", "repo": "https://github.com/pi-vfx-aep/After-Playlist", "demo": "https://github.com/pi-vfx-aep/After-Playlist/releases/tag/v5.0"}, {"ship_num": 2, "ts": "2026-08-28T00:40:39Z", "hours": 7.0, "multiplier": 14.99, "payout": 122, "blessing": "neutral", "text": "After Playlist V4.0.0 for Windows 11 Time spent: ~7 hours (5h developing and 2h asset creation and video editing). Editors like myself often find themselves in a state known as the flow state. The flow state is a time where an editor is completely locked in and fully focused on editing. A major contributor to achieving this state is music. Music is what relaxes you and gets you focused at the same time. The Problem: The big issue is that flipping between Spotify or other media platforms can easily break the creative flow. I personally hate going back and forth between Adobe After Effects (AE) and Spotify just to pause a song or look at what the song is called. Standard AE scripts that aim to fix this problem usually end up making AE freeze. The Solution: After Playlist is a media controller that stays docked inside AE. It uses an Asynchronous architecture to communicate with Windows silently to make sure AE doesn’t keep freezing. The 4 Major QoL Improvements: A non-blocking asynchronous engine: It uses a small little hidden VBScript/Powershell bridge to keep AE responsive (errors can occur!) A live now-playing section: Every 6 seconds the artist name and song name is fetched through background polling. It uses a marquee scrolling effect for long names. Spotify launcher and media controls: The main part is the media controls (Play/pause, next, previous, volume up/down, and mute. It also has a button to launch Spotify incase you haven’t already :D Diagnostics test: The button near the button runs a test to make sure the script will work (Can be inaccurate). Challenges: As I’ve mentioned in a previous devlog and the Github README, I had a hard time figuring out how to even make this work. Some deep researching led me to PowerShell and VBScript. Another challenge was not much a challenge and rather an annoying bug that would register multiple clicks at once causing either AE to crash or the script to not work. AI Disclaimer: Manus and Claude were used quite a bit for pointing out errors that I missed and they also helped come up with ideas to add to the script. The name was based off a ChatGPT suggestion lol. Technical details: Language used: Adobe ExtendScript (Based on ECMAScript) Code editor used: VS Code Software used for testing: Adobe After Effects 2025. Hope people use this! Have an absolutely spectacular day!", "repo": "https://github.com/pi-vfx-aep/After-Playlist", "demo": "https://github.com/pi-vfx-aep/After-Playlist/releases/tag/v5.0"}]...
|
[{"post_id": 71501, "ts": "202 [{"post_id": 71501, "ts": "2026-09-20T22:54:34Z", "hours": 1.8772, "text": "I’m Finally Done (Hopefully) I decided to make a little “Minimum System Requirements” sheet because well, why not? It felt like a good addition because I don’t want people installing the script and then not being able to use it. The other important thing I did was make another video. Is it necessary? No. Is it absolutely awesome and cool? ONE HUNDRED PERCENT! My passion for video editing is so strong I just couldn’t bring myself to not make another video. This one is a little different however. I didn’t showcase the tool at all, its more so just an ad to get people interested. The style of it is also different. I went with a low fps, grainy, style of video. References: https://www.youtube.com/watch?v=EUoHKh86mX0 https://www.youtube.com/watch?v=cxA-qJsJL30 Video Details: FPS: 18 Resolution: 1920 x 1080 px How cool it is: 10/10"}, {"post_id": 69406, "ts": "2026-09-17T00:04:29Z", "hours": 4.0544, "text": "Possible my second last devlog I did quite a lot in these 4 hours. Before I tell you, I’d like to thank everyone at stardance for this amazing opportunity to pursue this project and also get a cool prize :D What I added I added a settings menu! I actually tried to add one a while back but it unfortunately it did not work. I did not give up. I decided to add it back in the 5.0 version (releasing soon, probably when I ship). I also added a couple more things: Fixed status text Fixed minor bugs Added error codes Added tooltips to error codes New manuals I also created two manuals so far. A user manual and a troubleshooting manual. The troubleshooting manual defines all the error codes and gives fixes, general fixes, how to report a problem, and known limitations of the script. The user manual gives explicit info on the script and its functions and it has a simplified version of how to install it (more in depth instructions on readme). Error codes While seemingly irrelevant, error codes are SUPER important. It lets the user reference the trouble shooting guide much easier and they also have much less to remember. AI disclaimer As always I have to provide an AI disclaimer. Now most of this didn’t really use much AI since it was pretty basic stuff especially the error codes. All I really asked AI about was what I should add to the settings since I’m not exactly creative. As for how to make the settings panel, I just researched a little online, dug through some forums, and that’s pretty much it. THANKS TO EVERYONE AT STARDANCE LOVE YALL"}, {"post_id": 63188, "ts": "2026-09-06T21:08:19Z", "hours": 1.2042, "text": "I’m back. I got some amazing feedback on this project and I’m honored to get a blessing. It has boosted my motivation to continue this silly project of mine. I’ve been quite inactive lately because I was sick but fret not because I’m back to working on After Playlist. This time, I worked a lot more on the UI because most of my feedback was that the UI looked boring and generic. Fair enough. I changed up some colors and positions of the buttons and then I set this as a new release on my github. I plan on spending atleast 6 more hours on this because only then will I be able to get the thing I want (the keebcard). I am not really sure what to add so if you are reading this please give me suggestions! AI disclaimer Not much AI used this time as all I did was change up the UI. I did however use Claude to tell me what I should do to improve the AI but otherwise none of the code was written by AI. Have a great day!"}, {"post_id": 56286, "ts": "2026-08-28T00:08:39Z", "hours": 1.0578, "text": "The final devlog: The journey was fun. I’d never thought I’d make something that I’d use almost every day. After Playlist has evolved ALOT in a short time. When I first made it, I had low hopes. Almost as if it’d be a fail. And though it did indeed fail, I pushed through and made it work. So for my last update, I added two buttons: C - Enables compact mode by hiding everything except the media controls and diagnostics section. S - Launches Spotify for the people like me who feel too lazy to even open Spotify normally. I wont go too much in detail but I used the Spotify protocol which works with every version of Spotify and the compact mode was very simple, all it did was hide certain aspects. I also learned something new. I never actually knew how helpTips worked and I researched them a bit and added two helpTips. One to each button because you can’t really tell what each button does. I’m going to ship this project shortly after everything is in order. AI usage: HUGE thanks to manus once again my goat helped my find out why the diagnostics text was getting cut off and also how to use helpTips properly. Have a good day!"}, {"post_id": 55312, "ts": "2026-08-27T01:47:21Z", "hours": 0.8581, "text": "I did it, I finally added the now playing feature! So as you may know, I revealed in my second devlog of this project that the now playing feature had to be removed because I just could not get it to work. Today I woke up and thought: “Let’s give it another shot” ##My biggest challenge: I had thought of a way to make it work but AE would still keep freezing every now and then because the process was happening through AE. How I made it and fixed the freezing problem: I made a sort of “scout” that would launch a small, hidden powershell process in the background every 6 seconds. This scout then asks windows: “Bro what song is playing right now? I gotta know.” So then windows responds with the answer written in a temporary file. AE then reads this file and displays it on the “Now Playing” section near the top. If the answer comes empty then AE keeps the same song. This way AE doesn’t freeze because the process happens outside AE. One other problem was that the text would get cutoff due to panel resizing issues. To fix this I simply added a marquee scrolling effect to keep it nice and smooth. I won’t go into detail about that but know that I had to search up how to do it since I’ve never done it. AI usage disclaimer: Claude Sonnet was used to point out syntax errors and Manus was used to help guide me to using the “background scout” method. Both AI helped out a whole lot. Hope someone uses this and if you are reading it, have a great day!"}, {"post_id": 52779, "ts": "2026-08-23T03:48:38Z", "hours": 2.5169, "text": "I made another video So if you’ve seen my previous script: “Wiggle Me Timbers,” you’d know I made a short, sick looking demo video so people know how it works. Well, I did it again. My main talent lies in motion graphics and video editing so not making a video would feel like a crime. This video is a bit different from the other one. Instead of making a simple video, I added a fun twist using my knowledge of 3D typography. Anyways the video IS done but I haven’t rendered it yet because I don’t intend to upload it right now. Hope you guys like it!"}, {"post_id": 52012, "ts": "2026-08-22T01:37:11Z", "hours": 1.3683, "text": "FINALLY! So I had a minor (actually kinda major) problem with the original version. It had MAJOR delay! It was honestly very irritating. To fix this I reduced the unecessary delays by reducing the key-down/key-up timing from 40 miliseconds to 15 miliseconds, and the response-file polling interval was reduced from 100 miliseconds to 25. This made it faster yes, but After Effects was still waiting synchronously :( I made the script create a temporary PowerShell script and a hidden VBScript launcher. The VBScript uses WScript.Shell.Run with style 0 and the False wait parameter. I did a little more but I don’t want to bore you :D Anyways if anyone read to the end, I hope you guys have a great day and that someone can actually find this useful."}, {"post_id": 51368, "ts": "2026-08-21T00:22:21Z", "hours": 0.2553, "text": "Now I realized that the idea was i bit far fetched and that making it work first try would be… impossible. It took a while of debugging which i forgot to record so there goes some hours BUT i did record ~15 mins of me testing and updating the README so theres that. I changed the UI, removed and entire feature and make a lot of tweaks to FINALLY make it work. Great thing is manus and claude helped me identify tons of the errors. Have a good day :D"}, {"post_id": 51345, "ts": "2026-08-20T23:20:53Z", "hours": 0.7486, "text": "After Playlist (V1.0) I basically made everything in this one session but technically it’s not fully done. The next few devlogs will include QoL improvements, UI changes, etc. It’s a lightweight media controller for After Effects. If you use AE for hours like me and you need music to stay focused, this is honestly perfect for you. Note: This only works on Windows and the desktop app of Spotify, other desktop apps may work How it works (in more simple terms) Now most of this I needed quite a bit of help for like how to integrate Windows SMTC (System Media Transport Control) Now ExtendScript, the programming language for After Effects ScriptUI Panels doesn’t really support asynchronous Windows API’s :( The good this is you can still build a simple PowerShell Bridge, (It’s not actually that simple for a new coder like me 😭 ) So for the people who can actually understand this… It generates a temporary .ps1 script tapping into GlobalSystemMediaTransportControlsSessionManager wow, thats a real mouthful. Anyways then it uses a custom Await helper via .NET reflection to query the active media session for the song name, artist and the playback status :D Then it reads the cached input from Folder.temp back into the UI Panel (stay with me we’re almost done) Lastly the playback is mapped directly through Poweshell SendKeys commands. AI usage Claude Sonnet was used to debug the code and provide some suggestions on what to add (im not super creative 😭 ) Anyways have fun guys I hope someone will actually use this!"}]...
|
Title: After Playlist by @Jolly_VFX | Stardance
D Title: After Playlist by @Jolly_VFX | Stardance
Devlogs:
After Playlist (V1.0) I basically made everything in this one session but technically it’s not fully done. The next few devlogs will include QoL improvements, UI changes, etc. It’s a lightweight media controller for After Effects. If you use AE for hours like me and you need music to stay focused, this is honestly perfect for you. Note: This only works on Windows and the desktop app of Spotify, other desktop apps may work How it works (in more simple terms) Now most of this I needed quite a bit of help for like how to integrate Windows SMTC (System Media Transport Control) Now ExtendScript, the programming language for After Effects ScriptUI Panels doesn’t really support asynchronous Windows API’s :( The good this is you can still build a simple PowerShell Bridge, (It’s not actually that simple for a new coder like me 😭 ) So for the people who can actually understand this… It generates a temporary .ps1 script tapping into GlobalSystemMediaTransportControlsSessionManager wow, thats a real mouthful. Anyways then it uses a custom Await helper via .NET reflection to query the active media session for the song name, artist and the playback status :D Then it reads the cached input from Folder.temp back into the UI Panel (stay with me we’re almost done) Lastly the playback is mapped directly through Poweshell SendKeys commands. AI usage Claude Sonnet was used to debug the code and provide some suggestions on what to add (im not super creative 😭 ) Anyways have fun guys I hope someone will actually use this!
Now I realized that the idea was i bit far fetched and that making it work first try would be… impossible. It took a while of debugging which i forgot to record so there goes some hours BUT i did record ~15 mins of me testing and updating the README so theres that. I changed the UI, removed and entire feature and make a lot of tweaks to FINALLY make it work. Great thing is manus and claude helped me identify tons of the errors. Have a good day :D
FINALLY! So I had a minor (actually kinda major) problem with the original version. It had MAJOR delay! It was honestly very irritating. To fix this I reduced the unecessary delays by reducing the key-down/key-up timing from 40 miliseconds to 15 miliseconds, and the response-file polling interval was reduced from 100 miliseconds to 25. This made it faster yes, but After Effects was still waiting synchronously :( I made the script create a temporary PowerShell script and a hidden VBScript launcher. The VBScript uses WScript.Shell.Run with style 0 and the False wait parameter. I did a little more but I don’t want to bore you :D Anyways if anyone read to the end, I hope you guys have a great day and that someone can actually find this useful.
I made another video So if you’ve seen my previous script: “Wiggle Me Timbers,” you’d know I made a short, sick looking demo video so people know how it works. Well, I did it again. My main talent lies in motion graphics and video editing so not making a video would feel like a crime. This video is a bit different from the other one. Instead of making a simple video, I added a fun twist using my knowledge of 3D typography. Anyways the video IS done but I haven’t rendered it yet because I don’t intend to upload it right now. Hope you guys like it!
I did it, I finally added the now playing feature! So as you may know, I revealed in my second devlog of this project that the now playing feature had to be removed because I just could not get it to work. Today I woke up and thought: “Let’s give it another shot” ##My biggest challenge: I had thought of a way to make it work but AE would still keep freezing every now and then because the process was happening through AE. How I made it and fixed the freezing problem: I made a sort of “scout” that would launch a small, hidden powershell process in the background every 6 seconds. This scout then asks windows: “Bro what song is playing right now? I gotta know.” So then windows responds with the answer written in a temporary file. AE then reads this file and displays it on the “Now Playing” section near the top. If the answer comes empty then AE keeps the same song. This way AE doesn’t freeze because the process happens outside AE. One other problem was that the text would get cutoff due to panel resizing issues. To fix this I simply added a marquee scrolling effect to keep it nice and smooth. I won’t go into detail about that but know that I had to search up how to do it since I’ve never done it. AI usage disclaimer: Claude Sonnet was used to point out syntax errors and Manus was used to help guide me to using the “background scout” method. Both AI helped out a whole lot. Hope someone uses this and if you are reading it, have a great day!
The final devlog: The journey was fun. I’d never thought I’d make something that I’d use almost every day. After Playlist has evolved ALOT in a short time. When I first made it, I had low hopes. Almost as if it’d be a fail. And though it did indeed fail, I pushed through and made it work. So for my last update, I added two buttons: C - Enables compact mode by hiding everything except the media controls and diagnostics section. S - Launches Spotify for the people like me who feel too lazy to even open Spotify normally. I wont go too much in detail but I used the Spotify protocol which works with every version of Spotify and the compact mode was very simple, all it did was hide certain aspects. I also learned something new. I never actually knew how helpTips worked and I researched them a bit and added two helpTips. One to each button because you can’t really tell what each button does. I’m going to ship this project shortly after everything is in order. AI usage: HUGE thanks to manus once again my goat helped my find out why the diagnostics text was getting cut off and also how to use helpTips properly. Have a good day!
I’m back. I got some amazing feedback on this project and I’m honored to get a blessing. It has boosted my motivation to continue this silly project of mine. I’ve been quite inactive lately because I was sick but fret not because I’m back to working on After Playlist. This time, I worked a lot more on the UI because most of my feedback was that the UI looked boring and generic. Fair enough. I changed up some colors and positions of the buttons and then I set this as a new release on my github. I plan on spending atleast 6 more hours on this because only then will I be able to get the thing I want (the keebcard). I am not really sure what to add so if you are reading this please give me suggestions! AI disclaimer Not much AI used this time as all I did was change up the UI. I did however use Claude to tell me what I should do to improve the AI but otherwise none of the code was written by AI. Have a great day!
Possible my second last devlog I did quite a lot in these 4 hours. Before I tell you, I’d like to thank everyone at stardance for this amazing opportunity to pursue this project and also get a cool prize :D What I added I added a settings menu! I actually tried to add one a while back but it unfortunately it did not work. I did not give up. I decided to add it back in the 5.0 version (releasing soon, probably when I ship). I also added a couple more things: Fixed status text Fixed minor bugs Added error codes Added tooltips to error codes New manuals I also created two manuals so far. A user manual and a troubleshooting manual. The troubleshooting manual defines all the error codes and gives fixes, general fixes, how to report a problem, and known limitations of the script. The user manual gives explicit info on the script and its functions and it has a simplified version of how to install it (more in depth instructions on readme). Error codes While seemingly irrelevant, error codes are SUPER important. It lets the user reference the trouble shooting guide much easier and they also have much less to remember. AI disclaimer As always I have to provide an AI disclaimer. Now most of this didn’t really use much AI since it was pretty basic stuff especially the error codes. All I really asked AI about was what I should add to the settings since I’m not exactly creative. As for how to make the settings panel, I just researched a little online, dug through some forums, and that’s pretty much it. THANKS TO EVERYONE AT STARDANCE LOVE YALL
I’m Finally Done (Hopefully) I decided to make a little “Minimum System Requirements” sheet because well, why not? It felt like a good addition because I don’t want people installing the script and then not being able to use it. The other important thing I did was make another video. Is it necessary? No. Is it absolutely awesome and cool? ONE HUNDRED PERCENT! My passion for video editing is so strong I just couldn’t bring myself to not make another video. This one is a little different however. I didn’t showcase the tool at all, its more so just an ad to get people interested. The style of it is also different. I went with a low fps, grainy, style of video. References: https://www.youtube.com/watch?v=EUoHKh86mX0 https://www.youtube.com/watch?v=cxA-qJsJL30 Video Details: FPS: 18 Resolution: 1920 x 1080 px How cool it is: 10/10
Ships:
After Playlist V4.0.0 for Windows 11 Time spent: ~7 hours (5h developing and 2h asset creation and video editing). Editors like myself often find themselves in a state known as the flow state. The flow state is a time where an editor is completely locked in and fully focused on editing. A major contributor to achieving this state is music. Music is what relaxes you and gets you focused at the same time. The Problem: The big issue is that flipping between Spotify or other media platforms can easily break the creative flow. I personally hate going back and forth between Adobe After Effects (AE) and Spotify just to pause a song or look at what the song is called. Standard AE scripts that aim to fix this problem usually end up making AE freeze. The Solution: After Playlist is a media controller that stays docked inside AE. It uses an Asynchronous architecture to communicate with Windows silently to make sure AE doesn’t keep freezing. The 4 Major QoL Improvements: A non-blocking asynchronous engine: It uses a small little hidden VBScript/Powershell bridge to keep AE responsive (errors can occur!) A live now-playing section: Every 6 seconds the artist name and song name is fetched through background polling. It uses a marquee scrolling effect for long names. Spotify launcher and media controls: The main part is the media controls (Play/pause, next, previous, volume up/down, and mute. It also has a button to launch Spotify incase you haven’t already :D Diagnostics test: The button near the button runs a test to make sure the script will work (Can be inaccurate). Challenges: As I’ve mentioned in a previous devlog and the Github README, I had a hard time figuring out how to even make this work. Some deep researching led me to PowerShell and VBScript. Another challenge was not much a challenge and rather an annoying bug that would register multiple clicks at once causing either AE to crash or the script to not work. AI Disclaimer: Manus and Claude were used quite a bit for pointing out errors that I missed and they also helped come up with ideas to add to the script. The name was based off a ChatGPT suggestion lol. Technical details: Language used: Adobe ExtendScript (Based on ECMAScript) Code editor used: VS Code Software used for testing: Adobe After Effects 2025. Hope people use this! Have an absolutely spectacular day!
After Playlist v5.0.0 BOOM! I’ve finally finished with my second ship for this project. Honestly I’ve had a blast making this and I hope everyone likes it! What did I make? I made a Adobe After Effects ScriptUI Panel that lets you control what music is playing through PowerShell and Windows Script Host. This all happens asynchronously so no need to worry about AE lagging, losing focus, or simply just crashing. It’s all handled outside. The project is designed to save those extra few seconds and to make sure that you never have to leave the editing “flow-state.” I also made another video! :D Major QoL improvements: Multiple guides: Majorly helps users install, troubleshoot, or even just figure out if they can run the script. Settings panel: Give more control and freedom over the script Error codes! I really should’ve added these earlier. They help the user troubleshoot more easily and figure out what’s wrong! Challenges I didn’t have too much difficulty this time tbh. I had to research quite I bit to figure out how to even make a settings panel which I tried to make before but failed HORRIBLY. I updated the UI which wasn’t too challenging at all. I suppose the biggest challenge was how tiring it was to make all those functions for the settings menu. Thanks for the feedback I got some AMAZING feedback from the previous ship and I made sure to address each of them. They mainly said to fix/update the UI and I did so. I do agree the previous UI wasn’t exactly… appealing. AI disclaimer I didn’t use as much AI as last ship. It was mainly just for ideas and I asked once why my settings menu wasn’t opening and I got some feedback from Manus which steered me in the right direction. I only copy and pasted a few times for the unicode symbols because I decided that symbols would look better and cleaner than text. Thanks to everyone at Hackclub for making Stardance. It really gave me a purpose (and i also needed motivation to learn coding lol)....
|
1792994006.615885
|
1793080406.615885
|
|
27935
|
CLI Todolist by @javim-dev | Stardance
|
javim-dev
|
2
|
25.0
|
228
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T16:57:20Z", "hours": 18.0, "multiplier": 9.26, "payout": 200, "blessing": "neutral", "text": "I made a simple todolist app that runs on the terminal. It has a beautiful TUI, persistent storage, due dates and much more! I’ve learnt a lot while making this project and how it came out. The devlogs are pretty long so I’ll keep this ship message short, just know that I’ve uploaded a demo video that you can find in the project’s readme :) Check the releases page for binaries: https://github.com/javiermm8/cli-todolist/releases", "repo": "https://github.com/javiermm8/cli-todolist", "demo": "https://github.com/javiermm8/cli-todolist/releases"}, {"ship_num": 2, "ts": "2026-06-29T00:19:33Z", "hours": 7.0, "multiplier": 3.31, "payout": 28, "blessing": "neutral", "text": "A simple cli todolist made using gotui. It has persistent storage on disk too :) There’s a demo video on my latest devlog and on github, binaries are on github too.", "repo": "https://github.com/javiermm8/cli-todolist", "demo": "https://github.com/javiermm8/cli-todolist/releases"}]...
|
[{"post_id": 23578, "ts": "202 [{"post_id": 23578, "ts": "2026-07-06T16:47:02Z", "hours": 3.0692, "text": "Ready to ship I’ve spent these 3h mostly on implementing the reminders feature, sadly I couldn’t find a good enough solution and had to drop the feature. I’ve tested multiple go libraries but just couldn’t find one that reliably sent notifications across all platforms. Also, all of them sent desktop notifications instead of something more terminal-related which is what I had in mind. And then, after fighting with creating a background process for hours I decided that it simply wasn’t worth the effort, so I decided to not implement reminders and delete all reminder-related features already implemented in the UI. The due date feature remains intact. It’s sad but I think it’s the best decision to keep the app consistent and manageable. Chasing processes in activity monitor to stop notification loops was fun though! But not all the time in these 3 hours was wasted. I was able to add a button to reset the due date of a TODO and did a general cleanup of the code to prepare it for release."}, {"post_id": 22466, "ts": "2026-07-04T22:46:37Z", "hours": 3.0142, "text": "More progress I can almost see the next ship, I’ve made a lot of progress. Main improvements: Upgraded the design and functionality of the view that allows the user to change due date and reminder. All due date functionality now work. Some bug fixes + minor improvements: TODOs now keep the correct metadata after any other todo is deleted. Previously, description, due date and reminder used to be swapped between TODOs. Made description input box wrap text instead of letting it go out of the box. Updated help messages. Things left to do: Reminders Add a button to reset the due date and reminder. After spending quite the time working with the time package I now think that our understanding of time is broken. Years should have a set amount of days, months a set amount of days and weeks. It would make my live much easier."}, {"post_id": 21783, "ts": "2026-07-03T21:49:57Z", "hours": 5.8275, "text": "Last devlog of the day I implemented a lot of stuff in this 5 hours. Here you have a list: Help messages on most of the views. A brand new TODO view that allows the user to see more information about a given TODO and change more stuff like it’s due date(not implemented yet), reminders(not implemented yet) and description. A brand new view for changing a given TODO’s due date and reminder toggle. Added a dot at the end of the welcome message. Added a more celebratory way of completing a TODO rather than just deleting it. Added warning when terminal size is too small. bug fixed and small upgrades like remembering the selected item when going back to a list. I already wrote way too much on the last two devlogs and it’s already late so I’ve kept this one brief :)"}, {"post_id": 21445, "ts": "2026-07-03T12:22:41Z", "hours": 0.9067, "text": "Persistent storage works again After almost an hour of coding I was able get persistent storage working again and fix a couple of bugs. In the last devlog I explained that because of the project’s rewrite I disabled persistent storage. The project now asked for the user’s name and supported multiple todolists so the previous logic didn’t work. I thankfully was able to reuse a lot of code from the last version(mostly the file handling stuff). Now the project stores data on disk this way: One .cli-TODO-config.json file which contains the user’s name. One .cli-TODO-data.json file which contains the slice of todolists in json. Both files get stored in the same directory in which the program runs. Bugs fixed: When the user left a todolist view by clicking the title of that todo would still be displayed on the border. Not anymore. Other minor bugs that mostly appeared during the development of persistent storage. Like closing a file too early(then, if I tried to write to it again it would crash the program and leave the terminal in a broken state)."}, {"post_id": 21423, "ts": "2026-07-03T11:15:37Z", "hours": 5.255, "text": "I used to be the number one hater of the stardance review process(you get pretty tired of it after having to review the same slack bot 15 times but with different names) but after reading the feedback other people have left on my shipped projects I’ve changed my mind. Initially I decided to ship this thing quickly so I could get the sticker, but after seeing that a lot of people liked this project(and the Happiness meter too, check it out on my page) I’ve decided to keep improving it with the suggestions reviewers left. I’ll start with fixing the number one complaint, the devlogs. I still stand by my belief of “ship first, talk later” but I recognize that people enjoy reading this devlogs and they also force me to think twice about what I implemented and the decisions I made. Enough talk, what did I do in this 5h of coding time? Well, I basically rewrote the whole thing. Now there’s a new starting flow. Much more personalized, it even asks for your name! I tried to keep the todo selection logic mostly intact because it was a pain to write. Sadly I wanted to implement overflow handling and ended up having to rethink and rewrite a lot of code. Other features I implemented: The app now scales dynamically, filling the whole terminal, like a real TUI. Instead of the fixed values on the previous version. This was a pain to change by itself and took a lot of time to get the correct relative values but I’m quite happy of how it came out. Multiple todolists! A lot of reviewers asked for this and I’m happy to deliver. Things I want to add that reviewers asked for: Due time for the TODOs Maybe a reminder system? I’ll have to look into it, people have asked for this but I’m unsure about leaving a gorutine or a cron job running in the background of a reviewers computer. A more celebratory way of completing a TODO than just deleting it. I won’t change the AI declaration because it still applies to the first ship(even though the second is basically a rewrite) but in this one I tried to use even less and go back to good ol stack overflow. One reviewer asked me to make a mobile app for this, I tried to port it to ios using gomobile but it was a mess and simply not worth the effort so I sent the original go code to an agent and asked it to port it to swift. For a vibedcoded prototype it works pretty well so I’ll explore that option too. I still have to work on the persistent storage, it’s going to have to be more complex. Lastly I would like to thank again to all the reviewers that took the time to write thoughtful reviews, it means a lot to me. Some people even went out of the way to test the builds for windows and linux that I couldn’t test, thanks a lot :)"}, {"post_id": 18028, "ts": "2026-06-29T00:15:29Z", "hours": 7.0603, "text": "I’m tired but it’s finished Seven hours logged this weekend. I made a simple cli todolist made using gotui. It has persistent storage on disk :) Here you have a demo video, binaries are in github too."}]...
|
Title: CLI Todolist by @javim-dev | Stardance
Dev Title: CLI Todolist by @javim-dev | Stardance
Devlogs:
I’m tired but it’s finished Seven hours logged this weekend. I made a simple cli todolist made using gotui. It has persistent storage on disk :) Here you have a demo video, binaries are in github too.
I used to be the number one hater of the stardance review process(you get pretty tired of it after having to review the same slack bot 15 times but with different names) but after reading the feedback other people have left on my shipped projects I’ve changed my mind. Initially I decided to ship this thing quickly so I could get the sticker, but after seeing that a lot of people liked this project(and the Happiness meter too, check it out on my page) I’ve decided to keep improving it with the suggestions reviewers left. I’ll start with fixing the number one complaint, the devlogs. I still stand by my belief of “ship first, talk later” but I recognize that people enjoy reading this devlogs and they also force me to think twice about what I implemented and the decisions I made. Enough talk, what did I do in this 5h of coding time? Well, I basically rewrote the whole thing. Now there’s a new starting flow. Much more personalized, it even asks for your name! I tried to keep the todo selection logic mostly intact because it was a pain to write. Sadly I wanted to implement overflow handling and ended up having to rethink and rewrite a lot of code. Other features I implemented: The app now scales dynamically, filling the whole terminal, like a real TUI. Instead of the fixed values on the previous version. This was a pain to change by itself and took a lot of time to get the correct relative values but I’m quite happy of how it came out. Multiple todolists! A lot of reviewers asked for this and I’m happy to deliver. Things I want to add that reviewers asked for: Due time for the TODOs Maybe a reminder system? I’ll have to look into it, people have asked for this but I’m unsure about leaving a gorutine or a cron job running in the background of a reviewers computer. A more celebratory way of completing a TODO than just deleting it. I won’t change the AI declaration because it still applies to the first ship(even though the second is basically a rewrite) but in this one I tried to use even less and go back to good ol stack overflow. One reviewer asked me to make a mobile app for this, I tried to port it to ios using gomobile but it was a mess and simply not worth the effort so I sent the original go code to an agent and asked it to port it to swift. For a vibedcoded prototype it works pretty well so I’ll explore that option too. I still have to work on the persistent storage, it’s going to have to be more complex. Lastly I would like to thank again to all the reviewers that took the time to write thoughtful reviews, it means a lot to me. Some people even went out of the way to test the builds for windows and linux that I couldn’t test, thanks a lot :)
Persistent storage works again After almost an hour of coding I was able get persistent storage working again and fix a couple of bugs. In the last devlog I explained that because of the project’s rewrite I disabled persistent storage. The project now asked for the user’s name and supported multiple todolists so the previous logic didn’t work. I thankfully was able to reuse a lot of code from the last version(mostly the file handling stuff). Now the project stores data on disk this way: One .cli-TODO-config.json file which contains the user’s name. One .cli-TODO-data.json file which contains the slice of todolists in json. Both files get stored in the same directory in which the program runs. Bugs fixed: When the user left a todolist view by clicking the title of that todo would still be displayed on the border. Not anymore. Other minor bugs that mostly appeared during the development of persistent storage. Like closing a file too early(then, if I tried to write to it again it would crash the program and leave the terminal in a broken state).
Last devlog of the day I implemented a lot of stuff in this 5 hours. Here you have a list: Help messages on most of the views. A brand new TODO view that allows the user to see more information about a given TODO and change more stuff like it’s due date(not implemented yet), reminders(not implemented yet) and description. A brand new view for changing a given TODO’s due date and reminder toggle. Added a dot at the end of the welcome message. Added a more celebratory way of completing a TODO rather than just deleting it. Added warning when terminal size is too small. bug fixed and small upgrades like remembering the selected item when going back to a list. I already wrote way too much on the last two devlogs and it’s already late so I’ve kept this one brief :)
More progress I can almost see the next ship, I’ve made a lot of progress. Main improvements: Upgraded the design and functionality of the view that allows the user to change due date and reminder. All due date functionality now work. Some bug fixes + minor improvements: TODOs now keep the correct metadata after any other todo is deleted. Previously, description, due date and reminder used to be swapped between TODOs. Made description input box wrap text instead of letting it go out of the box. Updated help messages. Things left to do: Reminders Add a button to reset the due date and reminder. After spending quite the time working with the time package I now think that our understanding of time is broken. Years should have a set amount of days, months a set amount of days and weeks. It would make my live much easier.
Ready to ship I’ve spent these 3h mostly on implementing the reminders feature, sadly I couldn’t find a good enough solution and had to drop the feature. I’ve tested multiple go libraries but just couldn’t find one that reliably sent notifications across all platforms. Also, all of them sent desktop notifications instead of something more terminal-related which is what I had in mind. And then, after fighting with creating a background process for hours I decided that it simply wasn’t worth the effort, so I decided to not implement reminders and delete all reminder-related features already implemented in the UI. The due date feature remains intact. It’s sad but I think it’s the best decision to keep the app consistent and manageable. Chasing processes in activity monitor to stop notification loops was fun though! But not all the time in these 3 hours was wasted. I was able to add a button to reset the due date of a TODO and did a general cleanup of the code to prepare it for release.
Ships:
A simple cli todolist made using gotui. It has persistent storage on disk too :) There’s a demo video on my latest devlog and on github, binaries are on github too.
I made a simple todolist app that runs on the terminal. It has a beautiful TUI, persistent storage, due dates and much more! I’ve learnt a lot while making this project and how it came out. The devlogs are pretty long so I’ll keep this ship message short, just know that I’ve uploaded a demo video that you can find in the project’s readme :) Check the releases page for binaries: https://github.com/javiermm8/cli-todolist/releases...
|
1792997758.6166716
|
1793084158.6166716
|
|
38343
|
SkyCanvas CLI Tool by @Aeriss | Stardance
|
Aeriss
|
1
|
14.0
|
228
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T16:31:48Z", "hours": 14.0, "multiplier": 16.52, "payout": 228, "blessing": "neutral", "text": "SkyCanvas v0.1.0 is officially released ʕ•ᴥ•ʔ After some solid time of development, testing, debugging, and polishing, SkyCanvas has finally reached its first release. SkyCanvas is a terminal-based ASCII constellation viewer powered by astronomical data. It allows you to explore constellations directly from your command line, view detailed information about stars and connections, compare different constellations, discover what is visible tonight, animate constellation drawings, and export them into image formats. One of the biggest challenges during development was creating a custom rendering system that could display constellations smoothly inside a terminal while keeping the output readable and visually appealing. I am so so proud that SkyCanvas grew from a simple terminal experiment into a complete application with its own renderer, animations, export pipeline, documentation, PyPI package etc. The project is now available for everyone to try. You can install it using: “pip install skycanvas” Then run: “skycanvas –help” to explore all available commands. Thank you to everyone who followed the development journey 🤍 Enjoy exploring the night sky directly from your terminal, even though not perfect, it should be enjoyable!", "repo": "https://github.com/aerissdev-dotcom/SkyCanvas", "demo": "https://pypi.org/project/skycanvas/0.1.1/"}]...
|
[{"post_id": 37683, "ts": "202 [{"post_id": 37683, "ts": "2026-07-30T16:08:34Z", "hours": 1.2525, "text": "Devlog #06 The last one ʕ•ᴥ•ʔ Hey I hope you are all doing amazing! This will be the final development log before SkyCanvas officially ships. The last few steps were focused on preparing the project for release rather than adding new features. I just: finished writing the README created the pyproject.toml polished the documentation, and made sure everything is ready to be published as a proper Python package I also fixed a few remaining bugs and gave the CLI last cleanup before release What went good Everything is finally in place, writing pyproject.toml was kind of muscle memory at this point. The project feels complete and ready for other people to install and use. What was hard Preparing a project for release takes much more work than it seems, although I think the pyproject.toml file is the easy part. Documentation and polishing ended up taking almost as much time as some of the features themselves. Time to upload SkyCanvas to PyPI and ship v0.1.0 🤍"}, {"post_id": 37631, "ts": "2026-07-30T14:40:22Z", "hours": 3.3878, "text": "Devlog #05 Hi eveyrone, I hope you are all doing great ʕ•ᴥ•ʔ Andddd we are shipping soon! This update of SkyCanvas was mainly focused on finishing the remaining major feature before release. I spent this time implementing the export system, improving the CLI experience, and fixing a lot of small bugs. Export System The biggest addition in this update was the new export functionality. SkyCanvas can now export constellations directly into image files using: skycanvas --export <target> <format> Supported formats: JPG, PNG, SVG and BMP Exported files are automatically saved to: ~/SkyCanvas/Exports/ with timestamps included in their filenames. The export system keeps the same visual style as the terminal version. The tonight target is also supported, allowing SkyCanvas to export every currently visible constellation into separate files automatically. Honestly, I had a lot of problems implementing export feature, even though this command might seem like an overkill, I think it is useful is some cases. Bug Fixes & General Polish Fixed issues related to: Export generation SVG formatting CLI argument handling (callback just wasn’t working) Duplicate console output Rendering behavior Various smaller bugs across the project What went good The export system integrated surprisingly well with the existing renderer. Since the rendering pipeline was already separated from the CLI logic, adding new output formats was much easier than expected. What was hard The biggest challenge was making exported images look exactly like the terminal version. Keeping the same proportions, colors, and Braille-style rendering outside the console required a lot of “adjustments”. SkyCanvas is now really close to the first public release 🤍 The remaining steps are: Writing full README PyPI preparation Publishing version 0.1.0 Writing files like pyproject.toml and requirements.txt I will update on those steps too!"}, {"post_id": 37170, "ts": "2026-07-29T17:54:16Z", "hours": 2.2878, "text": "Devlog #04 Hey, I hope you are all doing amazing ʕ•ᴥ•ʔ This update was mainly focused on improving how SkyCanvas looks and feels to use. I spent a lot of time reworking the rendering system, adding new CLI features, and making the overall experience much more polished. Completely New ASCII Renderer One of the biggest changes was replacing the original ASCII rendering approach with a completely new one. Instead of relying on simple line characters, the renderer now uses a higher-resolution Braille-based drawing system, producing much smoother and cleaner constellation shapes in the terminal, hehe ;) The rendering pipeline itself was also redesigned, making it easier to maintain and expand in the future. Improved Visuals I also gave the terminal output a visual refresh. Stars are now highlighted in yellow, making them much easier to tell apart. Connection lines use a different color for better readability. These changes make the constellations far more enjoyable to look at while still keeping the project fully terminal-based. New Commands & Features This update also introduced several new commands compare command allows two constellations to be displayed side by side for quick visual comparison. It also supports comparing any constellation against every constellation currently visible with the tonight command. Speaking of that, tonight was added as well. It displays the constellations that are currently considered visible, making SkyCanvas feel much more interactive than simply viewing static constellation data. Animation Support Originally, I planned to implement a location command, but after thinking about it, I decided it didn’t fit the project very well, did it bruh? Instead, I replaced it with an –animate flag. Using this flag gradually draws a constellation in the terminal by animating its stars and connections before displaying the final result. Overall, this update was mostly about improving presentation and usability rather than adding huge amounts of new data. SkyCanvas now feels significantly more polished and closer to a complete first release. What went good The new commands integrated into the existing CLI surprisingly well. Since the project structure has become much cleaner over time, adding features like compare, tonight, and the animation system was fairly straightforward. What was hard The biggest challenge was redesigning the rendering. Getting constellation lines to look smooth with brail in a terminal while keeping everything aligned with stars and labels required several different approaches before I found one I was happy with. I’m getting really close to the first public release now. There are only a few finishing touches left before SkyCanvas reaches version 1.0. I am yet to implement export command though 🤍"}, {"post_id": 36905, "ts": "2026-07-29T09:31:43Z", "hours": 2.2014, "text": "Devlog #04 Constellation Rendering & CLI Integration Hey, I hope you are all doing amazing ʕ•ᴥ•ʔ Lately, I focused on improving the visualization system and connecting the constellation data with the CLI experience. The biggest addition in this session was creating the render.py system. It is responsible for generating ASCII representations of constellations using star coordinates and connections between them. This was an important step as SkyCanvas is now no longer just displaying astronomical data - it’s starting to actually visualize the constellations now ;) I also created coordinates.py , which contains the positional data of stars used by the renderer. These coordinates define the relative placement of stars and allow the program to recreate recognizable constellation shapes inside the terminal. Another major improvement was modifying the command skycanvas [constellation] command, to skycanvas constellation [name] . This allows users to choose a specific constellation and display its information table together with its ASCII visualization. Example: skycanvas constellation orion The command now shows: constellation information stars data connections ASCII art of stars I also improved the existing rand command. Previously, it only displayed the information table of a randomly selected constellation, and now it also renders the ASCII visualization, making the feature much more complete. What was easy and what challengin I think the easier part of this session was connecting existing constellation data with new CLI features, since the database was already prepared, adding new commands was much simpler. The most challenging part was creating the rendering system. Turning star coordinates into readable ASCII art required a lot of testing and adjustments to make the constellations recognizable in the terminal. Overall, this session was focused on turning stored astronomical data into an actual visual experience. I hope you notice my progress and view it positively 🤍"}, {"post_id": 35407, "ts": "2026-07-26T19:49:12Z", "hours": 2.5594, "text": "Devlog #02 - progress starts to be really visible ʕ•ᴥ•ʔ Here is what I have done so far: Expanded constellations.py with the remaining entries. The database now contains 30 constellations, each with: Name Common name Hemisphere Best Months Visibility Brightest star Stars Connections between them CLI Improvements Finished the list command using Rich library. Added: Two-column constellation table Cleaner terminal output Better readability Implemented rand command. It now: Picks a random constellation Displays full information in a Rich table Shows stars and connections Current Progress Completed: Typer CLI foundation Logo command Version command List command Random constellation viewer Initial constellation database Next: I am not sure yet, but probably Skyfield lib integration and astronomy engine."}, {"post_id": 33146, "ts": "2026-07-22T19:51:11Z", "hours": 2.2042, "text": "Devlog #01 – The Sky is Empty (For Now) ʕ•ᴥ•ʔ Hey! First devlog for SkyCanvas, my new CLI tool that maps real star constellations as ASCII art in your terminal. Think of it as a tiny planetarium, but without leaving your keyboard. Right now, it does exactly one thing: skycanvas list prints “TODO”. Not impressive yet, but the foundation is solid. Python, Typer, Rich – the same stack that worked for KeyGlow (see my other project). What took the most time today? Data. Spent two hours manually researching and writing constellation data into a Python dictionary. Orion, Ursa Major, Cassiopeia, Scorpius, Taurus, Gemini, Leo, Cygnus, Lyra, etc. each with their brightest stars, visibility months, and the connections that make them recognizable shapes in the night sky. I also managed to create a cool ASCII logo for SKYCANVAS, and make it displayable by “skycanvas logo” command. I’m not using an API for this – instead I’ll use the Skyfield library, which has a massive built-in star catalog and calculates positions mathematically. The manual data is just for the constellation shapes and metadata – Skyfield handles the actual astronomy. Right now my constellations.py looks like a giant dictionary with empty spots waiting to be filled. Next up: completing the data and turning those coordinates into actual ASCII art. Bresenham’s line algorithm, here I come. ʕ•ᴥ•ʔ"}]...
|
Title: SkyCanvas CLI Tool by @Aeriss | Stardance
Title: SkyCanvas CLI Tool by @Aeriss | Stardance
Devlogs:
Devlog #01 – The Sky is Empty (For Now) ʕ•ᴥ•ʔ Hey! First devlog for SkyCanvas, my new CLI tool that maps real star constellations as ASCII art in your terminal. Think of it as a tiny planetarium, but without leaving your keyboard. Right now, it does exactly one thing: skycanvas list prints “TODO”. Not impressive yet, but the foundation is solid. Python, Typer, Rich – the same stack that worked for KeyGlow (see my other project). What took the most time today? Data. Spent two hours manually researching and writing constellation data into a Python dictionary. Orion, Ursa Major, Cassiopeia, Scorpius, Taurus, Gemini, Leo, Cygnus, Lyra, etc. each with their brightest stars, visibility months, and the connections that make them recognizable shapes in the night sky. I also managed to create a cool ASCII logo for SKYCANVAS, and make it displayable by “skycanvas logo” command. I’m not using an API for this – instead I’ll use the Skyfield library, which has a massive built-in star catalog and calculates positions mathematically. The manual data is just for the constellation shapes and metadata – Skyfield handles the actual astronomy. Right now my constellations.py looks like a giant dictionary with empty spots waiting to be filled. Next up: completing the data and turning those coordinates into actual ASCII art. Bresenham’s line algorithm, here I come. ʕ•ᴥ•ʔ
Devlog #02 - progress starts to be really visible ʕ•ᴥ•ʔ Here is what I have done so far: Expanded constellations.py with the remaining entries. The database now contains 30 constellations, each with: Name Common name Hemisphere Best Months Visibility Brightest star Stars Connections between them CLI Improvements Finished the list command using Rich library. Added: Two-column constellation table Cleaner terminal output Better readability Implemented rand command. It now: Picks a random constellation Displays full information in a Rich table Shows stars and connections Current Progress Completed: Typer CLI foundation Logo command Version command List command Random constellation viewer Initial constellation database Next: I am not sure yet, but probably Skyfield lib integration and astronomy engine.
Devlog #04 Constellation Rendering & CLI Integration Hey, I hope you are all doing amazing ʕ•ᴥ•ʔ Lately, I focused on improving the visualization system and connecting the constellation data with the CLI experience. The biggest addition in this session was creating the render.py system. It is responsible for generating ASCII representations of constellations using star coordinates and connections between them. This was an important step as SkyCanvas is now no longer just displaying astronomical data - it’s starting to actually visualize the constellations now ;) I also created coordinates.py , which contains the positional data of stars used by the renderer. These coordinates define the relative placement of stars and allow the program to recreate recognizable constellation shapes inside the terminal. Another major improvement was modifying the command skycanvas [constellation] command, to skycanvas constellation [name] . This allows users to choose a specific constellation and display its information table together with its ASCII visualization. Example: skycanvas constellation orion The command now shows: constellation information stars data connections ASCII art of stars I also improved the existing rand command. Previously, it only displayed the information table of a randomly selected constellation, and now it also renders the ASCII visualization, making the feature much more complete. What was easy and what challengin I think the easier part of this session was connecting existing constellation data with new CLI features, since the database was already prepared, adding new commands was much simpler. The most challenging part was creating the rendering system. Turning star coordinates into readable ASCII art required a lot of testing and adjustments to make the constellations recognizable in the terminal. Overall, this session was focused on turning stored astronomical data into an actual visual experience. I hope you notice my progress and view it positively 🤍
Devlog #04 Hey, I hope you are all doing amazing ʕ•ᴥ•ʔ This update was mainly focused on improving how SkyCanvas looks and feels to use. I spent a lot of time reworking the rendering system, adding new CLI features, and making the overall experience much more polished. Completely New ASCII Renderer One of the biggest changes was replacing the original ASCII rendering approach with a completely new one. Instead of relying on simple line characters, the renderer now uses a higher-resolution Braille-based drawing system, producing much smoother and cleaner constellation shapes in the terminal, hehe ;) The rendering pipeline itself was also redesigned, making it easier to maintain and expand in the future. Improved Visuals I also gave the terminal output a visual refresh. Stars are now highlighted in yellow, making them much easier to tell apart. Connection lines use a different color for better readability. These changes make the constellations far more enjoyable to look at while still keeping the project fully terminal-based. New Commands & Features This update also introduced several new commands compare command allows two constellations to be displayed side by side for quick visual comparison. It also supports comparing any constellation against every constellation currently visible with the tonight command. Speaking of that, tonight was added as well. It displays the constellations that are currently considered visible, making SkyCanvas feel much more interactive than simply viewing static constellation data. Animation Support Originally, I planned to implement a location command, but after thinking about it, I decided it didn’t fit the project very well, did it bruh? Instead, I replaced it with an –animate flag. Using this flag gradually draws a constellation in the terminal by animating its stars and connections before displaying the final result. Overall, this update was mostly about improving presentation and usability rather than adding huge amounts of new data. SkyCanvas now feels significantly more polished and closer to a complete first release. What went good The new commands integrated into the existing CLI surprisingly well. Since the project structure has become much cleaner over time, adding features like compare, tonight, and the animation system was fairly straightforward. What was hard The biggest challenge was redesigning the rendering. Getting constellation lines to look smooth with brail in a terminal while keeping everything aligned with stars and labels required several different approaches before I found one I was happy with. I’m getting really close to the first public release now. There are only a few finishing touches left before SkyCanvas reaches version 1.0. I am yet to implement export command though 🤍
Devlog #05 Hi eveyrone, I hope you are all doing great ʕ•ᴥ•ʔ Andddd we are shipping soon! This update of SkyCanvas was mainly focused on finishing the remaining major feature before release. I spent this time implementing the export system, improving the CLI experience, and fixing a lot of small bugs. Export System The biggest addition in this update was the new export functionality. SkyCanvas can now export constellations directly into image files using: skycanvas --export <target> <format> Supported formats: JPG, PNG, SVG and BMP Exported files are automatically saved to: ~/SkyCanvas/Exports/ with timestamps included in their filenames. The export system keeps the same visual style as the terminal version. The tonight target is also supported, allowing SkyCanvas to export every currently visible constellation into separate files automatically. Honestly, I had a lot of problems implementing export feature, even though this command might seem like an overkill, I think it is useful is some cases. Bug Fixes & General Polish Fixed issues related to: Export generation SVG formatting CLI argument handling (callback just wasn’t working) Duplicate console output Rendering behavior Various smaller bugs across the project What went good The export system integrated surprisingly well with the existing renderer. Since the rendering pipeline was already separated from the CLI logic, adding new output formats was much easier than expected. What was hard The biggest challenge was making exported images look exactly like the terminal version. Keeping the same proportions, colors, and Braille-style rendering outside the console required a lot of “adjustments”. SkyCanvas is now really close to the first public release 🤍 The remaining steps are: Writing full README PyPI preparation Publishing version 0.1.0 Writing files like pyproject.toml and requirements.txt I will update on those steps too!
Devlog #06 The last one ʕ•ᴥ•ʔ Hey I hope you are all doing amazing! This will be the final development log before SkyCanvas officially ships. The last few steps were focused on preparing the project for release rather than adding new features. I just: finished writing the README created the pyproject.toml polished the documentation, and made sure everything is ready to be published as a proper Python package I also fixed a few remaining bugs and gave the CLI last cleanup before release What went good Everything is finally in place, writing pyproject.toml was kind of muscle memory at this point. The project feels complete and ready for other people to install and use. What was hard Preparing a project for release takes much more work than it seems, although I think the pyproject.toml file is the easy part. Documentation and polishing ended up taking almost as much time as some of the features themselves. Time to upload SkyCanvas to PyPI and ship v0.1.0 🤍
Ships:
SkyCanvas v0.1.0 is officially released ʕ•ᴥ•ʔ After some solid time of development, testing, debugging, and polishing, SkyCanvas has finally reached its first release. SkyCanvas is a terminal-based ASCII constellation viewer powered by astronomical data. It allows you to explore constellations directly from your command line, view detailed information about stars and connections, compare different constellations, discover what is visible tonight, animate constellation drawings, and export them into image formats. One of the biggest challenges during development was creating a custom rendering system that could display constellations smoothly inside a terminal while keeping the output readable and visually appealing. I am so so proud that SkyCanvas grew from a simple terminal experiment into a complete application with its own renderer, animations, export pipeline, documentation, PyPI package etc. The project is now available for everyone to try. You can install it using: “pip install skycanvas” Then run: “skycanvas –help” to explore all available commands. Thank you to everyone who followed the development journey 🤍 Enjoy exploring the night sky directly from your terminal, even though not perfect, it should be enjoyable!...
|
1792972372.6837785
|
1793058772.6837785
|
|
56701
|
MIDL by @ibrahim- | Stardance
|
ibrahim-
|
2
|
14.0
|
228
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T15:22:22Z", "hours": 7.0, "multiplier": 16.78, "payout": 119, "blessing": "neutral", "text": "I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Almost all of the features that the reviewers mentioned in the last ship have been implemented! . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Cloud save file storage (YOU CAN SAVE YOUR SAVE FILES IN THE CLOUD) Accounts system LEADERBOARD!! (with custom MIDL points, although not all games support our leaderboard) Player controls (play, pause fullscreen) Security (popup blocking) You can now upload your own SWF file! . Planned Features Game snapshot as a save file Emulators!", "repo": "https://github.com/ibfactor/midl", "demo": "https://midl.ibfr.org/"}, {"ship_num": 2, "ts": "2026-09-04T06:33:19Z", "hours": 7.0, "multiplier": 14.95, "payout": 109, "blessing": "neutral", "text": "I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Planned Features Saving game state (as it is) Cloud storage functionality Retro console emulators!", "repo": "https://github.com/ibfactor/midl", "demo": "https://midl.ibfr.org/"}]...
|
[{"post_id": 64264, "ts": "202 [{"post_id": 64264, "ts": "2026-09-08T15:19:16Z", "hours": 0.7286, "text": "Devlog #15 Added finishing touches, and more importantly (something I forgot to mention earlier), you can now upload and play your own .SWF files!"}, {"post_id": 64202, "ts": "2026-09-08T12:58:56Z", "hours": 0.4606, "text": "Devlog #14 Finally fixed the extra space issue and squashed a few visual bugs"}, {"post_id": 64107, "ts": "2026-09-08T09:34:56Z", "hours": 0.2803, "text": "Devlog #13 Need your advice I do not know what do to with this extra space. Experimented for like 15 minutes but idk atp, nothing looked good. or or or I could leave it as it is."}, {"post_id": 64061, "ts": "2026-09-08T06:07:13Z", "hours": 0.7936, "text": "Devlog #12 Leaderboards are here Fixed a bug that was introduced in the previous log (save feature was not working as expected)."}, {"post_id": 63710, "ts": "2026-09-07T17:24:51Z", "hours": 0.9033, "text": "Devlog #11 The my account page is finally complete. I also implemented max (high) score calculation, just need to make the leaderboard now. MP (MIDL points) are different from in-game points, and use a special algorithm for their calculation. (multiplying all high scores in all levels, by the number of levels, and multiplying that by the number of stars gained, all of these values depend on the game of course)"}, {"post_id": 63581, "ts": "2026-09-07T14:34:19Z", "hours": 0.2656, "text": "Devlog #10 I’ve added the following games (on the request of @NC and @Definitly-Not-Me ): Dragon Ball Z vs Naruto One Piece vs Naruto Learn to Fly"}, {"post_id": 63551, "ts": "2026-09-07T13:56:37Z", "hours": 1.4186, "text": "Devlog #9 Finally completed the cloud save feature! Used Express and LowDB in the backend. Next Up: add requested games, squash bugs, and most importantly, add a leaderboard!"}, {"post_id": 62212, "ts": "2026-09-05T14:01:31Z", "hours": 2.2394, "text": "Devlog #8 Finally created the authentication system using Express & LowDB, not committing to GitHub yet since I still have to set up the server. I’ve seen all the reviews and will implement them. Also added the close buttons to modals. The requested games will be added in the next devlog. :)"}, {"post_id": 60891, "ts": "2026-09-03T15:17:26Z", "hours": 0.3594, "text": "Devlog #7 Finally implemented the save manager"}, {"post_id": 60853, "ts": "2026-09-03T14:11:47Z", "hours": 2.2514, "text": "Devlog #6 I fixed a few bugs, added a few animations, and most importantly… Wasted 2 whole hours trying to get ruffle player state to restore after reloads…… which failed So plan B, we use the actual save files."}, {"post_id": 60299, "ts": "2026-09-02T16:00:31Z", "hours": 0.8422, "text": "Devlog #5 Done with the Ruffle player, added play/pause controls, fullscreen, and developed a custom solution for saving ruffle state (this is really exciting ), so now we can have flash games with cloud state saves :3"}, {"post_id": 60187, "ts": "2026-09-02T12:43:37Z", "hours": 1.2194, "text": "Devlog #4 Done with the game page and some animations <3 I need your help now, comment ANY obscure flash games you used to play so that they can be archived"}, {"post_id": 59766, "ts": "2026-09-01T18:13:57Z", "hours": 1.0086, "text": "Devlog #3 Finally done with some animations and the search bar"}, {"post_id": 59598, "ts": "2026-09-01T14:43:41Z", "hours": 1.3175, "text": "Devlog #2 Done with adding the games, the images, and styled the main home page. now I need your help, comment any obscure flash game you used to play so that it can be added and archived"}, {"post_id": 58977, "ts": "2026-08-31T15:32:12Z", "hours": 0.2656, "text": "I need YOUR help Do you know of any obscure flash games you used to play? Comment it so it can be added Done with the base styles and structure + created and filled the games database partially"}]...
|
Title: MIDL by @ibrahim- | Stardance
Devlogs:
I n Title: MIDL by @ibrahim- | Stardance
Devlogs:
I need YOUR help Do you know of any obscure flash games you used to play? Comment it so it can be added Done with the base styles and structure + created and filled the games database partially
Devlog #2 Done with adding the games, the images, and styled the main home page. now I need your help, comment any obscure flash game you used to play so that it can be added and archived
Devlog #3 Finally done with some animations and the search bar
Devlog #4 Done with the game page and some animations <3 I need your help now, comment ANY obscure flash games you used to play so that they can be archived
Devlog #5 Done with the Ruffle player, added play/pause controls, fullscreen, and developed a custom solution for saving ruffle state (this is really exciting ), so now we can have flash games with cloud state saves :3
Devlog #6 I fixed a few bugs, added a few animations, and most importantly… Wasted 2 whole hours trying to get ruffle player state to restore after reloads…… which failed So plan B, we use the actual save files.
Devlog #7 Finally implemented the save manager
Devlog #8 Finally created the authentication system using Express & LowDB, not committing to GitHub yet since I still have to set up the server. I’ve seen all the reviews and will implement them. Also added the close buttons to modals. The requested games will be added in the next devlog. :)
Devlog #9 Finally completed the cloud save feature! Used Express and LowDB in the backend. Next Up: add requested games, squash bugs, and most importantly, add a leaderboard!
Devlog #10 I’ve added the following games (on the request of @NC and @Definitly-Not-Me ): Dragon Ball Z vs Naruto One Piece vs Naruto Learn to Fly
Devlog #11 The my account page is finally complete. I also implemented max (high) score calculation, just need to make the leaderboard now. MP (MIDL points) are different from in-game points, and use a special algorithm for their calculation. (multiplying all high scores in all levels, by the number of levels, and multiplying that by the number of stars gained, all of these values depend on the game of course)
Devlog #12 Leaderboards are here Fixed a bug that was introduced in the previous log (save feature was not working as expected).
Devlog #13 Need your advice I do not know what do to with this extra space. Experimented for like 15 minutes but idk atp, nothing looked good. or or or I could leave it as it is.
Devlog #14 Finally fixed the extra space issue and squashed a few visual bugs
Devlog #15 Added finishing touches, and more importantly (something I forgot to mention earlier), you can now upload and play your own .SWF files!
Ships:
I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Planned Features Saving game state (as it is) Cloud storage functionality Retro console emulators!
I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Almost all of the features that the reviewers mentioned in the last ship have been implemented! . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Cloud save file storage (YOU CAN SAVE YOUR SAVE FILES IN THE CLOUD) Accounts system LEADERBOARD!! (with custom MIDL points, although not all games support our leaderboard) Player controls (play, pause fullscreen) Security (popup blocking) You can now upload your own SWF file! . Planned Features Game snapshot as a save file Emulators!...
|
1793000846.118201
|
1793087246.118201
|
|
30835
|
Advanced Search Ultimate by @EthanCubes | Stardanc Advanced Search Ultimate by @EthanCubes | Stardance...
|
EthanCubes
|
2
|
19.54
|
226
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T23:36:05Z", "hours": 11.0, "multiplier": 13.88, "payout": 157, "blessing": "neutral", "text": "I created a better GUI and fixed some bugs for Advanced Search Ultimate, a optimized searching extension. I feel like the UI looks pretty good (inspired by the Stardance UI). Note: the project is available on the Firefox extension store (link in README) but not the Chrome Web Store, because Chrome Web Stores requires an one-time payment for me to put extensions on there.", "repo": "https://github.com/EthanCubes/advanced-search-ultimate", "demo": "https://ethancubes.github.io/advanced-search-ultimate"}, {"ship_num": 2, "ts": "2026-08-11T20:33:34Z", "hours": 7.0, "multiplier": 9.35, "payout": 69, "blessing": "neutral", "text": "I made a browser extension that makes searching the internet easier. Some people might not know this, but most search engines actually have advanced search operators that can narrow down your search results even more by filtering by keywords not to include, keywords in the title or URL, and what specific site to search in. But most of the time, those search engine advanced operators require a lot of memorization. That’s where this extension comes in. The Advanced Search Ultimate extension provides faster advanced searching from every page and supports six of the most popular search engines. Even if you don’t need advanced searching in a particular scenario, you can open the extension and instantly search from anywhere. It also saves brainpower if you don’t want to memorize all the operators. This is my first extension, and I couldn’t really find many good tutorials that were short enough that my attention span could handle it, so yeah please pardon my 7 hours of coding time. Note that this extension isn’t available on the Chrome or Firefox extension stores yet due to the Chrome Web Store being locked behind a paywall and the Mozilla Store is still verifying that the project is not malware.", "repo": "https://github.com/EthanCubes/advanced-search-ultimate", "demo": "https://ethancubes.github.io/advanced-search-ultimate"}]...
|
[{"post_id": 82852, "ts": "202 [{"post_id": 82852, "ts": "2026-10-26T00:56:31Z", "hours": 0.3192, "text": "Devlog #14: The extension now saves the last search engine you used, and in the case of Google and DuckDuckGo, whether you decided to use AI or not. I probably didn’t implement the feature very well, but according to my tests it works on both Firefox and Brave. It was done with localstorage, which I have worked with before and am pretty comfortable with. IDK why I’m still working on this project, 4 months after I started it."}, {"post_id": 82506, "ts": "2026-10-25T01:48:32Z", "hours": 0.9039, "text": "Devlog #13: I added an AI filter setting. Many search engines have AI overview, which some people (like me) don’t want. So I added a way to remove it. DuckDuckGo has a no AI mode at noai.duckduckgo.com, which is good that the devs were so thoughtful. Google also has a secret “web” mode that does not have the AI overview when you append &udm=14 at the end of the URL. So I just implemented those things, which took way too long since my code is spaghetti :)."}, {"post_id": 82445, "ts": "2026-10-24T20:27:14Z", "hours": 0.3156, "text": "Devlog #12: I made an optimization change that would reduce lag for people on slower internet connections. Before, the search engine font would load from Google fonts. I literally live on cell data and public wifi, so it takes a good few seconds to load. Usually, this wouldn’t be that much of an issue, but I realized that the extension just… breaks when the font is incorrect. This is because I write horrible code, and the location of everything is configured for the correct font only. I’m also too lazy to configure a proper fallback font. What I did was I just downloaded the font and put it into the assets folder. Yes, it’s that simple. Yes, I did write a 3 paragraph devlog for a change that took me only a few minutes."}, {"post_id": 53423, "ts": "2026-08-23T23:29:09Z", "hours": 1.7586, "text": "Devlog #11: I changed the spacing on the program to make it look better and also made it so that the user can search if the “contains all of the following” field is blank, as long as the specific search field has some content. If you’re wondering why it took me like an hour to do these simple changes, it because I had to package the extension and put it on GitHub (and the Mozilla store). I created two releases, and halfway through the second release, I realized that I forgot to change the version number in the manifest. Since I need an unique version number to put it on Firefox, I changed the release I was working on. And I just gave up on changing the already released on, since I’ve already spent like 17 minutes timelapsing, and wasn’t a fan of working 10 more minutes for something no one is actually going to see."}, {"post_id": 53324, "ts": "2026-08-23T19:59:22Z", "hours": 2.5217, "text": "Devlog #10: My UI still sucks. So, I searched for a website that looks good and easy to recreate. After about 15 minutes of searching with no avail, I realized that there was a really good website sitting right in front of me all this time: the Stardance website, which I’ve had open for like 5 hours atp. I proceded to use KColorChooser to get every single color on the Stardance website. I proceeded to make the extension look kinda like Stardance, except it is still noticeably worse. Some of the changes I implemented in order to be more like Stardance also doubled as general quality of life improvements. One such improvement was changing the search button to not even being able to be pressed when query is empty. It now copies the Stardance UI by greying out the button, and changing the cursor to “not-allowed”. A popup also appears when you hover over the greyed-out button, also like Stardance. The UI still needs some improvements probably, I hope I can get it done soon."}, {"post_id": 52782, "ts": "2026-08-23T03:52:16Z", "hours": 1.3728, "text": "Devlog #9: I wasted an hour trying to add time operators. Then I discovered that time and data operators are not universal across search engines, which means that it would take absolutely forever to implement it. Rather than waste more time, I just decided to cut my losses and quit before it consumes too much of my time. I still have several other projects I would like to start/finish, so yeah. TD;DR: spent an hour doing nothing (that I didn’t decided to undo)."}, {"post_id": 52735, "ts": "2026-08-23T01:55:35Z", "hours": 5.3494, "text": "Devlog #8: When I shipped the project, the feedback from the reviewers was mostly positive, and there was only one real problem: the UI sucks. Which, for the record, I totally agree with. I don’t know what I was thinking, shipping a project that looks like someone made it in like 2004. Now, uh… the UI is like 10% better. Yes, it took me 5 hours to do it (I mean, some of the time was spent improving the README to be better). I went through like 10 different versions with different colours, fonts, and text box rounding. If you think one of the themes is better than the current one, please tell me, I need feedback."}, {"post_id": 48658, "ts": "2026-08-17T04:25:21Z", "hours": 0.2819, "text": "Not really a devlog, but some IMPORTANT NOTES first, FOR FURTHER CLARIFICATION: The live demo link is the web version The Firefox link is linked in the README Releases for both Chrome and Firefox are in the GitHub releases The extension is now LIVE on the Mozilla Store, for Firefox-based browsers like Firefox, Librewolf, etc. Click here to download. For chrome users, well I’m not paying to put the extension onto the Chrome Web Store, so apologies. You can still try the web version or the manual installation."}, {"post_id": 45390, "ts": "2026-08-11T20:22:02Z", "hours": 0.7211, "text": "Devlog #6 (final devlog before ship): So I wasn’t that ready for shipping. I had to update the README and did some bugfixes. The main bug was that you could not select an option to search all filetypes, you were limited to pdf, or limited to docx, or whatever. That’s fixed now, and also the advanced options are no longer considered when they are hidden. (Screenshot is of the web page because I’m too lazy to install the extension again, since I use firefox I don’t think I can install permanently and last time I think I made a change that broke it)"}, {"post_id": 43690, "ts": "2026-08-09T03:04:09Z", "hours": 0.6978, "text": "Devlog #5: I’ve been preparing for shipping, because the project already has all the required features. I configured two separate manifest.json files, one for Chrome and one for Firefox. Since I’m not paying $5 for the Chrome Web Store developer license, the chrome extension is on GitHub, in both zip and crx format. And even though the mozilla store doesn’t require payment, it does take 24 hours to get approved, so yeah, the zip file is on GitHub also. I’ll wait until it’s on the mozilla store to ship. In the meantime, this is probably going to be the last devlog."}, {"post_id": 43601, "ts": "2026-08-08T23:17:17Z", "hours": 2.0361, "text": "Devlog #4: Pretty massive overhaul. I updated the manifest to not be AI since it was AI previously. I don’t know why, but as of now the searching actually works (it’s been like a month so i might not remember, but i don’t think it worked previously). I also added 4 new (optional) search options: File type In title In URL In text I believe they work on all of the included search engines. I only tested on DuckDuckGo because that’s what I use. The options remain hidden most of the time, unless you click the blue button, which makes them appear."}, {"post_id": 25519, "ts": "2026-07-09T20:45:33Z", "hours": 1.4317, "text": "Devlog #3 So I finally turned advanced search ultimate into an Firefox extension. Right now, you still have to import the extension temporarily through about:debugging , but it works, and a popup pops up. I would show it in a screenshot, but it just does not show up on any of my screenshots. Probably an operating system issue. Essentially, I just used MDN Web docs to create the basis for the extension. Unfortunately, I didn’t understand a lot of it, so I had to use AI interpret some of it. I suppose I should make it compatible with Chromium, I don’t know how yet."}, {"post_id": 23082, "ts": "2026-07-05T20:25:07Z", "hours": 1.0525, "text": "Devlog #2: I finally fixed the code that redirects the user to the search page (as you can see in the attached screenshot). I spent a while trying to add even more search operators, but I decided that most people wouldn’t use them anyway and focus on more urgent features like turning it into an extension. Changes Clicking the search button now redirects the user to the search page instead of just copying it to keyboard README was updated to be better and include more things. Changed the font to Arial."}, {"post_id": 22547, "ts": "2026-07-05T02:13:03Z", "hours": 1.4528, "text": "Devlog #1: Ever since I switched from Google to DuckDuckGo, I’ve been annoyed by how there was no real way to easily do an advanced search. Google has an entire web page dedicated to making more precise searches pretty easy, but there’s nothing (that I know of) for other search engines. So today I made the basic inputs fields using HTML and wrote some code to process it with JavaScript. Essentially, I collected the values as a single string for the website field and the “specific phrase” field, and used split(/\\s+/) to make arrays out of the “contains all of the following” and “contains none of the following” fields. They are placed inside and object, and the contents of the object is then finally converted into the final query, which is copied onto the user’s clipboard. I did try to directly bring the user to the search page, but it didn’t work so well, so pasting the query into an existing search engine will have to work for now. I plan on turning this web page into a Chromium and Firefox extension after I’m done the webpage so that it’s even easier and more convenient to use."}]...
|
Title: Advanced Search Ultimate by @EthanCubes | S Title: Advanced Search Ultimate by @EthanCubes | Stardance
Devlogs:
Devlog #1: Ever since I switched from Google to DuckDuckGo, I’ve been annoyed by how there was no real way to easily do an advanced search. Google has an entire web page dedicated to making more precise searches pretty easy, but there’s nothing (that I know of) for other search engines. So today I made the basic inputs fields using HTML and wrote some code to process it with JavaScript. Essentially, I collected the values as a single string for the website field and the “specific phrase” field, and used split(/\s+/) to make arrays out of the “contains all of the following” and “contains none of the following” fields. They are placed inside and object, and the contents of the object is then finally converted into the final query, which is copied onto the user’s clipboard. I did try to directly bring the user to the search page, but it didn’t work so well, so pasting the query into an existing search engine will have to work for now. I plan on turning this web page into a Chromium and Firefox extension after I’m done the webpage so that it’s even easier and more convenient to use.
Devlog #2: I finally fixed the code that redirects the user to the search page (as you can see in the attached screenshot). I spent a while trying to add even more search operators, but I decided that most people wouldn’t use them anyway and focus on more urgent features like turning it into an extension. Changes Clicking the search button now redirects the user to the search page instead of just copying it to keyboard README was updated to be better and include more things. Changed the font to Arial.
Devlog #3 So I finally turned advanced search ultimate into an Firefox extension. Right now, you still have to import the extension temporarily through about:debugging , but it works, and a popup pops up. I would show it in a screenshot, but it just does not show up on any of my screenshots. Probably an operating system issue. Essentially, I just used MDN Web docs to create the basis for the extension. Unfortunately, I didn’t understand a lot of it, so I had to use AI interpret some of it. I suppose I should make it compatible with Chromium, I don’t know how yet.
Devlog #4: Pretty massive overhaul. I updated the manifest to not be AI since it was AI previously. I don’t know why, but as of now the searching actually works (it’s been like a month so i might not remember, but i don’t think it worked previously). I also added 4 new (optional) search options: File type In title In URL In text I believe they work on all of the included search engines. I only tested on DuckDuckGo because that’s what I use. The options remain hidden most of the time, unless you click the blue button, which makes them appear.
Devlog #5: I’ve been preparing for shipping, because the project already has all the required features. I configured two separate manifest.json files, one for Chrome and one for Firefox. Since I’m not paying $5 for the Chrome Web Store developer license, the chrome extension is on GitHub, in both zip and crx format. And even though the mozilla store doesn’t require payment, it does take 24 hours to get approved, so yeah, the zip file is on GitHub also. I’ll wait until it’s on the mozilla store to ship. In the meantime, this is probably going to be the last devlog.
Devlog #6 (final devlog before ship): So I wasn’t that ready for shipping. I had to update the README and did some bugfixes. The main bug was that you could not select an option to search all filetypes, you were limited to pdf, or limited to docx, or whatever. That’s fixed now, and also the advanced options are no longer considered when they are hidden. (Screenshot is of the web page because I’m too lazy to install the extension again, since I use firefox I don’t think I can install permanently and last time I think I made a change that broke it)
Not really a devlog, but some IMPORTANT NOTES first, FOR FURTHER CLARIFICATION: The live demo link is the web version The Firefox link is linked in the README Releases for both Chrome and Firefox are in the GitHub releases The extension is now LIVE on the Mozilla Store, for Firefox-based browsers like Firefox, Librewolf, etc. Click here to download. For chrome users, well I’m not paying to put the extension onto the Chrome Web Store, so apologies. You can still try the web version or the manual installation.
Devlog #8: When I shipped the project, the feedback from the reviewers was mostly positive, and there was only one real problem: the UI sucks. Which, for the record, I totally agree with. I don’t know what I was thinking, shipping a project that looks like someone made it in like 2004. Now, uh… the UI is like 10% better. Yes, it took me 5 hours to do it (I mean, some of the time was spent improving the README to be better). I went through like 10 different versions with different colours, fonts, and text box rounding. If you think one of the themes is better than the current one, please tell me, I need feedback.
Devlog #9: I wasted an hour trying to add time operators. Then I discovered that time and data operators are not universal across search engines, which means that it would take absolutely forever to implement it. Rather than waste more time, I just decided to cut my losses and quit before it consumes too much of my time. I still have several other projects I would like to start/finish, so yeah. TD;DR: spent an hour doing nothing (that I didn’t decided to undo).
Devlog #10: My UI still sucks. So, I searched for a website that looks good and easy to recreate. After about 15 minutes of searching with no avail, I realized that there was a really good website sitting right in front of me all this time: the Stardance website, which I’ve had open for like 5 hours atp. I proceded to use KColorChooser to get every single color on the Stardance website. I proceeded to make the extension look kinda like Stardance, except it is still noticeably worse. Some of the changes I implemented in order to be more like Stardance also doubled as general quality of life improvements. One such improvement was changing the search button to not even being able to be pressed when query is empty. It now copies the Stardance UI by greying out the button, and changing the cursor to “not-allowed”. A popup also appears when you hover over the greyed-out button, also like Stardance. The UI still needs some improvements probably, I hope I can get it done soon.
Devlog #11: I changed the spacing on the program to make it look better and also made it so that the user can search if the “contains all of the following” field is blank, as long as the specific search field has some content. If you’re wondering why it took me like an hour to do these simple changes, it because I had to package the extension and put it on GitHub (and the Mozilla store). I created two releases, and halfway through the second release, I realized that I forgot to change the version number in the manifest. Since I need an unique version number to put it on Firefox, I changed the release I was working on. And I just gave up on changing the already released on, since I’ve already spent like 17 minutes timelapsing, and wasn’t a fan of working 10 more minutes for something no one is actually going to see.
Devlog #12: I made an optimization change that would reduce lag for people on slower internet connections. Before, the search engine font would load from Google fonts. I literally live on cell data and public wifi, so it takes a good few seconds to load. Usually, this wouldn’t be that much of an issue, but I realized that the extension just… breaks when the font is incorrect. This is because I write horrible code, and the location of everything is configured for the correct font only. I’m also too lazy to configure a proper fallback font. What I did was I just downloaded the font and put it into the assets folder. Yes, it’s that simple. Yes, I did write a 3 paragraph devlog for a change that took me only a few minutes.
Devlog #13: I added an AI filter setting. Many search engines have AI overview, which some people (like me) don’t want. So I added a way to remove it. DuckDuckGo has a no AI mode at noai.duckduckgo.com, which is good that the devs were so thoughtful. Google also has a secret “web” mode that does not have the AI overview when you append &udm=14 at the end of the URL. So I just implemented those things, which took way too long since my code is spaghetti :).
Devlog #14: The extension now saves the last search engine you used, and in the case of Google and DuckDuckGo, whether you decided to use AI or not. I probably didn’t implement the feature very well, but according to my tests it works on both Firefox and Brave. It was done with localstorage, which I have worked with before and am pretty comfortable with. IDK why I’m still working on this project, 4 months after I started it.
Ships:
I made a browser extension that makes searching the internet easier. Some people might not know this, but most search engines actually have advanced search operators that can narrow down your search results even more by filtering by keywords not to include, keywords in the title or URL, and what specific site to search in. But most of the time, those search engine advanced operators require a lot of memorization. That’s where this extension comes in. The Advanced Search Ultimate extension provides faster advanced searching from every page and supports six of the most popular search engines. Even if you don’t need advanced searching in a particular scenario, you can open the extension and instantly search from anywhere. It also saves brainpower if you don’t want to memorize all the operators. This is my first extension, and I couldn’t really find many good tutorials that were short enough that my attention span could handle it, so yeah please pardon my 7 hours of coding time. Note that this extension isn’t available on the Chrome or Firefox extension stores yet due to the Chrome Web Store being locked behind a paywall and the Mozilla Store is still verifying that the project is not malware.
I created a better GUI and fixed some bugs for Advanced Search Ultimate, a optimized searching extension. I feel like the UI looks pretty good (inspired by the Stardance UI). Note: the project is available on the Firefox extension store (link in README) but not the Chrome Web Store, because Chrome Web Stores requires an one-time payment for me to put extensions on there....
|
1792983112.8241577
|
1793069512.8241577
|
|
49750
|
Orbit simulator by @SHREYANS | Stardance
|
SHREYANS
|
1
|
34.44
|
225
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T10:14:45Z", "hours": 34.0, "multiplier": 6.69, "payout": 225, "blessing": "neutral", "text": "I FINALLY built an interactive Rocket Launch Simulator that models thrust, fuel, gravity, drag, atmosphere, and orbital velocity. The hardest part was combining realistic physics with a smooth animated trajectory(In 2D ofc… 3D would be quite difficult). I love that this project uses complex rocket equations into something visual and interactive and also gives a quick revision of PROJECTILE MOTION. Be sure to leave a review on as to how was the experience and how I can improve it and If you really understood from the “How it Works” section", "repo": "https://github.com/Shreyans800/Stardance", "demo": "https://shreyans800.github.io/Stardance/"}]...
|
[{"post_id": 55635, "ts": "202 [{"post_id": 55635, "ts": "2026-08-27T16:25:20Z", "hours": 0.44, "text": "They said that I cant use Streamlit. So now I have to shift my entire front and back end to HTML CSS AND JAVA. GREAT! (Never used java)"}, {"post_id": 55459, "ts": "2026-08-27T10:09:09Z", "hours": 5.7236, "text": "FINALLY !!! DEPLOYED!!!"}, {"post_id": 55348, "ts": "2026-08-27T04:07:29Z", "hours": 6.2467, "text": "okay, 1 last time before deploying… Worked hard and got the result but I could only run the animation in 2D using plotly and Base64 and IO. I am working on another one which uses a 3D model which is also a sequel to this (yes now an orbit simulator … the rocket has released the orbiter) which I will directly deploy on STREAMLIT! (link- https://orbitsimulator.streamlit.app )"}, {"post_id": 55074, "ts": "2026-08-26T14:41:43Z", "hours": 6.2619, "text": "Got the first simulation UP AND RUNNING… (literally too) You can think of it as projectile motion to be honest but all the parameters are customizable (eg- fuel mass, nozzle area, drag, burn time etc.)"}, {"post_id": 54433, "ts": "2026-08-25T13:22:25Z", "hours": 8.7331, "text": "Finally the Major updates and Simulations are done !!!! Now small aesthetic changes left!!"}, {"post_id": 52804, "ts": "2026-08-23T04:42:11Z", "hours": 6.3311, "text": "So now I have figured out the basic layout of the page and the mechanics of simulation… Quite some coding"}, {"post_id": 48337, "ts": "2026-08-16T17:26:46Z", "hours": 0.3792, "text": "Devlog #1 — Getting Started with the Rocket Launch Simulator 🚀 Today I started building my Rocket Launch Simulator. I set up the project and began developing the core simulation in Python. I also set up the project structure and Git repository so I can keep track of the development as I build. The first version focuses on the basic physics needed for a rocket launch, including thrust, fuel consumption, gravity, atmospheric drag, acceleration, velocity, and altitude. Next, I plan to improve the flight model and add more visualizations so the launch can be explored interactively. Progress: Project setup + initial rocket physics implementation."}]...
|
Title: Orbit simulator by @SHREYANS | Stardance
D Title: Orbit simulator by @SHREYANS | Stardance
Devlogs:
Devlog #1 — Getting Started with the Rocket Launch Simulator 🚀 Today I started building my Rocket Launch Simulator. I set up the project and began developing the core simulation in Python. I also set up the project structure and Git repository so I can keep track of the development as I build. The first version focuses on the basic physics needed for a rocket launch, including thrust, fuel consumption, gravity, atmospheric drag, acceleration, velocity, and altitude. Next, I plan to improve the flight model and add more visualizations so the launch can be explored interactively. Progress: Project setup + initial rocket physics implementation.
So now I have figured out the basic layout of the page and the mechanics of simulation… Quite some coding
Finally the Major updates and Simulations are done !!!! Now small aesthetic changes left!!
Got the first simulation UP AND RUNNING… (literally too) You can think of it as projectile motion to be honest but all the parameters are customizable (eg- fuel mass, nozzle area, drag, burn time etc.)
okay, 1 last time before deploying… Worked hard and got the result but I could only run the animation in 2D using plotly and Base64 and IO. I am working on another one which uses a 3D model which is also a sequel to this (yes now an orbit simulator … the rocket has released the orbiter) which I will directly deploy on STREAMLIT! (link- https://orbitsimulator.streamlit.app )
FINALLY !!! DEPLOYED!!!
They said that I cant use Streamlit. So now I have to shift my entire front and back end to HTML CSS AND JAVA. GREAT! (Never used java)
Ships:
I FINALLY built an interactive Rocket Launch Simulator that models thrust, fuel, gravity, drag, atmosphere, and orbital velocity. The hardest part was combining realistic physics with a smooth animated trajectory(In 2D ofc… 3D would be quite difficult). I love that this project uses complex rocket equations into something visual and interactive and also gives a quick revision of PROJECTILE MOTION. Be sure to leave a review on as to how was the experience and how I can improve it and If you really understood from the “How it Works” section...
|
1792878531.8610516
|
1793742531.8610516
|
|
50695
|
SSTC by @sidd | Stardance
|
sidd
|
1
|
0.0
|
225
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T14:46:13Z", "hours": 0.0, "multiplier": 5.0, "payout": 225, "blessing": "neutral", "text": "A solid state Tesla coil (brought to Open Sauce!)", "repo": "https://github.com/Firestorm108/Self-Tuning-SSTC", "demo": ""}]...
|
[{"post_id": 55963, "ts": "202 [{"post_id": 55963, "ts": "2026-07-11T00:00:00Z", "hours": 18.0, "text": "I kinda pulled an all nighter because I needed this done for outpost, and I made the entire driver, wound the coils, and just finished lol. Time Spent: 18 Hours"}, {"post_id": 55932, "ts": "2026-07-11T00:00:00Z", "hours": 18.0, "text": "I kinda pulled an all nighter because I needed this done for outpost, and I made the entire driver, wound the coils, and just finished lol. Time Spent: 18 Hours"}, {"post_id": 55962, "ts": "2026-07-07T00:00:00Z", "hours": 3.0, "text": "I made the 340VDC bus power supply and the 12V logic power supply."}, {"post_id": 55931, "ts": "2026-07-07T00:00:00Z", "hours": 3.0, "text": "I made the 340VDC bus power supply and the 12V logic power supply."}, {"post_id": 55961, "ts": "2026-06-21T00:00:00Z", "hours": 4.0, "text": "I started out designing the topload, secondary, and primary in Fusion. I then made the enclosure and mounted electronics, etc. Did some polished and the CAD is finished! Yes, I am advertising my engineering account on a tesla coil :) Then I made the BOM which sucked. Since I can’t use aliexpress, I had to use amazon, digikey, and ebay which are all a pain to use compared to my dear aliexpress. I’m gonna organize the repo now then submit Time Spent: 4 Hours"}, {"post_id": 55930, "ts": "2026-06-21T00:00:00Z", "hours": 4.0, "text": "I started out designing the topload, secondary, and primary in Fusion. I then made the enclosure and mounted electronics, etc. Did some polished and the CAD is finished! Yes, I am advertising my engineering account on a tesla coil :) Then I made the BOM which sucked. Since I can’t use aliexpress, I had to use amazon, digikey, and ebay which are all a pain to use compared to my dear aliexpress. I’m gonna organize the repo now then submit Time Spent: 4 Hours"}, {"post_id": 55905, "ts": "2026-06-20T00:00:00Z", "hours": 7.0, "text": "I did footprints and layout and a bit of routing. So I wasn’t happy with my layout, mostly because I organized by components and not by circuits. So I grouped each circuit up first, and placed them together like blocks. And it came out way better and I think the routing will be nicer too. I then did the routing and it turned out looking really good! I’m happy with this, so I’m now going to move on to the coil itself. Which hopefully won’t be too much of a pain but it is going to be a pain but it’s okay because it’s for Open Sauce. I calculated the coil values with JavaTC. Which is a hard AF tool to learn considering there are zero resources on this on the internet. I figured it out though and came up with a decent coil. Time Spent: 7 Hours"}, {"post_id": 55904, "ts": "2026-06-11T00:00:00Z", "hours": 4.0, "text": "I made the schematic today. It’s inspired by LoneOceans, Steve Ward, and some other circuits. Making circuits like these and not just spamming chips like on a devboard is much much harder because you have to use actual logic. Instead of just having function blocks and adding some decoupling caps to them, each component has a very specific purpose. Like the two clamping diodes on the antenna so that it doesn’t go further than 5V. I started with the main power supply that provides 340VDC, 12VDC, and 5VDC. Which is the logic components and the main power. After that, I did the common useful 555 interrupter. The original design used an ATMEGA, but using a microcontroller in Tesla coils doesn’t really seem like it provides much of an advantage. It’s sensitive, requires programming, and has no real advantage over a 555 other than music I guess> Finally, I did the main driving circuit. It uses the interrupter to turn it on and off, feedback from the antenna, to drive the half bridge primary, I then swapped out some stuff for terminals so that it’s all easily replaceable and the heavy components aren’t on the board itself. Here’s what it looks like (now finished) Time Spent: 4 Hours"}]...
|
Title: SSTC by @sidd | Stardance
Devlogs:
I made Title: SSTC by @sidd | Stardance
Devlogs:
I made the schematic today. It’s inspired by LoneOceans, Steve Ward, and some other circuits. Making circuits like these and not just spamming chips like on a devboard is much much harder because you have to use actual logic. Instead of just having function blocks and adding some decoupling caps to them, each component has a very specific purpose. Like the two clamping diodes on the antenna so that it doesn’t go further than 5V. I started with the main power supply that provides 340VDC, 12VDC, and 5VDC. Which is the logic components and the main power. After that, I did the common useful 555 interrupter. The original design used an ATMEGA, but using a microcontroller in Tesla coils doesn’t really seem like it provides much of an advantage. It’s sensitive, requires programming, and has no real advantage over a 555 other than music I guess> Finally, I did the main driving circuit. It uses the interrupter to turn it on and off, feedback from the antenna, to drive the half bridge primary, I then swapped out some stuff for terminals so that it’s all easily replaceable and the heavy components aren’t on the board itself. Here’s what it looks like (now finished) Time Spent: 4 Hours
I did footprints and layout and a bit of routing. So I wasn’t happy with my layout, mostly because I organized by components and not by circuits. So I grouped each circuit up first, and placed them together like blocks. And it came out way better and I think the routing will be nicer too. I then did the routing and it turned out looking really good! I’m happy with this, so I’m now going to move on to the coil itself. Which hopefully won’t be too much of a pain but it is going to be a pain but it’s okay because it’s for Open Sauce. I calculated the coil values with JavaTC. Which is a hard AF tool to learn considering there are zero resources on this on the internet. I figured it out though and came up with a decent coil. Time Spent: 7 Hours
I started out designing the topload, secondary, and primary in Fusion. I then made the enclosure and mounted electronics, etc. Did some polished and the CAD is finished! Yes, I am advertising my engineering account on a tesla coil :) Then I made the BOM which sucked. Since I can’t use aliexpress, I had to use amazon, digikey, and ebay which are all a pain to use compared to my dear aliexpress. I’m gonna organize the repo now then submit Time Spent: 4 Hours
I started out designing the topload, secondary, and primary in Fusion. I then made the enclosure and mounted electronics, etc. Did some polished and the CAD is finished! Yes, I am advertising my engineering account on a tesla coil :) Then I made the BOM which sucked. Since I can’t use aliexpress, I had to use amazon, digikey, and ebay which are all a pain to use compared to my dear aliexpress. I’m gonna organize the repo now then submit Time Spent: 4 Hours
I made the 340VDC bus power supply and the 12V logic power supply.
I made the 340VDC bus power supply and the 12V logic power supply.
I kinda pulled an all nighter because I needed this done for outpost, and I made the entire driver, wound the coils, and just finished lol. Time Spent: 18 Hours
I kinda pulled an all nighter because I needed this done for outpost, and I made the entire driver, wound the coils, and just finished lol. Time Spent: 18 Hours
Ships:
A solid state Tesla coil (brought to Open Sauce!)...
|
1792979341.014891
|
1793065741.014891
|
|
10021
|
personal website by @orangishcat | Stardance
|
orangishcat
|
1
|
24.0
|
223
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T23:32:43Z", "hours": 24.0, "multiplier": 9.16, "payout": 223, "blessing": "neutral", "text": "My favorite project, and also the best one I’ve ever made! Please read my devlog for more details and easter eggs: https://orangishcat.neocities.org/blog/personal-website/", "repo": "https://github.com/orangishcat/orangishcat.github.io", "demo": "https://orangishcat.neocities.org/"}]...
|
[{"post_id": 37935, "ts": "202 [{"post_id": 37935, "ts": "2026-07-30T23:20:23Z", "hours": 4.6331, "text": "Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ Just some small changes since then. I’ve made the background less orange and instead blue. The orange theme was making the orange background look terrible, so I changed it to blue, which matches better with the color of a night sky. Updated the games list. As it turns out, there’s a lot of cool games out there! Added more links to the Links part of the sidebar."}, {"post_id": 29631, "ts": "2026-07-16T18:04:57Z", "hours": 4.1481, "text": "Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ everything is done!!! I added background art with the Moon and stars, and added my blog posts to the right sidebar! it took like an hour to debug all the issues with the MDX integration and UI layout, but it was mostly successful and super worth it!"}, {"post_id": 28554, "ts": "2026-07-14T21:34:02Z", "hours": 8.9608, "text": "Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ the website is pretty much done! All the content and whatnot is complete, I just need to add some blog posts to fill up the blog space!"}, {"post_id": 22210, "ts": "2026-07-04T15:57:11Z", "hours": 1.5711, "text": "Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ after spending like 15 hours drawing assets and staring at a wall trying to think of stuff, i have finally started coding. not all the assets are done yet, but i need to start coding so i don’t keep staring at a wall… anyway, ima talk about coding. css grid is so cool! you can do all sorts of layouts so easily, and tailwindcss + css grid tricks make developing quite a breeze. really cool stuff!"}, {"post_id": 4717, "ts": "2026-06-08T04:25:47Z", "hours": 5.0586, "text": "Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ First devlog! I’ve never made a personal website before, so I want to do it right. I’m planning to go heavy with lots of art and web design. This is my first time ever doing art, and I quickly decided to do pixel art as it’s a lot easier than digital painting. I’ve made a few assets and am planning to do a lot more! In the beginning it was quite rough and my drawings looked terrible, but after a few days it turned out much better than I was expecting, and I even applied some Minecraft building concepts! Like, for example: Outline first, then color, then details. The final result won’t look good if the shape isn’t right. Details are what turns a good Minecraft build (or drawing, in this case) great. Once you think you’re done, think about what details you could add. Then repeat. You should be able to do this a lot more times than you think, and it’s how you improve your technique. The cat asset below took ~20 revisions. Use a reference image, or multiple. Don’t reinvent the wheel. Learn basic color theory, it’s really useful. Other than that, it just took some creativity and some trial and error."}]...
|
Title: personal website by @orangishcat | Stardanc Title: personal website by @orangishcat | Stardance
Devlogs:
Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ First devlog! I’ve never made a personal website before, so I want to do it right. I’m planning to go heavy with lots of art and web design. This is my first time ever doing art, and I quickly decided to do pixel art as it’s a lot easier than digital painting. I’ve made a few assets and am planning to do a lot more! In the beginning it was quite rough and my drawings looked terrible, but after a few days it turned out much better than I was expecting, and I even applied some Minecraft building concepts! Like, for example: Outline first, then color, then details. The final result won’t look good if the shape isn’t right. Details are what turns a good Minecraft build (or drawing, in this case) great. Once you think you’re done, think about what details you could add. Then repeat. You should be able to do this a lot more times than you think, and it’s how you improve your technique. The cat asset below took ~20 revisions. Use a reference image, or multiple. Don’t reinvent the wheel. Learn basic color theory, it’s really useful. Other than that, it just took some creativity and some trial and error.
Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ after spending like 15 hours drawing assets and staring at a wall trying to think of stuff, i have finally started coding. not all the assets are done yet, but i need to start coding so i don’t keep staring at a wall… anyway, ima talk about coding. css grid is so cool! you can do all sorts of layouts so easily, and tailwindcss + css grid tricks make developing quite a breeze. really cool stuff!
Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ the website is pretty much done! All the content and whatnot is complete, I just need to add some blog posts to fill up the blog space!
Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ everything is done!!! I added background art with the Moon and stars, and added my blog posts to the right sidebar! it took like an hour to debug all the issues with the MDX integration and UI layout, but it was mostly successful and super worth it!
Hi voters! Stardance isn’t the greatest for devlogging art, so read my blog post instead! https://orangishcat.neocities.org/blog/personal-website/ Just some small changes since then. I’ve made the background less orange and instead blue. The orange theme was making the orange background look terrible, so I changed it to blue, which matches better with the color of a night sky. Updated the games list. As it turns out, there’s a lot of cool games out there! Added more links to the Links part of the sidebar.
Ships:
My favorite project, and also the best one I’ve ever made! Please read my devlog for more details and easter eggs: https://orangishcat.neocities.org/blog/personal-website/...
|
1792979600.2570224
|
1793066000.2570224
|
|
41893
|
Nuclear by @Rajveer0123n | Stardance
|
Rajveer0123n
|
2
|
30.0
|
223
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T14:33:18Z", "hours": 12.0, "multiplier": 2.41, "payout": 29, "blessing": "neutral", "text": "I built a Number Guessing Challenge game with multiple difficulty levels, a clean and responsive interface, sound effects, and a strategy helper that helps players make more efficient guesses. The goal is simple: players choose a difficulty, try to identify the hidden number, and use the feedback provided after each guess to narrow down the possible range. Since the initial version, I expanded the game with three game modes — Normal, One Shot, and No Hint — to provide different levels of challenge. I also added an Achievements system with 10 unlockable achievements based on different in-game accomplishments, along with a dedicated Game Rules & Guide section to help new players understand the mechanics. The most challenging part was connecting the game logic, different modes, achievements, statistics, and UI while keeping the experience consistent and easy to use. I’m most proud of how the project has evolved from a simple guessing game into a more complete and polished experience.", "repo": "https://github.com/Rajveer0123n-BitCoin/Nuclear", "demo": "https://nuclear-three-blush.vercel.app"}, {"ship_num": 2, "ts": "2026-08-13T00:37:13Z", "hours": 18.0, "multiplier": 10.62, "payout": 194, "blessing": "neutral", "text": "I made a Number Guessing Challenge game with multiple difficulty levels, a clean UI, sound effects, and a small strategy helper that makes the game more interesting. The hardest part was connecting all the game logic with the UI and making everything feel smooth. I’m most proud of the overall experience and how polished it looks now. To test it, choose a difficulty, enter a guess, and keep playing until you find the hidden number.", "repo": "https://github.com/Rajveer0123n-BitCoin/Nuclear", "demo": "https://nuclear-three-blush.vercel.app"}]...
|
[{"post_id": 59588, "ts": "202 [{"post_id": 59588, "ts": "2026-09-01T14:28:13Z", "hours": 4.8922, "text": "GUYSSSS, I THOUGHT I WAS DONE…BUT STARSHIP SAID ADD MORE FEATURES SOOOO I WENT BACK TO WORKk I’ve now added some new game modes — Normal Mode, One Shot, and No Hint — mainly to make the game more difficult and give players more ways to play 👀🔥 I’ve ALSO added an Achievements Section, where players have to complete 10 different tasks to unlock the achievements!! ANDDD for the new players, I’ve added a proper Game Rules + Guide section so they actually know what they’re supposed to do 😭At this point the project keeps getting bigger and bigger… BUT WE KEEP GOINGGGG 🚀🔥 AND Now i think i am ready to ship again GOOOOOOOOOO"}, {"post_id": 56519, "ts": "2026-08-28T09:56:12Z", "hours": 4.0014, "text": "GUYSSSS, I THOUGHT MY PROJECT WAS FINISHED BUT THEN I WAS LIKE…NAHHHH WE CAN ADD MORE So I’ve decided to add some new modes to the project like One Try Guess, Fast Guess and a few more 👀 For now, I’m working on One Try Guess…let’s see how this turns out MORE FEATURES = MORE WORK…"}, {"post_id": 51630, "ts": "2026-08-21T12:36:52Z", "hours": 1.14, "text": "Devlog-17 SO humans I😭 I’VE RESTORED MY OLD DESIGN FROM GITHUB AND THANK GOD THIS FEATURE EXISTS 💀🙏After all that chaos, I finally got my original design back and I can FINALLYYYY say…MY PROJECT IS COMPLETE 🚀🔥NOW IT’S TIME TO SHIPPPPP 😭"}, {"post_id": 47950, "ts": "2026-08-16T06:51:53Z", "hours": 1.1556, "text": "Devlog-15 BROSSSS, I finally learned how to make READMEs from the Stardance resources 🔥 and updated my GitHub README with everything needed for SHIP!! ALSOOO, I removed all the AI-generated code from my project. I only used AI for formatting and variable names with Prettier, so the actual code is mine 😭🔥 WE’RE GETTING CLOSER TO SHIPPP 🚀"}, {"post_id": 47419, "ts": "2026-08-15T10:45:55Z", "hours": 0.8881, "text": "Devlog-16 BROOOO 😭 I literally had to CHANGE MY WHOLE DESIGN because my README was AI-made and now the officials thought the design was also AI inspired 💀 So yeah…ALL THAT EFFORT…GONE 😭 I’m honestly feeling like everything I worked on was wasted, but ig there’s nothing to do except start fixing it and make the design properly mine this time. pain. . 😭"}, {"post_id": 45949, "ts": "2026-08-12T19:22:43Z", "hours": 0.4761, "text": "Devlog-14 finally finished"}, {"post_id": 45929, "ts": "2026-08-12T18:26:33Z", "hours": 1.1928, "text": "Devlog — 12- Help Modal Progress At this pace, the whole project might actually be finished in 2–3 days"}, {"post_id": 45246, "ts": "2026-08-11T16:15:06Z", "hours": 3.1628, "text": "I have completed my stats part that’s actually statsmodal , it took way more time than i thought.."}, {"post_id": 44731, "ts": "2026-08-10T17:47:00Z", "hours": 2.2089, "text": "Devlog 10 Finally finished App.tsx 😭. I honestly don’t even know why I left it half-done in the middle, but it’s finally complete now. Right now I’m working on the Win Screen, trying different layouts and animations so it actually feels satisfying when you win. Still tweaking the design, but it’s starting to look pretty clean."}, {"post_id": 44070, "ts": "2026-08-09T16:14:50Z", "hours": 3.1528, "text": "Devlog 9 Worked on GameArea today. Added the guess input, feedback messages, a small helper for the bisect strategy, and a visual bar history for previous guesses. The game feels way more interactive now and is starting to come together nicely."}, {"post_id": 41940, "ts": "2026-08-06T13:58:29Z", "hours": 1.3217, "text": "Devlog 8 – Added Difficulty Selector and Game Area Today I completed two major UI components for the Number Guess game: DifficultySelector.tsx and GameArea.tsx. The difficulty selector now includes interactive cards for Easy, Medium, Hard, and Extreme modes, giving players a clear way to choose the challenge level. I also built the main game area, which includes the guess input system, feedback banner, bisect strategy helper, and a visual history bar to track previous guesses. These additions make the gameplay more interactive, informative, and user-friendly while improving the overall experience of the game."}, {"post_id": 41465, "ts": "2026-08-05T18:03:51Z", "hours": 0.7, "text": "Devlog 7 – Added Header Component and Difficulty Selection Today I created and improved the Header.tsx component for the Number Guess game. I added a structured header section to improve the overall layout and user experience. I also implemented difficulty selectors, allowing players to choose different challenge levels before starting the game. This adds more variety to the gameplay and creates a better experience for different types of players. With the header and difficulty system completed, the game now has a more organized interface and a more customizable gameplay experience."}, {"post_id": 40827, "ts": "2026-08-04T16:24:52Z", "hours": 1.0553, "text": "Devlog 6 – Added Victory Confetti Animation Today I created src/components/ConfettiCanvas.tsx to add a victory celebration effect to the Number Guess game. I implemented an HTML5 canvas-based confetti animation that appears when the player wins the game. The animation uses particle effects to create a more rewarding and visually exciting celebration, making the game feel more polished and interactive."}, {"post_id": 40120, "ts": "2026-08-03T14:53:06Z", "hours": 1.1533, "text": "Devlog 5 – Completed the Utils Folder Today I completed the Utils folder for the Number Guess game. I added the core game logic that handles the main gameplay mechanics, including processing guesses, checking results, and managing the game flow. I also integrated the sound system to provide audio feedback for different game events, making the overall experience more interactive and engaging. With the utility layer completed, the project now has a stronger foundation, and I can move on to refining the gameplay, improving the user experience, and polishing the final features."}, {"post_id": 39578, "ts": "2026-08-02T17:10:38Z", "hours": 1.4428, "text": "Today I completed the design phase of the Number Guess game. I focused on creating a clean and modern interface with a structured layout that is easy to use and visually appealing. The overall design is now in place, including the main game container, input section, buttons, and feedback area. With the UI completed, the next step is to implement the game logic in JavaScript, including random number generation, guess validation, score tracking, and win/lose conditions."}, {"post_id": 39235, "ts": "2026-08-02T02:09:37Z", "hours": 1.2194, "text": "Today I set up the package.json file for the project. This establishes the project configuration and creates a proper foundation for future development. Having package.json in place will make it easier to manage the project structure and add any tools or dependencies needed as the Number Guess game grows"}, {"post_id": 38157, "ts": "2026-07-31T12:23:05Z", "hours": 0.6125, "text": "Today I decided to change the direction of my project. Instead of continuing with the calculator idea, I switched to building a Number Guess game. I felt that this would be a better project for learning JavaScript logic, user interaction, and game mechanics while still creating a polished web application. I started the new project structure and created a fresh index.html file from scratch. The basic HTML layout has been set up, and this file will become the foundation of the game interface. The goal is to create a modern and engaging number guessing game with a clean design, responsive layout, and interactive gameplay. This marks a fresh start for the project, and the next steps will focus on styling the interface with CSS and implementing the core game logic in JavaScript, including random number generation, user guesses, score tracking, and feedback messages."}, {"post_id": 37639, "ts": "2026-07-30T14:58:52Z", "hours": 0.5222, "text": "Today I officially started my Nuclear calculator project for Hack Club Stardance. The first part of the work focused on setting up a clean development environment and creating the basic structure of the project. I created a new project folder, initialized a Git repository, connected it to a new GitHub repository, and configured Hackatime so that development time could be tracked correctly. I also created the initial project structure with the src and public directories, a README.md, and a .wakatime-project file. After the setup was complete, I began building the calculator interface. I created the index.html file and finished the basic HTML structure for the application. The layout includes the foundation for the calculator display, input area, and button grid, which will serve as the base for future scientific and advanced features. The goal is to build a modern, elegant calculator with a premium user interface rather than a simple basic calculator. With the project now connected to GitHub and Hackatime successfully tracking coding hours, the development environment is fully ready for the next stage. The next devlog will focus on designing the calculator’s visual appearance using CSS and implementing the first interactive functionality with JavaScript."}]...
|
Title: Nuclear by @Rajveer0123n | Stardance
Devlo Title: Nuclear by @Rajveer0123n | Stardance
Devlogs:
Today I officially started my Nuclear calculator project for Hack Club Stardance. The first part of the work focused on setting up a clean development environment and creating the basic structure of the project. I created a new project folder, initialized a Git repository, connected it to a new GitHub repository, and configured Hackatime so that development time could be tracked correctly. I also created the initial project structure with the src and public directories, a README.md, and a .wakatime-project file. After the setup was complete, I began building the calculator interface. I created the index.html file and finished the basic HTML structure for the application. The layout includes the foundation for the calculator display, input area, and button grid, which will serve as the base for future scientific and advanced features. The goal is to build a modern, elegant calculator with a premium user interface rather than a simple basic calculator. With the project now connected to GitHub and Hackatime successfully tracking coding hours, the development environment is fully ready for the next stage. The next devlog will focus on designing the calculator’s visual appearance using CSS and implementing the first interactive functionality with JavaScript.
Today I decided to change the direction of my project. Instead of continuing with the calculator idea, I switched to building a Number Guess game. I felt that this would be a better project for learning JavaScript logic, user interaction, and game mechanics while still creating a polished web application. I started the new project structure and created a fresh index.html file from scratch. The basic HTML layout has been set up, and this file will become the foundation of the game interface. The goal is to create a modern and engaging number guessing game with a clean design, responsive layout, and interactive gameplay. This marks a fresh start for the project, and the next steps will focus on styling the interface with CSS and implementing the core game logic in JavaScript, including random number generation, user guesses, score tracking, and feedback messages.
Today I set up the package.json file for the project. This establishes the project configuration and creates a proper foundation for future development. Having package.json in place will make it easier to manage the project structure and add any tools or dependencies needed as the Number Guess game grows
Today I completed the design phase of the Number Guess game. I focused on creating a clean and modern interface with a structured layout that is easy to use and visually appealing. The overall design is now in place, including the main game container, input section, buttons, and feedback area. With the UI completed, the next step is to implement the game logic in JavaScript, including random number generation, guess validation, score tracking, and win/lose conditions.
Devlog 5 – Completed the Utils Folder Today I completed the Utils folder for the Number Guess game. I added the core game logic that handles the main gameplay mechanics, including processing guesses, checking results, and managing the game flow. I also integrated the sound system to provide audio feedback for different game events, making the overall experience more interactive and engaging. With the utility layer completed, the project now has a stronger foundation, and I can move on to refining the gameplay, improving the user experience, and polishing the final features.
Devlog 6 – Added Victory Confetti Animation Today I created src/components/ConfettiCanvas.tsx to add a victory celebration effect to the Number Guess game. I implemented an HTML5 canvas-based confetti animation that appears when the player wins the game. The animation uses particle effects to create a more rewarding and visually exciting celebration, making the game feel more polished and interactive.
Devlog 7 – Added Header Component and Difficulty Selection Today I created and improved the Header.tsx component for the Number Guess game. I added a structured header section to improve the overall layout and user experience. I also implemented difficulty selectors, allowing players to choose different challenge levels before starting the game. This adds more variety to the gameplay and creates a better experience for different types of players. With the header and difficulty system completed, the game now has a more organized interface and a more customizable gameplay experience.
Devlog 8 – Added Difficulty Selector and Game Area Today I completed two major UI components for the Number Guess game: DifficultySelector.tsx and GameArea.tsx. The difficulty selector now includes interactive cards for Easy, Medium, Hard, and Extreme modes, giving players a clear way to choose the challenge level. I also built the main game area, which includes the guess input system, feedback banner, bisect strategy helper, and a visual history bar to track previous guesses. These additions make the gameplay more interactive, informative, and user-friendly while improving the overall experience of the game.
Devlog 9 Worked on GameArea today. Added the guess input, feedback messages, a small helper for the bisect strategy, and a visual bar history for previous guesses. The game feels way more interactive now and is starting to come together nicely.
Devlog 10 Finally finished App.tsx 😭. I honestly don’t even know why I left it half-done in the middle, but it’s finally complete now. Right now I’m working on the Win Screen, trying different layouts and animations so it actually feels satisfying when you win. Still tweaking the design, but it’s starting to look pretty clean.
I have completed my stats part that’s actually statsmodal , it took way more time than i thought..
Devlog — 12- Help Modal Progress At this pace, the whole project might actually be finished in 2–3 days
Devlog-14 finally finished
Devlog-16 BROOOO 😭 I literally had to CHANGE MY WHOLE DESIGN because my README was AI-made and now the officials thought the design was also AI inspired 💀 So yeah…ALL THAT EFFORT…GONE 😭 I’m honestly feeling like everything I worked on was wasted, but ig there’s nothing to do except start fixing it and make the design properly mine this time. pain. . 😭
Devlog-15 BROSSSS, I finally learned how to make READMEs from the Stardance resources 🔥 and updated my GitHub README with everything needed for SHIP!! ALSOOO, I removed all the AI-generated code from my project. I only used AI for formatting and variable names with Prettier, so the actual code is mine 😭🔥 WE’RE GETTING CLOSER TO SHIPPP 🚀
Devlog-17 SO humans I😭 I’VE RESTORED MY OLD DESIGN FROM GITHUB AND THANK GOD THIS FEATURE EXISTS 💀🙏After all that chaos, I finally got my original design back and I can FINALLYYYY say…MY PROJECT IS COMPLETE 🚀🔥NOW IT’S TIME TO SHIPPPPP 😭
GUYSSSS, I THOUGHT MY PROJECT WAS FINISHED BUT THEN I WAS LIKE…NAHHHH WE CAN ADD MORE So I’ve decided to add some new modes to the project like One Try Guess, Fast Guess and a few more 👀 For now, I’m working on One Try Guess…let’s see how this turns out MORE FEATURES = MORE WORK…
GUYSSSS, I THOUGHT I WAS DONE…BUT STARSHIP SAID ADD MORE FEATURES SOOOO I WENT BACK TO WORKk I’ve now added some new game modes — Normal Mode, One Shot, and No Hint — mainly to make the game more difficult and give players more ways to play 👀🔥 I’ve ALSO added an Achievements Section, where players have to complete 10 different tasks to unlock the achievements!! ANDDD for the new players, I’ve added a proper Game Rules + Guide section so they actually know what they’re supposed to do 😭At this point the project keeps getting bigger and bigger… BUT WE KEEP GOINGGGG 🚀🔥 AND Now i think i am ready to ship again GOOOOOOOOOO
Ships:
I made a Number Guessing Challenge game with multiple difficulty levels, a clean UI, sound effects, and a small strategy helper that makes the game more interesting. The hardest part was connecting all the game logic with the UI and making everything feel smooth. I’m most proud of the overall experience and how polished it looks now. To test it, choose a difficulty, enter a guess, and keep playing until you find the hidden number.
I built a Number Guessing Challenge game with multiple difficulty levels, a clean and responsive interface, sound effects, and a strategy helper that helps players make more efficient guesses. The goal is simple: players choose a difficulty, try to identify the hidden number, and use the feedback provided after each guess to narrow down the possible range. Since the initial version, I expanded the game with three game modes — Normal, One Shot, and No Hint — to provide different levels of challenge. I also added an Achievements system with 10 unlockable achievements based on different in-game accomplishments, along with a dedicated Game Rules & Guide section to help new players understand the mechanics. The most challenging part was connecting the game logic, different modes, achievements, statistics, and UI while keeping the experience consistent and easy to use. I’m most proud of how the project has evolved from a simple guessing game into a more complete and polished experience....
|
1792961586.9570255
|
1793047986.9570255
|
|
29889
|
Blender by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
2
|
38.65
|
222
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T13:53:45Z", "hours": 28.0, "multiplier": 11.24, "payout": 208, "blessing": "neutral", "text": "i contribute to blender more for giving support for Android . So mostly i wrote fallback in vulkan and some other things . it was hard for and many time i forget to log and devlog but that it soon u will see android support . ref https://projects.blender.org/blender/blender/issues/162559 https://projects.blender.org/blender/blender/pulls/163126 https://projects.blender.org/blender/blender/pulls/162820 https://projects.blender.org/blender/blender/pulls/163630 https://projects.blender.org/blender/blender/pulls/163398 and this my last ship after that i will turn 19 year old at 14 sept soo byye :)", "repo": "https://github.com/blender/blender", "demo": "https://github.com/rajaryan2007/blender.git"}, {"ship_num": 2, "ts": "2026-07-05T10:31:53Z", "hours": 10.0, "multiplier": 1.41, "payout": 14, "blessing": "neutral", "text": "i Don’t know how explain about this but simply i contributed to blender it take lot of time i st blender code when i st my another project game engine compare to o3de and engine blender feel little easier bcuz i was little familier from st so i st making engine taking refernece from it as to mostly what i do is with ai or without i first understand math etc bcuz blender have too math etc but i left the part module and crazyspace type things and focus more on eevee and rendering i know devlog is less bcuz there nothing to say my self i don’t feel like it too confussing but some after asking maintainer etc i was able make pr and some get merged link https://github.com/blender/blender/commit/c706f68c68789be7a0576e0df8509f2b8388be8a https://projects.blender.org/blender/blender/pulls/160821 https://projects.blender.org/blender/blender/pulls/160420 https://projects.blender.org/blender/blender/pulls/160382", "repo": "https://github.com/blender/blender", "demo": "https://github.com/rajaryan2007/blender.git"}]...
|
[{"post_id": 69004, "ts": "202 [{"post_id": 69004, "ts": "2026-09-16T06:26:49Z", "hours": 0.6486, "text": "make fallback of dynamic rendering"}, {"post_id": 66843, "ts": "2026-09-12T19:19:19Z", "hours": 5.7239, "text": "made dynamic rendering optional for old hardware"}, {"post_id": 59923, "ts": "2026-09-01T23:10:19Z", "hours": 2.7592, "text": "added fallback of multiview"}, {"post_id": 56470, "ts": "2026-08-28T07:49:32Z", "hours": 19.2197, "text": "add logicop fallback and shaderClipdistance fallback in blender for andirod"}, {"post_id": 22747, "ts": "2026-07-05T10:18:18Z", "hours": 0.3308, "text": "other pr that i made"}, {"post_id": 20961, "ts": "2026-07-02T18:10:52Z", "hours": 9.68, "text": "blender contribution first pr merged"}]...
|
Title: Blender by @rajaryan1492007 | Stardance
De Title: Blender by @rajaryan1492007 | Stardance
Devlogs:
blender contribution first pr merged
other pr that i made
add logicop fallback and shaderClipdistance fallback in blender for andirod
added fallback of multiview
made dynamic rendering optional for old hardware
make fallback of dynamic rendering
Ships:
i Don’t know how explain about this but simply i contributed to blender it take lot of time i st blender code when i st my another project game engine compare to o3de and engine blender feel little easier bcuz i was little familier from st so i st making engine taking refernece from it as to mostly what i do is with ai or without i first understand math etc bcuz blender have too math etc but i left the part module and crazyspace type things and focus more on eevee and rendering i know devlog is less bcuz there nothing to say my self i don’t feel like it too confussing but some after asking maintainer etc i was able make pr and some get merged link https://github.com/blender/blender/commit/c706f68c68789be7a0576e0df8509f2b8388be8a https://projects.blender.org/blender/blender/pulls/160821 https://projects.blender.org/blender/blender/pulls/160420 https://projects.blender.org/blender/blender/pulls/160382
i contribute to blender more for giving support for Android . So mostly i wrote fallback in vulkan and some other things . it was hard for and many time i forget to log and devlog but that it soon u will see android support . ref https://projects.blender.org/blender/blender/issues/162559 https://projects.blender.org/blender/blender/pulls/163126 https://projects.blender.org/blender/blender/pulls/162820 https://projects.blender.org/blender/blender/pulls/163630 https://projects.blender.org/blender/blender/pulls/163398 and this my last ship after that i will turn 19 year old at 14 sept soo byye :)...
|
1792997487.5994565
|
1793083887.5994565
|
|
66665
|
ShareList by @Huseyin | Stardance
|
Huseyin
|
1
|
23.0
|
222
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T22:42:16Z", "hours": 23.0, "multiplier": 9.69, "payout": 222, "blessing": "neutral", "text": "ShareList You have seen the plethora of different playlist services offered in different apps and websites. You can make a playlist in Youtube. You can make a playlist in Spotify. Heck you can even make a playlist of sorts in Scratch! The problem is that all those platforms allow you to make a playlist of ONLY whatever you find on that platform, and I have not seen otherwise. With ShareList, you can make a simple playlist, give it a name, a description(optional), a cool icon(optional), a password for editing further, and an expiration date so Firestore doesn’t end up crying later!! Features No Account Required Straight to the Point; No Bluff Cool UI Fast No Restrictions Anonymous No Tracking(rare these days) Open-Source Bakes you a cookie 😢 Final Regards Thank you for checking our ShareList and sharing your experiences with others.", "repo": "https://github.com/krambo345/ShareList", "demo": "https://sharelist.krambo.space"}]...
|
[{"post_id": 80828, "ts": "202 [{"post_id": 80828, "ts": "2026-10-18T22:29:08Z", "hours": 0.9003, "text": "Last Devlog After some quick clean up and polish, ShareList is practically ready for shipping. Things I Did Fix responsive ui Remove browser assumption of “password” fields Thats really it"}, {"post_id": 79863, "ts": "2026-10-15T17:26:08Z", "hours": 6.7394, "text": "RESPONSIVE Sharelist is now responsive dont got much time will keep this short… made responsive fixed some ui now you can completely edit, save, things like that… share button for sharing about page for abouting things like that. cool images from cool website btw…"}, {"post_id": 79513, "ts": "2026-10-14T12:12:06Z", "hours": 3.3314, "text": "UI 🎨 [Devlog 3] After some work, I finished the CSS side of things for the playlists… So now, you can see your playlist and it’s information better. Other Additions You can now somewhat toggle between the edit mode and view mode of a playlist. Well, it is kind of a one-way thing. So if you start editing, you can not save yet. Added a function for synchronizing changes to Firebase . Not used rn. Added the input elements and buttons to allow changing values of a playlist. Right now, they are only toggle-able."}, {"post_id": 76941, "ts": "2026-10-05T04:41:38Z", "hours": 7.0897, "text": "Got the Back end! [Devlog 2] Last devlog, I worked on the main UI, and added very cool effects. NEW This devlog, I got other stuff!! OK.. maybe just a bit more cool UI The Firebase side of stuff is pretty complete! Now, you can make a playlist inside the create page, and when made, it will redirect you to a URL(/p/id) which will be your playlist! I had to look through many ways i could implement security. However, I stayed with a basic sha256 hashing system. Because there are no accounts on the app, there really is no other alternative. And sha256 is very easy. Made layout for create page and playlist page. Conclusion These are pretty cool! What else do you want added? Let me know in comments below!!"}, {"post_id": 75068, "ts": "2026-09-29T01:44:46Z", "hours": 4.8722, "text": "ShareList [Devlog 1] Youtube has a playlist system… for Youtube only videos. Spotify has a playlist system… for Spotify only audio. Why not a web app that allows you to make a playlist of both worlds? With ShareList, you will be able to make a playlist that can have content stretching from videos to music to websites, with the additional benefit of being able to share them! Starting off… Today, I worked on the main structure of the project, and did a whole lot of styling. I think it worked out pretty cool. I did things like: Box-shadows for the bar atop the page, which interacts with the mouse and is actually split in two! A glow ⭐ on the mouse, which is pretty cool and awesome looking. Night/Light mode. 404 Page(my first time) There is way more, but I will not list em’. Things I am/will work on… It is time for the back-end now… yay… 🙄 Need to make the about and playlist pages themselves. The form-like interface to make/edit a playlist. Conclusion So I think I overdid myself today, which is pretty tuff . I am really hoping to finish this so people can use it ASAP!!"}]...
|
Title: ShareList by @Huseyin | Stardance
Devlogs: Title: ShareList by @Huseyin | Stardance
Devlogs:
ShareList [Devlog 1] Youtube has a playlist system… for Youtube only videos. Spotify has a playlist system… for Spotify only audio. Why not a web app that allows you to make a playlist of both worlds? With ShareList, you will be able to make a playlist that can have content stretching from videos to music to websites, with the additional benefit of being able to share them! Starting off… Today, I worked on the main structure of the project, and did a whole lot of styling. I think it worked out pretty cool. I did things like: Box-shadows for the bar atop the page, which interacts with the mouse and is actually split in two! A glow ⭐ on the mouse, which is pretty cool and awesome looking. Night/Light mode. 404 Page(my first time) There is way more, but I will not list em’. Things I am/will work on… It is time for the back-end now… yay… 🙄 Need to make the about and playlist pages themselves. The form-like interface to make/edit a playlist. Conclusion So I think I overdid myself today, which is pretty tuff . I am really hoping to finish this so people can use it ASAP!!
Got the Back end! [Devlog 2] Last devlog, I worked on the main UI, and added very cool effects. NEW This devlog, I got other stuff!! OK.. maybe just a bit more cool UI The Firebase side of stuff is pretty complete! Now, you can make a playlist inside the create page, and when made, it will redirect you to a URL(/p/id) which will be your playlist! I had to look through many ways i could implement security. However, I stayed with a basic sha256 hashing system. Because there are no accounts on the app, there really is no other alternative. And sha256 is very easy. Made layout for create page and playlist page. Conclusion These are pretty cool! What else do you want added? Let me know in comments below!!
UI 🎨 [Devlog 3] After some work, I finished the CSS side of things for the playlists… So now, you can see your playlist and it’s information better. Other Additions You can now somewhat toggle between the edit mode and view mode of a playlist. Well, it is kind of a one-way thing. So if you start editing, you can not save yet. Added a function for synchronizing changes to Firebase . Not used rn. Added the input elements and buttons to allow changing values of a playlist. Right now, they are only toggle-able.
RESPONSIVE Sharelist is now responsive dont got much time will keep this short… made responsive fixed some ui now you can completely edit, save, things like that… share button for sharing about page for abouting things like that. cool images from cool website btw…
Last Devlog After some quick clean up and polish, ShareList is practically ready for shipping. Things I Did Fix responsive ui Remove browser assumption of “password” fields Thats really it
Ships:
ShareList You have seen the plethora of different playlist services offered in different apps and websites. You can make a playlist in Youtube. You can make a playlist in Spotify. Heck you can even make a playlist of sorts in Scratch! The problem is that all those platforms allow you to make a playlist of ONLY whatever you find on that platform, and I have not seen otherwise. With ShareList, you can make a simple playlist, give it a name, a description(optional), a cool icon(optional), a password for editing further, and an expiration date so Firestore doesn’t end up crying later!! Features No Account Required Straight to the Point; No Bluff Cool UI Fast No Restrictions Anonymous No Tracking(rare these days) Open-Source Bakes you a cookie 😢 Final Regards Thank you for checking our ShareList and sharing your experiences with others....
|
1793008267.376395
|
1793094667.376395
|
|
38053
|
VacAI by @jayeshsinghal | Stardance
|
jayeshsinghal
|
1
|
36.0
|
221
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T21:38:12Z", "hours": 36.0, "multiplier": 6.21, "payout": 221, "blessing": "neutral", "text": "I built a group vacation planner. Everyone puts in their budget and the dates they’re free, and it finds destinations that actually work for the whole group. I was challenged by building complex scraping software and using the API to find destinations that work for many people. I also think there are some improvements to be made based on user feedback!", "repo": "https://github.com/jsplaystore/VacAI/", "demo": "https://vacai-livid.vercel.app/"}]...
|
[{"post_id": 36671, "ts": "202 [{"post_id": 36671, "ts": "2026-07-28T21:36:24Z", "hours": 0.7108, "text": "Pushed to github, and shipped."}, {"post_id": 36617, "ts": "2026-07-28T20:53:47Z", "hours": 1.1169, "text": "Sample of code from the scrapping for prices bit. Looks like i’m going to have to find a holistic source for all of this data, as its pretty cluttered ATM"}, {"post_id": 36578, "ts": "2026-07-28T19:46:45Z", "hours": 5.1003, "text": "Prices are loading now, but something is off… It seems to be giving estimates rather than exact numbers for the dates which is the fallback, so something is going on with the datascraping.."}, {"post_id": 35915, "ts": "2026-07-27T17:47:33Z", "hours": 2.5761, "text": "Semi-fixed the issue, trying to understand why some details aren’t getting pulled."}, {"post_id": 35548, "ts": "2026-07-27T01:46:38Z", "hours": 4.635, "text": "Issue with fetching live prices, not sure what is going on… I am going to consult claude to help me debug here and truly understand what is goign wrong with my code."}, {"post_id": 35005, "ts": "2026-07-26T04:48:17Z", "hours": 3.8097, "text": "Added a little class of travel indicator to help guide the budget further… working on displaying raw price data clearly and cleanly within the result now"}, {"post_id": 34908, "ts": "2026-07-26T00:23:05Z", "hours": 8.445, "text": "Took some time to learn how to link google flights, and have an accurate est. cost for trip options. Also am trying to implement some convinience measures to make input easier (multiple choice, checkboxes, etc.)"}, {"post_id": 33764, "ts": "2026-07-23T23:01:05Z", "hours": 3.1594, "text": "I’ve got soemthing working here. Going to implement a little more practicality in terms of finding fares and using real world pricing."}, {"post_id": 33676, "ts": "2026-07-23T19:51:31Z", "hours": 1.6008, "text": "Got a nice UI going, trying to test."}, {"post_id": 32803, "ts": "2026-07-22T05:55:57Z", "hours": 4.5103, "text": "Working on the initial server, trying to make it API-less…"}]...
|
Title: VacAI by @jayeshsinghal | Stardance
Devlog Title: VacAI by @jayeshsinghal | Stardance
Devlogs:
Working on the initial server, trying to make it API-less…
Got a nice UI going, trying to test.
I’ve got soemthing working here. Going to implement a little more practicality in terms of finding fares and using real world pricing.
Took some time to learn how to link google flights, and have an accurate est. cost for trip options. Also am trying to implement some convinience measures to make input easier (multiple choice, checkboxes, etc.)
Added a little class of travel indicator to help guide the budget further… working on displaying raw price data clearly and cleanly within the result now
Issue with fetching live prices, not sure what is going on… I am going to consult claude to help me debug here and truly understand what is goign wrong with my code.
Semi-fixed the issue, trying to understand why some details aren’t getting pulled.
Prices are loading now, but something is off… It seems to be giving estimates rather than exact numbers for the dates which is the fallback, so something is going on with the datascraping..
Sample of code from the scrapping for prices bit. Looks like i’m going to have to find a holistic source for all of this data, as its pretty cluttered ATM
Pushed to github, and shipped.
Ships:
I built a group vacation planner. Everyone puts in their budget and the dates they’re free, and it finds destinations that actually work for the whole group. I was challenged by building complex scraping software and using the API to find destinations that work for many people. I also think there are some improvements to be made based on user feedback!...
|
1792878762.3640666
|
1793742762.3640666
|
|
55843
|
EyeDash by @reaue | Stardance
|
reaue
|
1
|
17.0
|
221
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T21:20:49Z", "hours": 17.0, "multiplier": 13.39, "payout": 221, "blessing": "neutral", "text": "I make a webcam-based blink control interface. It tracks eye landmarks with MediaPipe’s FaceLandmarker, computes Eye Aspect Ratio to detect blinks and classifies them : single left/right eye blink vs double blinks from both eyes. The initial setup working was rougher than expected, Haar cascade wasn’t strong enough. Switching to MediaPipe fixed the detection accuracy. My only regret was I failed to create a gaze tracking to navigate like with a mouse but with your eyes. I’m proud of the design. It’s not easy with pygame, but I’m very happy especially for moving stars. The game is totaly playabe, you need to follow the instruction on the Github. There is a Eye Aspect Ratio treshold which can be calculate for everyone, so try this !", "repo": "https://github.com/reaue/eyeControl", "demo": "https://github.com/reaue/eyeControl/releases/tag/v1.0.0"}]...
|
[{"post_id": 59865, "ts": "202 [{"post_id": 59865, "ts": "2026-09-01T20:53:36Z", "hours": 0.6133, "text": "Devlog Ship. I sent time recording the video that serves as a demo, wich can be found on Github page."}, {"post_id": 59592, "ts": "2026-09-01T14:34:17Z", "hours": 4.3694, "text": "Devlog 5 - The final ! I added some new features : procedural obstacles (I tried to perfect the game design to be good enough to avoid impassable obstacles), design on the background and the player (it’s spinning now)"}, {"post_id": 59241, "ts": "2026-08-31T22:26:47Z", "hours": 3.3406, "text": "Devlog 4 - I worked on the game part of my project. I simplified the jumping mechanic. Now, you only need to blink once with either eye to jump, whereas before, you needed two blinks. There were too many false positives, so I decided to make the input simpler and more reliable. I hope to finish implementing procedural obstacles and some visual effects tomorrow, such as particles and a parallax effect in the background."}, {"post_id": 59006, "ts": "2026-08-31T16:13:40Z", "hours": 3.9397, "text": "Devlog 3 - Some UI design today ! I used Figma AI to help me visualize the design of my eye-controlled game. I’m very happy with the result! I still need to develop the game itself, though. I was thinking of making a game inspired by Geometry Dash, hence the name EyeDash. The controls would be simple: a double blink with one eye would make the character jump."}, {"post_id": 58743, "ts": "2026-08-31T09:27:14Z", "hours": 3.0444, "text": "Devlog 2 After hours and hours of implementing features for gaze tracking, I realize that it is not enough stable. 3 hours of dev wasted 😭. I think I will reorient the project to a game controlled by eyes blinking. If you have any ideas I’m taker. You can find the version of not stable eye tracking on my github, it’s the file eyeControl/gaze_tracking_attempt.py."}, {"post_id": 58161, "ts": "2026-08-30T14:58:48Z", "hours": 1.2019, "text": "Devlog 1 I’m working on a webcam-based blink detector, which will allow you to control your PC with your eyes only."}]...
|
Title: EyeDash by @reaue | Stardance
Devlogs:
Dev Title: EyeDash by @reaue | Stardance
Devlogs:
Devlog 1 I’m working on a webcam-based blink detector, which will allow you to control your PC with your eyes only.
Devlog 2 After hours and hours of implementing features for gaze tracking, I realize that it is not enough stable. 3 hours of dev wasted 😭. I think I will reorient the project to a game controlled by eyes blinking. If you have any ideas I’m taker. You can find the version of not stable eye tracking on my github, it’s the file eyeControl/gaze_tracking_attempt.py.
Devlog 3 - Some UI design today ! I used Figma AI to help me visualize the design of my eye-controlled game. I’m very happy with the result! I still need to develop the game itself, though. I was thinking of making a game inspired by Geometry Dash, hence the name EyeDash. The controls would be simple: a double blink with one eye would make the character jump.
Devlog 4 - I worked on the game part of my project. I simplified the jumping mechanic. Now, you only need to blink once with either eye to jump, whereas before, you needed two blinks. There were too many false positives, so I decided to make the input simpler and more reliable. I hope to finish implementing procedural obstacles and some visual effects tomorrow, such as particles and a parallax effect in the background.
Devlog 5 - The final ! I added some new features : procedural obstacles (I tried to perfect the game design to be good enough to avoid impassable obstacles), design on the background and the player (it’s spinning now)
Devlog Ship. I sent time recording the video that serves as a demo, wich can be found on Github page.
Ships:
I make a webcam-based blink control interface. It tracks eye landmarks with MediaPipe’s FaceLandmarker, computes Eye Aspect Ratio to detect blinks and classifies them : single left/right eye blink vs double blinks from both eyes. The initial setup working was rougher than expected, Haar cascade wasn’t strong enough. Switching to MediaPipe fixed the detection accuracy. My only regret was I failed to create a gaze tracking to navigate like with a mouse but with your eyes. I’m proud of the design. It’s not easy with pygame, but I’m very happy especially for moving stars. The game is totaly playabe, you need to follow the instruction on the Github. There is a Eye Aspect Ratio treshold which can be calculate for everyone, so try this !...
|
1792975978.8776252
|
1793062378.8776252
|
|
3763
|
Hacka-Plat by @Powerblock | Stardance
|
Powerblock
|
1
|
13.0
|
220
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T05:14:48Z", "hours": 13.0, "multiplier": 17.56, "payout": 220, "blessing": "neutral", "text": "I made a 2D platformer where you solve the levels by “hacking” (moving) the platforms in game.", "repo": "https://github.com/Powerblock2000/hacka-plat/", "demo": "https://hacka-plat.netlify.app/"}]...
|
[{"post_id": 7299, "ts": "2026 [{"post_id": 7299, "ts": "2026-06-12T05:13:08Z", "hours": 0.7533, "text": "Finally fixed web exports with git LFS"}, {"post_id": 7145, "ts": "2026-06-11T22:43:15Z", "hours": 4.9644, "text": "Finished level 3 and credits scene; ALL DONE!!!!"}, {"post_id": 2346, "ts": "2026-06-04T19:50:53Z", "hours": 1.2392, "text": "Finished tutorial"}, {"post_id": 1133, "ts": "2026-06-02T23:38:37Z", "hours": 3.0217, "text": "Working on tutorial"}, {"post_id": 888, "ts": "2026-06-02T16:41:25Z", "hours": 1.9089, "text": "Finished Main Menu"}, {"post_id": 600, "ts": "2026-06-02T03:01:48Z", "hours": 0.9722, "text": "Almost finished with main menu"}, {"post_id": 566, "ts": "2026-06-02T01:52:02Z", "hours": 0.4747, "text": "Just finished character controller"}]...
|
Title: Hacka-Plat by @Powerblock | Stardance
Devl Title: Hacka-Plat by @Powerblock | Stardance
Devlogs:
Just finished character controller
Almost finished with main menu
Finished Main Menu
Working on tutorial
Finished tutorial
Finished level 3 and credits scene; ALL DONE!!!!
Finally fixed web exports with git LFS
Ships:
I made a 2D platformer where you solve the levels by “hacking” (moving) the platforms in game....
|
1792979425.1518114
|
1793065825.1518114
|
|
4192
|
Artemis Hub by @PolarisSpace | Stardance
|
PolarisSpace
|
2
|
26.71
|
220
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T05:49:39Z", "hours": 7.0, "multiplier": 11.2, "payout": 78, "blessing": "neutral", "text": "This is my final ship for this project, I would encourage you to read my last shipment as I go in more detail of what the project is about. Basically, I built a central website hub that provides information on the Artemis Program. You can find certain information on my website within a few clicks what takes 4-8 clicks on the NASA website. Between the first ship to this one, I’ve mainly just been implementing some feedback I got from the first ship such as adding more text information in case someone doesn’t want to watch the videos, and adding random facts about the astronauts. I added dropdowns which display text which you can click to show, I made them drop down just to save space in the screen if it’s not being used. What took me a bit of time though was adding a script that would provide random information about each Artemis mission every time the page is loaded. That part took a little bit because I was running into an issue where facts for Artemis II would show but not Artemis III, it all had to do with text above overriding the text below. I just resolved this issue by adding the Arrays to the individual HTML files as they just shared the main.js file before.", "repo": "https://github.com/PolarisSpaceDev/ArtemisHub.github.io", "demo": "https://ursa-minor-studios.github.io/ArtemisHub.github.io/"}, {"ship_num": 2, "ts": "2026-07-12T02:00:28Z", "hours": 18.0, "multiplier": 7.99, "payout": 142, "blessing": "neutral", "text": "My project is called Artemis Hub, a static website that provides centralized information about the Artemis Program while showing our progress in building a moon base. It prevents people from navigating to multiple YouTube videos or the entire NASA site (I Frequently have to make multiple clicks to navigate that massive site), and just provides all that information on one page. Even to read information about Artemis II on the NASA site, you still have to view more than one page. So that’s the problem this project solves. To me the most challenging part of it was UI design, that’s what I spent most of my time on. I’m not very good at UI design, so this project allowed me to experiment with UI and I’m getting an idea of what works, doesn’t or what could be done better which will help me in future projects. I’ve also learned how to create a JavaScript countdown timer. For those testing the project, I am still working on responsive design, the site is navigable on mobile devices, but it’s a work in progress. This isn’t the final site, I still have more to do, but I’m doing a in-progress shipment. One thing I am proud of is getting the JavaScript countdown working, and the horizontal carousels made. I was too lazy to figure out how to make a carousel in JavaScript so I just used CSS to position each card and style the trackbar. I wasn’t sure if it was going to work, but it did.", "repo": "https://github.com/PolarisSpaceDev/ArtemisHub.github.io", "demo": "https://ursa-minor-studios.github.io/ArtemisHub.github.io/"}]...
|
[{"post_id": 78906, "ts": "202 [{"post_id": 78906, "ts": "2026-10-12T00:16:04Z", "hours": 1.7078, "text": "Made some progress on my Artemis website! Below is the changelog, but the highlight I have to share is the addition of a “Blogs” page that organizes blogs into rows. These blogs will be more detailed Artemis Updates. It’s the first blog structure I’ve done, so wanted to try it out. I also moved the left navigation bubble content to a bottom navigation bar. Removed Removed the bubble navbar on left side (Got moved to newely added bottom navbar) Added Bottom navigation bar Blog Page First Artemis Blog I would encourage you to look around the repository because I made some additions to it. I added badges at the top of the README file to neatly display some information about the website such as its version, programming languages, etc. Also added a CHANGELOG.md file so you can read every single change I’ve made to this website and read any future updates that are released. Created a Discussions tab at Top menu bar > Discussions so I can make announcements and updates about this project."}, {"post_id": 51420, "ts": "2026-08-21T03:36:32Z", "hours": 1.2047, "text": "Completed Artemis II page Completed the Artemis II page where I explained the flight profile, preparations, and its full flight timeline."}, {"post_id": 50781, "ts": "2026-08-20T04:49:37Z", "hours": 0.71, "text": "Artemis II Page Update! Devlog Formatting This is the first devlog that’s formatted nicely, I’ve been writing them on my phone and for some reason it doesn’t format there at all just displays as a large paragraph. But I’m writing this one on a computer allowing me to format paragraphs and headings. Artemis II page I’ve been working on the Artemis II page, I’m not quite finished but got the history of it and the preperations which explains the stacking timeline and the heatshield issue. Artemis I Timeline I added a timeline to the Artemis I page which you can see in the demo link. It shows major events that happened from stacking to reentry. Another thing I did was update the status of Artemis III below that countdown banner."}, {"post_id": 50607, "ts": "2026-08-19T20:21:50Z", "hours": 5.0447, "text": "Hello It’s been a little while since my last devlog but I plan to make them more frequently. This is my first log sincemy first shipment and Ive been spending thelasst 5 hours trying to implement the feedback I got. 1. Someone said it would be nice to see some facts about the astronauts, so I did something like that. I made an array that displays a random fact about the missions every time the page loads. This one took me a while to do because I was running into an issue where the Artemis I facts would display but not the subsequent ones. I went onto Stack Overflow and problem is resolved. 2. Someone said it would be nice to read texts about the missions rather thaan rely on videos because some people have different preferences for how they learn information. So what I did is created a series of dropdowns on the very bottom that tells you information aout the mission. I chose a dropdown format so they dont take up as much space on the page if its not being read."}, {"post_id": 26960, "ts": "2026-07-12T01:48:18Z", "hours": 1.1619, "text": "During this time, I have embedded two NASA simulations into the website for visualization. You can fine them by going to the Artemis II page and going to the moon base page under “Explore”. I also embedded some YouTube videos to #1 let people understand the idea of the Artemis Program and CLPS who aren’t familiar, and #2 you don’t have to search for multiple YouTube videos potentially on different channels. They all are here. And honestly, when you’re navigating a website, it’s more convenient to watch an embedded video than navigate to YouTube. The last thing I worked on a little bit was making the moon base section more mobile responsive. Still looks a little off, but better than it was before."}, {"post_id": 26647, "ts": "2026-07-11T16:13:29Z", "hours": 4.8525, "text": "Quite afew things have been added since my first devlog. So far I’ve worked a little bit on responsive design to make it more viewable on mobile. I also created a little bubble menu which allows you to transition between Hubs. I created a moon basepage which will provide centralized infirmation on our moon base plans specifically. I’m currently inn the process of implementing some of the simulations NASA created within my website through embedding."}, {"post_id": 17701, "ts": "2026-06-28T16:49:08Z", "hours": 6.7403, "text": "I did quite a few things during this 6 hours. First off, I moved the countdown to the top, andit sticks to the top. Secondly, I added a timeline to visually see each launch. The timeline I used is called JSTimrline which ises a spreadsheet you can embed to add a timeline. They also leave the option for you to create a JSON file ehich gives you more styling options. But I didn’t opt into that. Last thing, I’m leaarning how to use api’s. What you can see in the console is the bio for Cristina Koch provided by Launch Library II. I plan to create a bio for eaach of these astronauts only using the api, if the contents of the api change the web page should change automatically. Although I’m limited to 15 requests per hour which is annoying."}, {"post_id": 6291, "ts": "2026-06-10T16:00:06Z", "hours": 2.4675, "text": "I figured out how to make a countdown timer with JavaScript. This will count down the time left until the next Artemis launch. I also included a little tour of the website in the video. In the video I wait fir about 20 seconds to see that number hit 0. You can skip about 20 seconds if you don’t want to wait for that. Then the bottom of the countdown I will input the status of the Artemis mission. I don’t spend a whole lot of time with JavaScript which is why it took me 2 hours to do. Most of my time was figuring out the milliseconds to years, months, days, etc. I wanted it to show 2 days and 4 hours instead of something like 4000 hours. Another thing included in the video is a tour of some of my code. Let me know if you have any feedback."}, {"post_id": 4664, "ts": "2026-06-08T02:08:01Z", "hours": 2.5367, "text": "I’m creating a website that will provide centralized information about the Artemis Program. Demo is linked in the project for you to try out. I still need to make the website more responsive. What I did today was make the landing page for this website. This so far will include Artemis livestreams, videos, and information on specific missions. Deploying this on Github was a big pain because I needed to restructure the entire website directory, so GitHub could find my index.html file, stylesheet, and images. Let me know if you have any feedback, I’m probably going to make the carousels smaller."}]...
|
Title: Artemis Hub by @PolarisSpace | Stardance
D Title: Artemis Hub by @PolarisSpace | Stardance
Devlogs:
I’m creating a website that will provide centralized information about the Artemis Program. Demo is linked in the project for you to try out. I still need to make the website more responsive. What I did today was make the landing page for this website. This so far will include Artemis livestreams, videos, and information on specific missions. Deploying this on Github was a big pain because I needed to restructure the entire website directory, so GitHub could find my index.html file, stylesheet, and images. Let me know if you have any feedback, I’m probably going to make the carousels smaller.
I figured out how to make a countdown timer with JavaScript. This will count down the time left until the next Artemis launch. I also included a little tour of the website in the video. In the video I wait fir about 20 seconds to see that number hit 0. You can skip about 20 seconds if you don’t want to wait for that. Then the bottom of the countdown I will input the status of the Artemis mission. I don’t spend a whole lot of time with JavaScript which is why it took me 2 hours to do. Most of my time was figuring out the milliseconds to years, months, days, etc. I wanted it to show 2 days and 4 hours instead of something like 4000 hours. Another thing included in the video is a tour of some of my code. Let me know if you have any feedback.
I did quite a few things during this 6 hours. First off, I moved the countdown to the top, andit sticks to the top. Secondly, I added a timeline to visually see each launch. The timeline I used is called JSTimrline which ises a spreadsheet you can embed to add a timeline. They also leave the option for you to create a JSON file ehich gives you more styling options. But I didn’t opt into that. Last thing, I’m leaarning how to use api’s. What you can see in the console is the bio for Cristina Koch provided by Launch Library II. I plan to create a bio for eaach of these astronauts only using the api, if the contents of the api change the web page should change automatically. Although I’m limited to 15 requests per hour which is annoying.
Quite afew things have been added since my first devlog. So far I’ve worked a little bit on responsive design to make it more viewable on mobile. I also created a little bubble menu which allows you to transition between Hubs. I created a moon basepage which will provide centralized infirmation on our moon base plans specifically. I’m currently inn the process of implementing some of the simulations NASA created within my website through embedding.
During this time, I have embedded two NASA simulations into the website for visualization. You can fine them by going to the Artemis II page and going to the moon base page under “Explore”. I also embedded some YouTube videos to #1 let people understand the idea of the Artemis Program and CLPS who aren’t familiar, and #2 you don’t have to search for multiple YouTube videos potentially on different channels. They all are here. And honestly, when you’re navigating a website, it’s more convenient to watch an embedded video than navigate to YouTube. The last thing I worked on a little bit was making the moon base section more mobile responsive. Still looks a little off, but better than it was before.
Hello It’s been a little while since my last devlog but I plan to make them more frequently. This is my first log sincemy first shipment and Ive been spending thelasst 5 hours trying to implement the feedback I got. 1. Someone said it would be nice to see some facts about the astronauts, so I did something like that. I made an array that displays a random fact about the missions every time the page loads. This one took me a while to do because I was running into an issue where the Artemis I facts would display but not the subsequent ones. I went onto Stack Overflow and problem is resolved. 2. Someone said it would be nice to read texts about the missions rather thaan rely on videos because some people have different preferences for how they learn information. So what I did is created a series of dropdowns on the very bottom that tells you information aout the mission. I chose a dropdown format so they dont take up as much space on the page if its not being read.
Artemis II Page Update! Devlog Formatting This is the first devlog that’s formatted nicely, I’ve been writing them on my phone and for some reason it doesn’t format there at all just displays as a large paragraph. But I’m writing this one on a computer allowing me to format paragraphs and headings. Artemis II page I’ve been working on the Artemis II page, I’m not quite finished but got the history of it and the preperations which explains the stacking timeline and the heatshield issue. Artemis I Timeline I added a timeline to the Artemis I page which you can see in the demo link. It shows major events that happened from stacking to reentry. Another thing I did was update the status of Artemis III below that countdown banner.
Completed Artemis II page Completed the Artemis II page where I explained the flight profile, preparations, and its full flight timeline.
Made some progress on my Artemis website! Below is the changelog, but the highlight I have to share is the addition of a “Blogs” page that organizes blogs into rows. These blogs will be more detailed Artemis Updates. It’s the first blog structure I’ve done, so wanted to try it out. I also moved the left navigation bubble content to a bottom navigation bar. Removed Removed the bubble navbar on left side (Got moved to newely added bottom navbar) Added Bottom navigation bar Blog Page First Artemis Blog I would encourage you to look around the repository because I made some additions to it. I added badges at the top of the README file to neatly display some information about the website such as its version, programming languages, etc. Also added a CHANGELOG.md file so you can read every single change I’ve made to this website and read any future updates that are released. Created a Discussions tab at Top menu bar > Discussions so I can make announcements and updates about this project.
Ships:
My project is called Artemis Hub, a static website that provides centralized information about the Artemis Program while showing our progress in building a moon base. It prevents people from navigating to multiple YouTube videos or the entire NASA site (I Frequently have to make multiple clicks to navigate that massive site), and just provides all that information on one page. Even to read information about Artemis II on the NASA site, you still have to view more than one page. So that’s the problem this project solves. To me the most challenging part of it was UI design, that’s what I spent most of my time on. I’m not very good at UI design, so this project allowed me to experiment with UI and I’m getting an idea of what works, doesn’t or what could be done better which will help me in future projects. I’ve also learned how to create a JavaScript countdown timer. For those testing the project, I am still working on responsive design, the site is navigable on mobile devices, but it’s a work in progress. This isn’t the final site, I still have more to do, but I’m doing a in-progress shipment. One thing I am proud of is getting the JavaScript countdown working, and the horizontal carousels made. I was too lazy to figure out how to make a carousel in JavaScript so I just used CSS to position each card and style the trackbar. I wasn’t sure if it was going to work, but it did.
This is my final ship for this project, I would encourage you to read my last shipment as I go in more detail of what the project is about. Basically, I built a central website hub that provides information on the Artemis Program. You can find certain information on my website within a few clicks what takes 4-8 clicks on the NASA website. Between the first ship to this one, I’ve mainly just been implementing some feedback I got from the first ship such as adding more text information in case someone doesn’t want to watch the videos, and adding random facts about the astronauts. I added dropdowns which display text which you can click to show, I made them drop down just to save space in the screen if it’s not being used. What took me a bit of time though was adding a script that would provide random information about each Artemis mission every time the page is loaded. That part took a little bit because I was running into an issue where facts for Artemis II would show but not Artemis III, it all had to do with text above overriding the text below. I just resolved this issue by adding the Arrays to the individual HTML files as they just shared the main.js file before....
|
1792986560.635095
|
1793072960.635095
|
|
11054
|
Project Tracker by @JasonC9 | Stardance
|
JasonC9
|
1
|
16.0
|
220
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T20:00:58Z", "hours": 16.0, "multiplier": 13.39, "payout": 220, "blessing": "neutral", "text": "I built a project tracker that runs in your browser using HTML, CSS, and JavaScript, where all project data is stored in a projects.json file. The main challenge was making the JavaScript, especially syncing edits across the dashboard, checklist, and editor while avoiding missing or broken code. Some projects don’t have BOMs or journals. To save it properly, you need to download the JSON file and upload it to the website root directory /root , since everything depends on that file for storage.", "repo": "https://github.com/anadskman/Project-Tracker", "demo": "https://anadskman.github.io/ProjectTracker/"}]...
|
[{"post_id": 7026, "ts": "2026 [{"post_id": 7026, "ts": "2026-06-11T19:45:11Z", "hours": 1.6639, "text": "Made checklist page similar as edit page download json and upload to website root to save globally Made mobile Friendly Made github"}, {"post_id": 6817, "ts": "2026-06-11T13:18:38Z", "hours": 1.4869, "text": "made editor have journal/bom buttons edit links edit status dashboard display from json projects page displays from json filled info for blueprint/flavortown in .json To Do Make checklist page Add Database(mightnt do, downloading and uploading the json fill would be easier) Make Github Page!!!"}, {"post_id": 6275, "ts": "2026-06-10T15:31:04Z", "hours": 4.4389, "text": "uploaded boms and journals for blueprint/flavortown Worked on Upload/Edit Page Current Features Edit Projects on right panel and hit save. download the json and replace with current one to save changes outside of local 4 items in the center are editable Add Programs/Projects buttons (Save Locally ATM ) To Do Add image upload/change change local storage to database(last thing) make projects in projects and dashboard pages load from projects.json instead of static make checklist page Add rest of info for blueprint/flavortown in .json"}, {"post_id": 4994, "ts": "2026-06-08T17:16:20Z", "hours": 3.7511, "text": "Completed Made Header Cleaner Dashboard Cleaner Projects Page Collapse button for each section Filter between project status and cost stats display at top of dashboard Fixed journal/bom box sizes made links next to eachother at the bottom Changed Global font to inter Changed color scheme to match and look nicer To Do links for hackatime/lapse upload boms/journals for blueprint and flavortown make upload/edit section make checklist page"}, {"post_id": 4390, "ts": "2026-06-07T18:24:27Z", "hours": 3.0078, "text": "I added a view BOM using a similar system but i ran in to some bugs of course, like the BOM not showing at all, styles not working. At first i was gonna type all the BOMs in as tables one by one but i remembered you can export your BOMs or just use the ones that would of been put in the GitHub. Once everything was looking nice and how i wanted it i did the slower part and copied and pasted it for each and every project and filled in their info. I filled in everything except for the pricing and times on the blueprint and flavortown projects. Additionally i have to upload the BOMs and journals for those projects as well. To Do List: Upload BOMs, Journals, Time, and Prices to Blueprint and Flavortown Projects Possibly make a “frontend” upload control so if others want to use this they can easy add in their own projects into their own copy of the site Possibly Filter option for completed and in progress projects Links section, for lapse or hackatime Cleaner Dashboard, collapse button for projects*(each program its own button)* Stats in the dashboard header to move between hackclub.html and index.html"}, {"post_id": 4216, "ts": "2026-06-07T13:31:35Z", "hours": 2.1431, "text": "Made the project list, and added a Status bar, links to github and hackclub sites, when you click on the project itself it takes you to its own page. I made the stasis page but only with the stopwatch on it so far. its the same setup but i added a total time, cost and the journals. For the journals i used zero-md. Heres the code for that if you wanna use it yourself: <head> script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/zero-md@3?register\"></script> </head> <body> <div class=\"journal\"> <details> <summary>View Journal</summary> <zero-md src=\"journals/Desktop-Stopwatch-JOURNAL.md\"> <template data-append> <style> img { max-width: 20% !important; width: 100% !important; height: auto !important; display: block !important; margin: 10px 0 !important; } </style> </template> </zero-md> </details> </div> </body>"}]...
|
Title: Project Tracker by @JasonC9 | Stardance
De Title: Project Tracker by @JasonC9 | Stardance
Devlogs:
Made the project list, and added a Status bar, links to github and hackclub sites, when you click on the project itself it takes you to its own page. I made the stasis page but only with the stopwatch on it so far. its the same setup but i added a total time, cost and the journals. For the journals i used zero-md. Heres the code for that if you wanna use it yourself: <head> script type="module" src="https://cdn.jsdelivr.net/npm/zero-md@3?register"></script> </head> <body> <div class="journal"> <details> <summary>View Journal</summary> <zero-md src="journals/Desktop-Stopwatch-JOURNAL.md"> <template data-append> <style> img { max-width: 20% !important; width: 100% !important; height: auto !important; display: block !important; margin: 10px 0 !important; } </style> </template> </zero-md> </details> </div> </body>
I added a view BOM using a similar system but i ran in to some bugs of course, like the BOM not showing at all, styles not working. At first i was gonna type all the BOMs in as tables one by one but i remembered you can export your BOMs or just use the ones that would of been put in the GitHub. Once everything was looking nice and how i wanted it i did the slower part and copied and pasted it for each and every project and filled in their info. I filled in everything except for the pricing and times on the blueprint and flavortown projects. Additionally i have to upload the BOMs and journals for those projects as well. To Do List: Upload BOMs, Journals, Time, and Prices to Blueprint and Flavortown Projects Possibly make a “frontend” upload control so if others want to use this they can easy add in their own projects into their own copy of the site Possibly Filter option for completed and in progress projects Links section, for lapse or hackatime Cleaner Dashboard, collapse button for projects*(each program its own button)* Stats in the dashboard header to move between hackclub.html and index.html
Completed Made Header Cleaner Dashboard Cleaner Projects Page Collapse button for each section Filter between project status and cost stats display at top of dashboard Fixed journal/bom box sizes made links next to eachother at the bottom Changed Global font to inter Changed color scheme to match and look nicer To Do links for hackatime/lapse upload boms/journals for blueprint and flavortown make upload/edit section make checklist page
uploaded boms and journals for blueprint/flavortown Worked on Upload/Edit Page Current Features Edit Projects on right panel and hit save. download the json and replace with current one to save changes outside of local 4 items in the center are editable Add Programs/Projects buttons (Save Locally ATM ) To Do Add image upload/change change local storage to database(last thing) make projects in projects and dashboard pages load from projects.json instead of static make checklist page Add rest of info for blueprint/flavortown in .json
made editor have journal/bom buttons edit links edit status dashboard display from json projects page displays from json filled info for blueprint/flavortown in .json To Do Make checklist page Add Database(mightnt do, downloading and uploading the json fill would be easier) Make Github Page!!!
Made checklist page similar as edit page download json and upload to website root to save globally Made mobile Friendly Made github
Ships:
I built a project tracker that runs in your browser using HTML, CSS, and JavaScript, where all project data is stored in a projects.json file. The main challenge was making the JavaScript, especially syncing edits across the dashboard, checklist, and editor while avoiding missing or broken code. Some projects don’t have BOMs or journals. To save it properly, you need to download the JSON file and upload it to the website root directory /root , since everything depends on that file for storage....
|
1792993697.8356006
|
1793080097.8356006
|
|
4556
|
IB Website by @wingnovel | Stardance
|
wingnovel
|
1
|
36.27
|
219
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T15:23:07Z", "hours": 36.0, "multiplier": 7.23, "payout": 219, "blessing": "neutral", "text": "What did you make? I have made a website that will help International Baccalaureate students study more effectively than just reading books What was challenging? The challenging part was to collect the data for the project, I used AI to get the questions for the quiz and flashcard sections and it was difficult to prompt it effectively. Another challenge was to learn to use GitHub Pages I tried nest it did not work, so I switched to GitHub Pages, however that too was not working due to the wrong settings being enabled however it is working properly now. What are you proud of? I am proud of the UX, I generally think of myself as the worst designer however with the help of some inspiration taken from the stardust theme I have been able to design this website in the purple space like theme. What should people know so they can test your project? All people need to do to test the project is open a link to the GitHub url", "repo": "https://github.com/raghav03102008/ibwebsite", "demo": "https://raghav03102008.github.io/ibwebsite/"}]...
|
[{"post_id": 6257, "ts": "2026 [{"post_id": 6257, "ts": "2026-06-10T14:50:31Z", "hours": 0.2667, "text": "Updating the Project AI declaration"}, {"post_id": 5651, "ts": "2026-06-09T15:05:46Z", "hours": 12.0064, "text": "Fully functional website concept with questions to give you active recall"}, {"post_id": 5067, "ts": "2026-06-08T18:54:16Z", "hours": 13.5667, "text": "Adding maths content to the website"}, {"post_id": 3250, "ts": "2026-06-06T03:00:07Z", "hours": 0.3575, "text": "Adding icons for the subjects"}, {"post_id": 2646, "ts": "2026-06-05T09:29:19Z", "hours": 9.94, "text": "UI of the page"}]...
|
Title: IB Website by @wingnovel | Stardance
Devlo Title: IB Website by @wingnovel | Stardance
Devlogs:
UI of the page
Adding icons for the subjects
Adding maths content to the website
Fully functional website concept with questions to give you active recall
Updating the Project AI declaration
Ships:
What did you make? I have made a website that will help International Baccalaureate students study more effectively than just reading books What was challenging? The challenging part was to collect the data for the project, I used AI to get the questions for the quiz and flashcard sections and it was difficult to prompt it effectively. Another challenge was to learn to use GitHub Pages I tried nest it did not work, so I switched to GitHub Pages, however that too was not working due to the wrong settings being enabled however it is working properly now. What are you proud of? I am proud of the UX, I generally think of myself as the worst designer however with the help of some inspiration taken from the stardust theme I have been able to design this website in the purple space like theme. What should people know so they can test your project? All people need to do to test the project is open a link to the GitHub url...
|
1792972462.8987384
|
1793058862.8987384
|
|
6507
|
portfolio by @ok | Stardance
|
ok
|
1
|
27.0
|
219
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T01:12:34Z", "hours": 27.0, "multiplier": 8.19, "payout": 219, "blessing": "neutral", "text": "I made a personal website that shows both my coding and photography! the photos are loaded in with JSON, to make my future self happy (thats a first). The projects have actual pieces of code from my projects, with breadcrumbs (thats what bootstrap calls them), to what file they’re from, and tooltips by the breadcrumb from where they are used. for the about me and contact me section, I made sure to have it dynamically change based on where you are coming from, with shoutouts to organizations that I support, and also making sure to change the logo IF it requires being changed. contact me form has a list of hashed blocked emails (i.e [email protected] ). Also, made sure that omkanabar.com/contact redirects you to the contact section of my main page. made sure there’s a landing page, after you submit. thanks for reading this! -ok", "repo": "https://github.com/om-kanabar/om-kanabar.github.io", "demo": "https://omkanabar.com"}]...
|
[{"post_id": 17302, "ts": "202 [{"post_id": 17302, "ts": "2026-06-28T01:02:40Z", "hours": 4.5217, "text": "final devlog finished everything, finally contact form added contact form that dynamically changed colors, also contact.html redirects you to the contact form. Also, if there is a param that states from=randomPlace, if you submit my form, it will tell me which place you got to my website, (this is mainly used for ease of use for me). oh also added some blocked emails, try using [email protected] , and it’ll show a message that is fullscreen. i don’t like spammers. about me i made a simple about me section, that shows a bit about my interests, and it shout outs some organizations that i support. both contacte form and about me dynamically change colors depending on what side you clicked (the wbez logo also changes). 404 made 404 page more like the rest of my website and less like the first version of my site (i still included the same quote). thanks I added a landing page once you submitted my form. very simple. code made this project into v.3.0.0-stable photography added nothing thank you to everyone who has seen any of my devlogs, and has supported me! -ok btw i wish i could add more photos"}, {"post_id": 15751, "ts": "2026-06-25T17:00:06Z", "hours": 3.8819, "text": "Finished the code section! I finished the code section for my website, finally! Photography I rearranged the photos from the “scene” thing into just one continuous thing bcs the scene for me would’ve been too hard for me to design UX and UI around. Also added back scrolling using arrow keys! Code Finished everything including projects! This took alot of time and alot of debugging. The code backgrounds are actual text styles with CSS. EVERYTHING made the website more responsive! -ok"}, {"post_id": 14109, "ts": "2026-06-23T02:47:53Z", "hours": 6.05, "text": "this is the longest devlog that ill prob have on this project everything made the back btn a chameleon nav so it doesn’t get in the way while scrolling down photography made transitions between different scenes, also made it JSON based, so i don’t have to do repetitive html. (screenshot of json is there) btns for scrolling don’t work, ill fix that later code i finally started working on this after spending so much time on photography I added alot of things, words dont’ do it justice see pictures. so I made actual code from the projects the background for each section and its ACTUAL TEXT styled with css (it matches my vs code exactly), I also added links to the document in a breadcrumb at the top. i need to devlong more often trust ill do it -ok"}, {"post_id": 12933, "ts": "2026-06-21T05:17:04Z", "hours": 3.6736, "text": "Made it so that JSON controls the photos and JS inserts them dynaimically, this was quite a challange for me since i didn’t know JSON syntax and how to parse it at all."}, {"post_id": 4689, "ts": "2026-06-08T03:01:41Z", "hours": 1.7144, "text": "Made it so you can scroll with arrow keys, also added scroll buttons, obv clean and minimal to avoid taking attention from my photography. Also I removed the copyright notice, ill add it at the bottom of the page later. Also I cleaned up my repo and folder from a bunch of old files from my old website (ewww) git still has them but its now better. i also just went on a photography trip to downtown chicago, maybe ill add a photo? but now I kinda need to work on the code section because its feeling quite unloved right now."}, {"post_id": 3314, "ts": "2026-06-06T05:36:52Z", "hours": 0.6758, "text": "finished adding all my photos! finally! I rearranged some of the photos so it made more sense and also I made it so that lansdcape orientated photos instead of multiple lines of Shutter speed, apurture and ISO its one line so that everything fits better on the screen. Tommorow/today imma start working on the code section or work on an about me section which will lead to a contact section"}, {"post_id": 2589, "ts": "2026-06-05T05:43:23Z", "hours": 2.1675, "text": "Added more photos! Fixed the scrolling because the old one while it looked cool was WAAY too complex to be used at all on other computers. Also I made it so that when you hover over the photo details their opacity increases."}, {"post_id": 2467, "ts": "2026-06-04T23:43:43Z", "hours": 1.4242, "text": "Added the first photo in my portfolio to the website! I also made sure that a user could see it knowing to scroll down, Im going to add the other photos in my portfolio soon."}, {"post_id": 1895, "ts": "2026-06-04T03:38:54Z", "hours": 2.7667, "text": "I made the introduction section of the website, and finished the main animations. I also added a bit of filler text for the body of each one"}]...
|
Title: portfolio by @ok | Stardance
Devlogs:
I ma Title: portfolio by @ok | Stardance
Devlogs:
I made the introduction section of the website, and finished the main animations. I also added a bit of filler text for the body of each one
Added the first photo in my portfolio to the website! I also made sure that a user could see it knowing to scroll down, Im going to add the other photos in my portfolio soon.
Added more photos! Fixed the scrolling because the old one while it looked cool was WAAY too complex to be used at all on other computers. Also I made it so that when you hover over the photo details their opacity increases.
finished adding all my photos! finally! I rearranged some of the photos so it made more sense and also I made it so that lansdcape orientated photos instead of multiple lines of Shutter speed, apurture and ISO its one line so that everything fits better on the screen. Tommorow/today imma start working on the code section or work on an about me section which will lead to a contact section
Made it so you can scroll with arrow keys, also added scroll buttons, obv clean and minimal to avoid taking attention from my photography. Also I removed the copyright notice, ill add it at the bottom of the page later. Also I cleaned up my repo and folder from a bunch of old files from my old website (ewww) git still has them but its now better. i also just went on a photography trip to downtown chicago, maybe ill add a photo? but now I kinda need to work on the code section because its feeling quite unloved right now.
Made it so that JSON controls the photos and JS inserts them dynaimically, this was quite a challange for me since i didn’t know JSON syntax and how to parse it at all.
this is the longest devlog that ill prob have on this project everything made the back btn a chameleon nav so it doesn’t get in the way while scrolling down photography made transitions between different scenes, also made it JSON based, so i don’t have to do repetitive html. (screenshot of json is there) btns for scrolling don’t work, ill fix that later code i finally started working on this after spending so much time on photography I added alot of things, words dont’ do it justice see pictures. so I made actual code from the projects the background for each section and its ACTUAL TEXT styled with css (it matches my vs code exactly), I also added links to the document in a breadcrumb at the top. i need to devlong more often trust ill do it -ok
Finished the code section! I finished the code section for my website, finally! Photography I rearranged the photos from the “scene” thing into just one continuous thing bcs the scene for me would’ve been too hard for me to design UX and UI around. Also added back scrolling using arrow keys! Code Finished everything including projects! This took alot of time and alot of debugging. The code backgrounds are actual text styles with CSS. EVERYTHING made the website more responsive! -ok
final devlog finished everything, finally contact form added contact form that dynamically changed colors, also contact.html redirects you to the contact form. Also, if there is a param that states from=randomPlace, if you submit my form, it will tell me which place you got to my website, (this is mainly used for ease of use for me). oh also added some blocked emails, try using [email protected] , and it’ll show a message that is fullscreen. i don’t like spammers. about me i made a simple about me section, that shows a bit about my interests, and it shout outs some organizations that i support. both contacte form and about me dynamically change colors depending on what side you clicked (the wbez logo also changes). 404 made 404 page more like the rest of my website and less like the first version of my site (i still included the same quote). thanks I added a landing page once you submitted my form. very simple. code made this project into v.3.0.0-stable photography added nothing thank you to everyone who has seen any of my devlogs, and has supported me! -ok btw i wish i could add more photos
Ships:
I made a personal website that shows both my coding and photography! the photos are loaded in with JSON, to make my future self happy (thats a first). The projects have actual pieces of code from my projects, with breadcrumbs (thats what bootstrap calls them), to what file they’re from, and tooltips by the breadcrumb from where they are used. for the about me and contact me section, I made sure to have it dynamically change based on where you are coming from, with shoutouts to organizations that I support, and also making sure to change the logo IF it requires being changed. contact me form has a list of hashed blocked emails (i.e [email protected] ). Also, made sure that omkanabar.com/contact redirects you to the contact section of my main page. made sure there’s a landing page, after you submit. thanks for reading this! -ok...
|
1792986651.5854666
|
1793073051.5854666
|
|
21303
|
MultiHeadSubleq by @ciaran | Stardance
|
ciaran
|
1
|
21.0
|
219
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T02:23:04Z", "hours": 21.0, "multiplier": 10.43, "payout": 219, "blessing": "neutral", "text": "Finally done! After quite a bit of issues of the infernal persuasion, its actually done! Somehow, despite this project encompassing emulating an (albeit simple) CPU, multithreading in assembly with zero protections, and writing a bunch of math routines from scratch, the hardest part was probably making things not look horrible.", "repo": "https://github.com/ciaranmcguinness/multisubleq", "demo": "https://cmcg.pyscriptapps.com/jolly-union/"}]...
|
[{"post_id": 23241, "ts": "202 [{"post_id": 23241, "ts": "2026-07-06T02:19:26Z", "hours": 0.4142, "text": "Made a few final touchups to the readme, built a CLI to run asm without having to edit python files."}, {"post_id": 23235, "ts": "2026-07-06T01:48:42Z", "hours": 0.3072, "text": "Punch up my readme in prep for shipping."}, {"post_id": 23220, "ts": "2026-07-06T01:22:24Z", "hours": 1.6681, "text": "I built a TUI version of the webapp! It’s not as pretty as I’d like, but its good enough."}, {"post_id": 23134, "ts": "2026-07-05T22:10:58Z", "hours": 7.2711, "text": "CSS IS PAIN Most of this time was fighting a losing battle against CSS. But in my darkest hour (~2:00 AM, last night), a knight in shining armor came to rescue me, Claude. The actual code part was pretty easy, mostly just hooking up methods to buttons and making my assembler work in micropython. All I have left now is writing a tutorial, so people can better figure out how this works."}, {"post_id": 12235, "ts": "2026-06-19T23:41:01Z", "hours": 8.2114, "text": "I accidentally made a pesudo-compiler. AGAIN. Also, I hate numbers now. So, I’m working on a parallel implementation of an esoteric-ish assembly language called subleq. The defining feature of which is that it only has a single instruction, Subtract and jump if Less than or EQual to zero (hence the name). At first, I thought this was going to be a simple project. Maybe 4 hours writing the implementation and 2 hours writing a frontend. Boy, was I wrong. At first it was all going to plan, I had most of it done. I just needed to write a few demo programs for multiprocessing and then I plonk it into web assembly and give it a UI. Then the worms started talking to me. They said, “you know how painful writing subleq by hand is, you should make some helper functions, like you had when you first learned about subleq.” So I made a few functions, addition, subtraction, jumping, and inverting values. But then I heard the worms voice, echoing from the distance, “Multiplication and division would be easy, and it would mean you could find primes.” Condemnation directly to number hell The worms lied to me, as they often do. It was in fact not easy. Multiplication was less painful. Its just repeated addition. BUT, i have to deal with negatives. So, the simpler of the two became spaghetti. And that was the east one! Next it was time for division. Division (and it’s twin, modulo) legitimately could have been most of this time. I’m not exactly sure how my division routine works, because it was written at midnight. But what I can tell you is that it involves magic numbers, loops, and subtracting zero from zero. Also it broke my compiler, flinging the function pointer directly into my variables, requiring multiple patch jobs to the division function and my compiler. But now! Finally! I have a working calculator! Now to parallelize…"}, {"post_id": 11008, "ts": "2026-06-18T01:06:15Z", "hours": 1.0592, "text": "Got parallel working! Now i just need to hook it up to HTML canvas and maybe make some convenience functions."}, {"post_id": 10966, "ts": "2026-06-17T23:51:58Z", "hours": 2.1264, "text": "Finally got the basics of this done! Assembler is fully working and I have my IO such that I could theoretically glue multiple heads/processors together. Emphasis on theoretically."}]...
|
Title: MultiHeadSubleq by @ciaran | Stardance
Dev Title: MultiHeadSubleq by @ciaran | Stardance
Devlogs:
Finally got the basics of this done! Assembler is fully working and I have my IO such that I could theoretically glue multiple heads/processors together. Emphasis on theoretically.
Got parallel working! Now i just need to hook it up to HTML canvas and maybe make some convenience functions.
I accidentally made a pesudo-compiler. AGAIN. Also, I hate numbers now. So, I’m working on a parallel implementation of an esoteric-ish assembly language called subleq. The defining feature of which is that it only has a single instruction, Subtract and jump if Less than or EQual to zero (hence the name). At first, I thought this was going to be a simple project. Maybe 4 hours writing the implementation and 2 hours writing a frontend. Boy, was I wrong. At first it was all going to plan, I had most of it done. I just needed to write a few demo programs for multiprocessing and then I plonk it into web assembly and give it a UI. Then the worms started talking to me. They said, “you know how painful writing subleq by hand is, you should make some helper functions, like you had when you first learned about subleq.” So I made a few functions, addition, subtraction, jumping, and inverting values. But then I heard the worms voice, echoing from the distance, “Multiplication and division would be easy, and it would mean you could find primes.” Condemnation directly to number hell The worms lied to me, as they often do. It was in fact not easy. Multiplication was less painful. Its just repeated addition. BUT, i have to deal with negatives. So, the simpler of the two became spaghetti. And that was the east one! Next it was time for division. Division (and it’s twin, modulo) legitimately could have been most of this time. I’m not exactly sure how my division routine works, because it was written at midnight. But what I can tell you is that it involves magic numbers, loops, and subtracting zero from zero. Also it broke my compiler, flinging the function pointer directly into my variables, requiring multiple patch jobs to the division function and my compiler. But now! Finally! I have a working calculator! Now to parallelize…
CSS IS PAIN Most of this time was fighting a losing battle against CSS. But in my darkest hour (~2:00 AM, last night), a knight in shining armor came to rescue me, Claude. The actual code part was pretty easy, mostly just hooking up methods to buttons and making my assembler work in micropython. All I have left now is writing a tutorial, so people can better figure out how this works.
I built a TUI version of the webapp! It’s not as pretty as I’d like, but its good enough.
Punch up my readme in prep for shipping.
Made a few final touchups to the readme, built a CLI to run asm without having to edit python files.
Ships:
Finally done! After quite a bit of issues of the infernal persuasion, its actually done! Somehow, despite this project encompassing emulating an (albeit simple) CPU, multithreading in assembly with zero protections, and writing a bunch of math routines from scratch, the hardest part was probably making things not look horrible....
|
1792979403.850895
|
1793065803.850895
|
|
46193
|
Nay's Portfolio (v2) by @Nay | Stardance
|
Nay
|
2
|
19.0
|
218
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T23:10:00Z", "hours": 12.0, "multiplier": 18.5, "payout": 218, "blessing": "neutral", "text": "I made the Home Page to my Personal Portfolio!!! Its kitted out with everything a good personal site could want, from a pretty hero, some simple GSAP scroll timeline animations, an about me, some work experience, and an excessive amount of custom artwork!!! And yet my favorite part of this page was not the artwork, but instead a moving carosol of fancy pieces of paper (read: certifications), that took me way too much time. Its scuffed, but its my scuffed. Im hoping in the future to add seperate portolio sections for both art and tech, but that is solidly a future me problem. Currently, Im quite happy with the state its in right now, and I think its at least ready to be shared :DDD", "repo": "https://github.com/Nayraiyt/V2-Portfolio", "demo": "https://nayraiyt.github.io/V2-Portfolio/"}, {"ship_num": 2, "ts": "2026-08-10T01:26:09Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made (the start) to my portfolio!!! Currently, its got the basic structure of a personal site, A flashy hero, an about-me, work experience. What I’m most proud of with this site, is the small shine animation that i put on my cards (it took so long) It gives them that shinny holographic feel, and really makes it pop. I’m also very pleased with how all the art came out, as well as the simple CSS animations (I think I’ve added clouds to every single web based project I’ve ever made…).", "repo": "https://github.com/Nayraiyt/V2-Portfolio", "demo": "https://nayraiyt.github.io/V2-Portfolio/"}]...
|
[{"post_id": 52681, "ts": "202 [{"post_id": 52681, "ts": "2026-08-22T23:03:22Z", "hours": 1.0875, "text": "The site is now more mobile friendly!!! Yippie!!! 5 commits later, after realizing that the inspect mobile looked vastly different than looking at the site on my own phone, and a little bit of patience. i also added an under construction sign for the art and tech pages."}, {"post_id": 50766, "ts": "2026-08-20T04:06:59Z", "hours": 0.6183, "text": "Added 2 more project tiles :D (they also flip, very cool, very cool!!)"}, {"post_id": 50737, "ts": "2026-08-20T02:46:14Z", "hours": 1.7692, "text": "I started work on the Art Portolio Section of my Site!!! This is very much “make it work first, then make it pretty.” I wanted to have cool flippable cards, which transition from the project asset board, to some basic info about the event/project."}, {"post_id": 49943, "ts": "2026-08-18T22:24:50Z", "hours": 1.85, "text": "I simplified the logic for my moving carosol. Each paper moves independently on a delay. It’s kinda a stupid fix to a stupid problem, but hey. If it works, dont touch it. Im just not going to breathe in its dirrection for a hot second. I also added in a little footer with contact info :D"}, {"post_id": 46443, "ts": "2026-08-13T17:32:24Z", "hours": 0.6217, "text": "Fixed Fancy Paper Carosol!!! (it loops now :DDDD)"}, {"post_id": 46133, "ts": "2026-08-13T04:37:13Z", "hours": 2.2264, "text": "What went well: Changed hero image, i think its cuter now. Added more gsap animations cuz we extra here Began with Certifications and Contacts sections Did more mobile friendly ness for smaller screen sizes What went bad: spent an unhealthy amount of time trying to get a cool infinite carosol for my fancy pieces of paper. TLDR. Its not working right now. I’ve got it to loop, but it doesnt have a smooth transition back into frame. Now its a tomorrow problem."}, {"post_id": 44952, "ts": "2026-08-11T01:47:37Z", "hours": 0.9167, "text": "Made my site marginally more mobile friendly! (also had to figure out gsap match media, so that the animations made more sense) Its also now hosted on a domain!!! (TY HACKCLUB)"}, {"post_id": 44681, "ts": "2026-08-10T16:36:18Z", "hours": 2.7003, "text": "Today was GSAP day (a very pretty JS library for smooth animations, + a bunch of other cool stuffs, but mostly the smooth animations with time lines and triggers, ect) So unfortunately, past Nay had set up a lot of their css layout in a way that was incompatable (over-use of position: absolute) with GSAP’s smooth scrolling, so i spend a while refactoring that for it to work. Yippie. I also added in smooth scroll to for the different sections of my site, with the nav bar. For transitions, i used GSAP Scroll Trigger to add subtle fade in to the work section, as well as the nav bar, which zipps across the screen when you pass over it. In the future, i want to add a plane to one of the buttons, so it looks more natural."}, {"post_id": 44336, "ts": "2026-08-10T01:01:45Z", "hours": 7.3422, "text": "OK! Dev log time >:D I wanted to make a personal portfolio this summer, before University starts to kick my butt, so here we are!!! I started by drawing out the hero on procreate. This included individual clouds, and the penguin moon, you see featured in the center. Then with some simple css animations, and 30 hand placed stars (there had gotta be a faster way to do that, but if there is i have no idea what it is…), The sky was coming together. in order to have a smooth is transition to the about me section, I wanted to have hills which fade into the same color. I think the full layout for everything in this site is grid, (because grid be the goat). I drew out the profile picture, added in a quick description, and threw in a small blurb about drinking water, because i had a very pretty drawing of a cup of water lying around that i wanted to include. Next up, i did the work experience section. Its fairly straight forwards, since i honestly took most of the text straight from my resume, and added an inset to the base so that the work cards popped a bit more. My vision for the rest of the site, is to have 2 main path ways. One leads to an art portfolio, and the other leads to a tech portfolio, depending on which one you click on. The reason i choose cards, was 100% based on the hackclub counterspell’s site, but instead with cats! I wanted them to have a holo-foil feel, so i added in a hover animation to them, that has a shine transform over the card. (its very cool, and took me a really long time so please praise it) Then, i went back and added in abunch of hover animations to the rest of the site to make it feel more alive. And, that’s about all for this log!! Thanks for scrolling if you got this far!!!"}]...
|
Title: Nay's Portfolio (v2) by @Nay | Stardanc Title: Nay's Portfolio (v2) by @Nay | Stardance
Devlogs:
OK! Dev log time >:D I wanted to make a personal portfolio this summer, before University starts to kick my butt, so here we are!!! I started by drawing out the hero on procreate. This included individual clouds, and the penguin moon, you see featured in the center. Then with some simple css animations, and 30 hand placed stars (there had gotta be a faster way to do that, but if there is i have no idea what it is…), The sky was coming together. in order to have a smooth is transition to the about me section, I wanted to have hills which fade into the same color. I think the full layout for everything in this site is grid, (because grid be the goat). I drew out the profile picture, added in a quick description, and threw in a small blurb about drinking water, because i had a very pretty drawing of a cup of water lying around that i wanted to include. Next up, i did the work experience section. Its fairly straight forwards, since i honestly took most of the text straight from my resume, and added an inset to the base so that the work cards popped a bit more. My vision for the rest of the site, is to have 2 main path ways. One leads to an art portfolio, and the other leads to a tech portfolio, depending on which one you click on. The reason i choose cards, was 100% based on the hackclub counterspell’s site, but instead with cats! I wanted them to have a holo-foil feel, so i added in a hover animation to them, that has a shine transform over the card. (its very cool, and took me a really long time so please praise it) Then, i went back and added in abunch of hover animations to the rest of the site to make it feel more alive. And, that’s about all for this log!! Thanks for scrolling if you got this far!!!
Today was GSAP day (a very pretty JS library for smooth animations, + a bunch of other cool stuffs, but mostly the smooth animations with time lines and triggers, ect) So unfortunately, past Nay had set up a lot of their css layout in a way that was incompatable (over-use of position: absolute) with GSAP’s smooth scrolling, so i spend a while refactoring that for it to work. Yippie. I also added in smooth scroll to for the different sections of my site, with the nav bar. For transitions, i used GSAP Scroll Trigger to add subtle fade in to the work section, as well as the nav bar, which zipps across the screen when you pass over it. In the future, i want to add a plane to one of the buttons, so it looks more natural.
Made my site marginally more mobile friendly! (also had to figure out gsap match media, so that the animations made more sense) Its also now hosted on a domain!!! (TY HACKCLUB)
What went well: Changed hero image, i think its cuter now. Added more gsap animations cuz we extra here Began with Certifications and Contacts sections Did more mobile friendly ness for smaller screen sizes What went bad: spent an unhealthy amount of time trying to get a cool infinite carosol for my fancy pieces of paper. TLDR. Its not working right now. I’ve got it to loop, but it doesnt have a smooth transition back into frame. Now its a tomorrow problem.
Fixed Fancy Paper Carosol!!! (it loops now :DDDD)
I simplified the logic for my moving carosol. Each paper moves independently on a delay. It’s kinda a stupid fix to a stupid problem, but hey. If it works, dont touch it. Im just not going to breathe in its dirrection for a hot second. I also added in a little footer with contact info :D
I started work on the Art Portolio Section of my Site!!! This is very much “make it work first, then make it pretty.” I wanted to have cool flippable cards, which transition from the project asset board, to some basic info about the event/project.
Added 2 more project tiles :D (they also flip, very cool, very cool!!)
The site is now more mobile friendly!!! Yippie!!! 5 commits later, after realizing that the inspect mobile looked vastly different than looking at the site on my own phone, and a little bit of patience. i also added an under construction sign for the art and tech pages.
Ships:
I made (the start) to my portfolio!!! Currently, its got the basic structure of a personal site, A flashy hero, an about-me, work experience. What I’m most proud of with this site, is the small shine animation that i put on my cards (it took so long) It gives them that shinny holographic feel, and really makes it pop. I’m also very pleased with how all the art came out, as well as the simple CSS animations (I think I’ve added clouds to every single web based project I’ve ever made…).
I made the Home Page to my Personal Portfolio!!! Its kitted out with everything a good personal site could want, from a pretty hero, some simple GSAP scroll timeline animations, an about me, some work experience, and an excessive amount of custom artwork!!! And yet my favorite part of this page was not the artwork, but instead a moving carosol of fancy pieces of paper (read: certifications), that took me way too much time. Its scuffed, but its my scuffed. Im hoping in the future to add seperate portolio sections for both art and tech, but that is solidly a future me problem. Currently, Im quite happy with the state its in right now, and I think its at least ready to be shared :DDD...
|
1792990057.4955215
|
1793076457.4955215
|
|
5347
|
Equiplane by @qqxzew | Stardance
|
qqxzew
|
1
|
14.0
|
217
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T20:28:36Z", "hours": 14.0, "multiplier": 15.16, "payout": 217, "blessing": "neutral", "text": "I made EquipLane, an industrial maintenance ticketing system where clients can report equipment problems, engineers can manage assigned repair tasks, and admins can control the whole maintenance workflow. The hardest part was coming up with the idea and building the project from scratch without much previous experience. I had to figure out the structure, database, roles, authentication, and the whole workflow step by step. I’m most proud that I was able to finish a working project and also make the GitHub repository look organized and well documented. This is my first major portfolio project, so I’m proud that it turned into something complete. To test it, just open the project link and log in using the demo credentials from the README.", "repo": "https://github.com/qqxzew/equiplane", "demo": "https://klidnapraha.fun/login.php"}]...
|
[{"post_id": 9458, "ts": "2026 [{"post_id": 9458, "ts": "2026-06-15T20:22:33Z", "hours": 0.5267, "text": "have add deployment😀"}, {"post_id": 9388, "ts": "2026-06-15T18:47:23Z", "hours": 1.4058, "text": "What I did: Wrapped up the EquipLane project and prepared it for my portfolio. I containerized the entire application using Docker and Docker Compose, linking a PHP 8.2 server with a MariaDB database so the whole environment can be spun up with a single command. I also set up a CI pipeline using GitHub Actions to automatically lint and check PHP syntax on every push. Finally, I generated a complete Entity-Relationship Diagram (ERD) to visualize the database architecture and wrote a comprehensive README explaining the core mechanics, security features, and the PRG pattern I implemented. The struggles: I definitely reached the limit of what makes sense to build with pure procedural PHP. Refactoring and maintaining this architecture showed me exactly why OOP and modern frameworks exist. It was a great learning experience for understanding the fundamentals, but I am definitely ready to move on to Nette for my next hackathon projects."}, {"post_id": 8946, "ts": "2026-06-14T21:29:13Z", "hours": 3.6275, "text": "What I did: Massive architectural and security overhaul today. I completely rewrote the form submission logic to follow the Post-Redirect-Get (PRG) pattern, integrating session-based Flash messages and strict CSRF token validation across all endpoints. I also implemented “Sticky Forms” so users never lose their detailed text inputs if a validation error occurs. For the administration side, I built full CRUD interfaces to manage personnel roles, corporate clients, and the equipment registry without needing direct database access. Finally, I wrote SQL-level pagination for the main tickets table to keep the application fast and scalable as data grows. The struggles: I finally switched from VS Code to PhpStorm today and I am just in shock at how insanely cool and powerful it is. It instantly highlighted database schema mismatches I missed and forced me to write much cleaner code, though getting used to its strict warnings definitely took some time."}, {"post_id": 6933, "ts": "2026-06-11T16:52:18Z", "hours": 2.3361, "text": "What I did: Expanded the engineer’s resource reporting logic. When resolving a ticket, engineers are now required to input the exact hours spent and the cost of replacement parts. Built a financial calculation module on the backend that automatically aggregates these costs, applies the Czech 21% VAT (DPH), and displays a detailed invoice summary to admins and clients. Also implemented a critical backup request feature: engineers can now submit a “Request Backup” flag along with a specific text reason if they encounter blocking issues on-site. Admins immediately see an approval panel to either accept the request (and assign additional help) or reject it. The struggles: I had no idea for frontend"}, {"post_id": 5086, "ts": "2026-06-08T19:30:11Z", "hours": 1.7997, "text": "Built the ticket creation page with role protection. Clients can now select their equipment, set priorities, and safely submit maintenance requests to the database via PDO prepared statements. The struggles: Broken the SQL query and html :>"}, {"post_id": 4452, "ts": "2026-06-07T19:34:13Z", "hours": 2.2319, "text": "Milestone: From Static UI to Secure Multi-User App What I did: Since the last update on the UI dashboard, I have completely transformed the project from a static frontend into a secure, functional multi-user system using native PHP and MariaDB. Authentication & Session Management: Built a backend login system from scratch. Implemented secure password hashing using bcrypt. Set up native PHP sessions to track users across pages. Security Guards & Logout: Created a centralized guard script to prevent unauthorized URI access. If a user isn’t logged in, they are killed and redirected to the login page. Added a full session-destroying logout mechanism. Role-Based Access Control (RBAC): Differentiated the system for Admins, Engineers, and Clients. The UI now dynamically hides navigation links based on roles, and the backend explicitly throws a 403 Forbidden error if a non-admin tries to access the core control panel. Profile & Password Updates: Built a personal profile page that fetches current user details and handles password modification with server-side validation. The struggles: Ran into multiple syntax walls, including incorrect sql, forgotten POST block brackets, and a lot of typo mismatches. Also had to deal with MariaDB unique constraint violations during database seed testing, which I resolved by writing a structured TRUNCATE routine to clear tables before fresh seeding. Now the app actually feels like a secure industrial tool rather than just a Tailwind template."}, {"post_id": 1647, "ts": "2026-06-03T19:33:34Z", "hours": 0.3758, "text": "After getting the database connected, I built the main dashboard U, also I dont have any idea for design after hard day so I asked AI about help…"}, {"post_id": 1619, "ts": "2026-06-03T19:08:20Z", "hours": 1.1228, "text": "Honestly, it is my first time building a real website in PHP, and I realized I had completely forgotten most of my HTML and CSS. Today I successfully parsed the environment variables, securely connected the MariaDB database via PDO, and built a clean industrial dashboard layout using Tailwind CSS. EquipLane is finally coming to life."}, {"post_id": 1002, "ts": "2026-06-02T19:45:55Z", "hours": 0.9236, "text": "Today I set up the initial structure for Equiplane, an industrial equipment maintenance workflow system I prepared the first part of the database schema for the project, including the base tables for users and companies. The goal is to build a system where clients can report equipment failures, admins can assign engineers, and engineers can manage repair tickets."}]...
|
Title: Equiplane by @qqxzew | Stardance
Devlogs:
Title: Equiplane by @qqxzew | Stardance
Devlogs:
Today I set up the initial structure for Equiplane, an industrial equipment maintenance workflow system I prepared the first part of the database schema for the project, including the base tables for users and companies. The goal is to build a system where clients can report equipment failures, admins can assign engineers, and engineers can manage repair tickets.
Honestly, it is my first time building a real website in PHP, and I realized I had completely forgotten most of my HTML and CSS. Today I successfully parsed the environment variables, securely connected the MariaDB database via PDO, and built a clean industrial dashboard layout using Tailwind CSS. EquipLane is finally coming to life.
After getting the database connected, I built the main dashboard U, also I dont have any idea for design after hard day so I asked AI about help…
Milestone: From Static UI to Secure Multi-User App What I did: Since the last update on the UI dashboard, I have completely transformed the project from a static frontend into a secure, functional multi-user system using native PHP and MariaDB. Authentication & Session Management: Built a backend login system from scratch. Implemented secure password hashing using bcrypt. Set up native PHP sessions to track users across pages. Security Guards & Logout: Created a centralized guard script to prevent unauthorized URI access. If a user isn’t logged in, they are killed and redirected to the login page. Added a full session-destroying logout mechanism. Role-Based Access Control (RBAC): Differentiated the system for Admins, Engineers, and Clients. The UI now dynamically hides navigation links based on roles, and the backend explicitly throws a 403 Forbidden error if a non-admin tries to access the core control panel. Profile & Password Updates: Built a personal profile page that fetches current user details and handles password modification with server-side validation. The struggles: Ran into multiple syntax walls, including incorrect sql, forgotten POST block brackets, and a lot of typo mismatches. Also had to deal with MariaDB unique constraint violations during database seed testing, which I resolved by writing a structured TRUNCATE routine to clear tables before fresh seeding. Now the app actually feels like a secure industrial tool rather than just a Tailwind template.
Built the ticket creation page with role protection. Clients can now select their equipment, set priorities, and safely submit maintenance requests to the database via PDO prepared statements. The struggles: Broken the SQL query and html :>
What I did: Expanded the engineer’s resource reporting logic. When resolving a ticket, engineers are now required to input the exact hours spent and the cost of replacement parts. Built a financial calculation module on the backend that automatically aggregates these costs, applies the Czech 21% VAT (DPH), and displays a detailed invoice summary to admins and clients. Also implemented a critical backup request feature: engineers can now submit a “Request Backup” flag along with a specific text reason if they encounter blocking issues on-site. Admins immediately see an approval panel to either accept the request (and assign additional help) or reject it. The struggles: I had no idea for frontend
What I did: Massive architectural and security overhaul today. I completely rewrote the form submission logic to follow the Post-Redirect-Get (PRG) pattern, integrating session-based Flash messages and strict CSRF token validation across all endpoints. I also implemented “Sticky Forms” so users never lose their detailed text inputs if a validation error occurs. For the administration side, I built full CRUD interfaces to manage personnel roles, corporate clients, and the equipment registry without needing direct database access. Finally, I wrote SQL-level pagination for the main tickets table to keep the application fast and scalable as data grows. The struggles: I finally switched from VS Code to PhpStorm today and I am just in shock at how insanely cool and powerful it is. It instantly highlighted database schema mismatches I missed and forced me to write much cleaner code, though getting used to its strict warnings definitely took some time.
What I did: Wrapped up the EquipLane project and prepared it for my portfolio. I containerized the entire application using Docker and Docker Compose, linking a PHP 8.2 server with a MariaDB database so the whole environment can be spun up with a single command. I also set up a CI pipeline using GitHub Actions to automatically lint and check PHP syntax on every push. Finally, I generated a complete Entity-Relationship Diagram (ERD) to visualize the database architecture and wrote a comprehensive README explaining the core mechanics, security features, and the PRG pattern I implemented. The struggles: I definitely reached the limit of what makes sense to build with pure procedural PHP. Refactoring and maintaining this architecture showed me exactly why OOP and modern frameworks exist. It was a great learning experience for understanding the fundamentals, but I am definitely ready to move on to Nette for my next hackathon projects.
have add deployment😀
Ships:
I made EquipLane, an industrial maintenance ticketing system where clients can report equipment problems, engineers can manage assigned repair tasks, and admins can control the whole maintenance workflow. The hardest part was coming up with the idea and building the project from scratch without much previous experience. I had to figure out the structure, database, roles, authentication, and the whole workflow step by step. I’m most proud that I was able to finish a working project and also make the GitHub repository look organized and well documented. This is my first major portfolio project, so I’m proud that it turned into something complete. To test it, just open the project link and log in using the demo credentials from the README....
|
1792986551.0074582
|
1793072951.0074582
|
|
15119
|
Boeing 747 by @B754a | Stardance
|
B754a
|
1
|
16.0
|
217
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T00:10:11Z", "hours": 16.0, "multiplier": 13.82, "payout": 217, "blessing": "neutral", "text": "I have all the details, such as the landing gear; I also added wings and a back wing. I have cockpit windows and a nose in the front; I used no AI for this, and I have an exhaust hole in the back. This was very fun to make. Thanks for the support; this took about 17 hours. Coloring took about 1 hour. This was very fun!!", "repo": "https://github.com/B754a-Dev/Bowing-747", "demo": "https://cad.onshape.com/documents/8e36e5f046f0c73ee4755423/w/2eaa860d9c9adc9b232df59a/e/63c098fe42c01bdb255519f8"}]...
|
[{"post_id": 19618, "ts": "202 [{"post_id": 19618, "ts": "2026-06-30T23:55:17Z", "hours": 0.3697, "text": "I’m done!, I finished coloring the plane I have all the wings and cockpit windows this was very fun thank you for the support I hope you like this one, one of the first onshape projects I’ve done!! I will make more projects so stay tuned."}, {"post_id": 16441, "ts": "2026-06-26T19:13:22Z", "hours": 4.1364, "text": "This is one of my last devlogs I will do on this project but basically I made landing gear front and back. This one was really had to do because of the detail in hole wheel , but this was very fun to make I hope you guys like this one =)"}, {"post_id": 14377, "ts": "2026-06-23T14:22:01Z", "hours": 2.1894, "text": "I’m almost done, this part was really fun add more realism and a better cockpit windows, I added things on the top like APU Exhaust, TCAS, ATC, GPS, VHF L, SATCOM, another SATCOM, VHFC. On the bottom I added the ATC, TCAS, RA, DMEL, Marker Beacon, DME R, VHF R, and L R I will be adding landing gear and maybe more details."}, {"post_id": 12657, "ts": "2026-06-20T17:59:56Z", "hours": 2.1128, "text": "This part was very fun to make, I had some challenges such as the flap track fairings not in the correct spot. I also learned how to use the mirror tool and that help with getting good consistency. What I have so far -All the flap track fairings -All the nacelles -All the Pylons -All the Flaps -All the Ailerons -The Tail cone -The Rubber -The Vertical stabilizer -The Horizontal stabilizer -The Elevator -The Tail fin Also made the Wingspan bigger, made most of it evenly spaced, Added more details to the engines. I colored under the Plaine Blue and made the rest white and grey except for the Tail fin witch I changed the color to red and the tail cone red I also added Navigation lights on the wing tips. I will be adding a set of landing gear two in the back on in the front. I will be adding windows and two doors and a wheel well I will make a Cockpit windows, and Upper deck hump. This will be one of my hardest iterations but worth it"}, {"post_id": 11932, "ts": "2026-06-19T13:53:41Z", "hours": 1.6406, "text": "Added -Elevator✅ -Trim Tab✅ -Horizontal stabilizer✅ -Rubber✅ -Vertical stabilizer✅ -Tail cone✅ -Ailerons✅ -Spoilers✅ -Flaps✅ -Engine✅ -Nacelle✅ -Pylon✅ -Longer wings✅ -Nose Need to add -Nose gear (Maybe) -Main landing gear (Maybe) -Bogies (Maybe) -Nose landing gear (Maybe) make it more realistic in general Spent about 1 hour to implement the Horizontal stabilizer, Rubber, Vertical stabilizer, Tail cone still need to do stuff under both wings, color it better make engines more realistic maybe."}, {"post_id": 11288, "ts": "2026-06-18T13:54:42Z", "hours": 1.3853, "text": "Added -Engine -Nacelle -Pylon -Vertical stabilizer -Horizontal stabilizers made them hollow inside Add -Longer wings -Fix the front -Rudder -Elevators -tail cone This project still needs work with details but I’m getting closer and having fun"}, {"post_id": 10944, "ts": "2026-06-17T23:07:59Z", "hours": 3.8542, "text": "This is my Boeing 747, I have spent almost 4 hours on this first CAD project, I will start to add details now if you want you can tell me to add something or change something on the plane."}]...
|
Title: Boeing 747 by @B754a | Stardance
Devlogs:
Title: Boeing 747 by @B754a | Stardance
Devlogs:
This is my Boeing 747, I have spent almost 4 hours on this first CAD project, I will start to add details now if you want you can tell me to add something or change something on the plane.
Added -Engine -Nacelle -Pylon -Vertical stabilizer -Horizontal stabilizers made them hollow inside Add -Longer wings -Fix the front -Rudder -Elevators -tail cone This project still needs work with details but I’m getting closer and having fun
Added -Elevator✅ -Trim Tab✅ -Horizontal stabilizer✅ -Rubber✅ -Vertical stabilizer✅ -Tail cone✅ -Ailerons✅ -Spoilers✅ -Flaps✅ -Engine✅ -Nacelle✅ -Pylon✅ -Longer wings✅ -Nose Need to add -Nose gear (Maybe) -Main landing gear (Maybe) -Bogies (Maybe) -Nose landing gear (Maybe) make it more realistic in general Spent about 1 hour to implement the Horizontal stabilizer, Rubber, Vertical stabilizer, Tail cone still need to do stuff under both wings, color it better make engines more realistic maybe.
This part was very fun to make, I had some challenges such as the flap track fairings not in the correct spot. I also learned how to use the mirror tool and that help with getting good consistency. What I have so far -All the flap track fairings -All the nacelles -All the Pylons -All the Flaps -All the Ailerons -The Tail cone -The Rubber -The Vertical stabilizer -The Horizontal stabilizer -The Elevator -The Tail fin Also made the Wingspan bigger, made most of it evenly spaced, Added more details to the engines. I colored under the Plaine Blue and made the rest white and grey except for the Tail fin witch I changed the color to red and the tail cone red I also added Navigation lights on the wing tips. I will be adding a set of landing gear two in the back on in the front. I will be adding windows and two doors and a wheel well I will make a Cockpit windows, and Upper deck hump. This will be one of my hardest iterations but worth it
I’m almost done, this part was really fun add more realism and a better cockpit windows, I added things on the top like APU Exhaust, TCAS, ATC, GPS, VHF L, SATCOM, another SATCOM, VHFC. On the bottom I added the ATC, TCAS, RA, DMEL, Marker Beacon, DME R, VHF R, and L R I will be adding landing gear and maybe more details.
This is one of my last devlogs I will do on this project but basically I made landing gear front and back. This one was really had to do because of the detail in hole wheel , but this was very fun to make I hope you guys like this one =)
I’m done!, I finished coloring the plane I have all the wings and cockpit windows this was very fun thank you for the support I hope you like this one, one of the first onshape projects I’ve done!! I will make more projects so stay tuned.
Ships:
I have all the details, such as the landing gear; I also added wings and a back wing. I have cockpit windows and a nose in the front; I used no AI for this, and I have an exhaust hole in the back. This was very fun to make. Thanks for the support; this took about 17 hours. Coloring took about 1 hour. This was very fun!!...
|
1792993893.331256
|
1793080293.331256
|
|
38283
|
Orbital Congestion Simulator by @emin | Stardance
|
emin
|
1
|
29.59
|
217
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T18:33:26Z", "hours": 22.0, "multiplier": 18.13, "payout": 217, "blessing": "neutral", "text": "What did you make? A browser app that shows how crowded Earth orbit really is. You get a live 3D globe with thousands of satellites and debris from CelesTrak TLEs, filters, close-approach alerts, replays of real incidents, a simple Kessler “what if” panel, and on phones a Satellite Spotter that uses the sensors so you can aim at what’s actually overhead. What was challenging? Keeping ~12k objects moving without melting the browser. Propagation had to go into a worker, and close approaches were annoying because fast LEO crossings can vanish between frames if you sample too coarsely. Also burned myself once when an automated TLE refresh wrote a half-empty catalog (almost no stations) and the live site looked broken until I added hard minimums so thin fetches can’t ship. What are you proud of? That it feels like a real tool, not a slideshow. VERIFY mode for close approaches, the historical replays, and Spotter on a phone are the parts I keep showing people. Also getting five languages working and not letting the UI rot when the catalog updates. What should people know so they can test your project? Open the live demo on desktop first: https://orbital-congestion-simulator.vercel.app Skip or finish the short tour, turn on Color by Function, click a few objects, try a Historical Event, and open a close-approach card if any are listed. On a phone, pick something bright like the ISS and hit Spot — allow location/motion, go outside if the compass is weird, and do a figure-eight with the phone to recalibrate. Positions come from periodic TLEs + SGP4, not a live tracking API, so treat it as educational. Repo: https://github.com/muhammet842/orbital-congestion-simulator", "repo": "https://github.com/muhammet842/orbital-congestion-simulator", "demo": "https://orbital-congestion-simulator.vercel.app/"}]...
|
[{"post_id": 64218, "ts": "202 [{"post_id": 64218, "ts": "2026-09-08T13:44:32Z", "hours": 5.0706, "text": "After many shipping, I needed to rewrite most of codes in my project to decrease the AI usage. I had to delete some features like historical events and close approaches which are generated by AI. Now, my project is more specific. That’s how it looks like right now."}, {"post_id": 61557, "ts": "2026-09-04T15:07:18Z", "hours": 2.1139, "text": "For my latest update on the Orbital Congestion Simulator, I focused on building a tool that looks beyond today’s telemetry: the Kessler Syndrome Projection panel.Instead of just showing current satellite positions, this feature lets you model the future of Low Earth Orbit. You can test pre-set scenarios like Megaconstellation Boom, Green Space, or ASAT War, or tweak custom parameters directly:Launch Rate: Multiplier for annual launchesMitigation Rate: Success rate of post-mission disposalCollision Risk: Probability of cascading orbital collisionsThe engine calculates real-time updates for total object counts, debris volume, collision metrics, and distribution across LEO, MEO, and GEO regimes. You can also hit Play to watch the timeline scrub forward as orbital density builds up."}, {"post_id": 61046, "ts": "2026-09-03T19:13:01Z", "hours": 0.4086, "text": "One of my project’s important feature is showing the real close approaches between two satellite in next 24 hours. Click any alert card on the demo if the list isn’t empty. If it says scanning, give it a minute to find close approaches."}, {"post_id": 60400, "ts": "2026-09-02T18:19:07Z", "hours": 1.9686, "text": "A phone feature inside Orbital Congestion Simulator: pick a satellite, point your camera at the sky, and follow the on-screen guide until it matches what’s overhead — using GPS, compass, and live TLE positions."}, {"post_id": 58043, "ts": "2026-08-30T12:07:09Z", "hours": 19.7953, "text": "I’ve been building Orbital Congestion Simulator for a while now. It shows thousands of satellites and debris around Earth in 3D, using real TLE data from CelesTrak and SGP4 to calculate their positions. You can filter by orbit, select objects for details, check close approaches, replay historical collisions such as Iridium 33 and Cosmos 2251, and explore a simple Kessler Syndrome future projection. The interface is also available in several languages. Live demo: https://orbital-congestion-simulator.vercel.app"}]...
|
Title: Orbital Congestion Simulator by @emin | Sta Title: Orbital Congestion Simulator by @emin | Stardance
Devlogs:
I’ve been building Orbital Congestion Simulator for a while now. It shows thousands of satellites and debris around Earth in 3D, using real TLE data from CelesTrak and SGP4 to calculate their positions. You can filter by orbit, select objects for details, check close approaches, replay historical collisions such as Iridium 33 and Cosmos 2251, and explore a simple Kessler Syndrome future projection. The interface is also available in several languages. Live demo: https://orbital-congestion-simulator.vercel.app
A phone feature inside Orbital Congestion Simulator: pick a satellite, point your camera at the sky, and follow the on-screen guide until it matches what’s overhead — using GPS, compass, and live TLE positions.
One of my project’s important feature is showing the real close approaches between two satellite in next 24 hours. Click any alert card on the demo if the list isn’t empty. If it says scanning, give it a minute to find close approaches.
For my latest update on the Orbital Congestion Simulator, I focused on building a tool that looks beyond today’s telemetry: the Kessler Syndrome Projection panel.Instead of just showing current satellite positions, this feature lets you model the future of Low Earth Orbit. You can test pre-set scenarios like Megaconstellation Boom, Green Space, or ASAT War, or tweak custom parameters directly:Launch Rate: Multiplier for annual launchesMitigation Rate: Success rate of post-mission disposalCollision Risk: Probability of cascading orbital collisionsThe engine calculates real-time updates for total object counts, debris volume, collision metrics, and distribution across LEO, MEO, and GEO regimes. You can also hit Play to watch the timeline scrub forward as orbital density builds up.
After many shipping, I needed to rewrite most of codes in my project to decrease the AI usage. I had to delete some features like historical events and close approaches which are generated by AI. Now, my project is more specific. That’s how it looks like right now.
Ships:
What did you make? A browser app that shows how crowded Earth orbit really is. You get a live 3D globe with thousands of satellites and debris from CelesTrak TLEs, filters, close-approach alerts, replays of real incidents, a simple Kessler “what if” panel, and on phones a Satellite Spotter that uses the sensors so you can aim at what’s actually overhead. What was challenging? Keeping ~12k objects moving without melting the browser. Propagation had to go into a worker, and close approaches were annoying because fast LEO crossings can vanish between frames if you sample too coarsely. Also burned myself once when an automated TLE refresh wrote a half-empty catalog (almost no stations) and the live site looked broken until I added hard minimums so thin fetches can’t ship. What are you proud of? That it feels like a real tool, not a slideshow. VERIFY mode for close approaches, the historical replays, and Spotter on a phone are the parts I keep showing people. Also getting five languages working and not letting the UI rot when the catalog updates. What should people know so they can test your project? Open the live demo on desktop first: https://orbital-congestion-simulator.vercel.app Skip or finish the short tour, turn on Color by Function, click a few objects, try a Historical Event, and open a close-approach card if any are listed. On a phone, pick something bright like the ISS and hit Spot — allow location/motion, go outside if the compass is weird, and do a figure-eight with the phone to recalibrate. Positions come from periodic TLEs + SGP4, not a live tracking API, so treat it as educational. Repo: https://github.com/muhammet842/orbital-congestion-simulator...
|
1792961433.157126
|
1793047833.157126
|
|
60464
|
Fast Delights by @Orbernator | Stardance
|
Orbernator
|
2
|
20.0
|
217
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:26:37Z", "hours": 17.0, "multiplier": 11.1, "payout": 194, "blessing": "neutral", "text": "I made the official Wiki for Fast Delights, this took WAAAAY longer than it should have, and is contaned in a seperate repo, for ease of use. View the Shipped Page here: https://orbernator.github.io/FastDelightsDocs/ And the source code here: https://github.com/Orbernator/FastDelightsDocs Enjoy my Suffering!", "repo": "https://github.com/Orbernator/FastDelights", "demo": "https://modrinth.com/mod/fast-delights"}, {"ship_num": 2, "ts": "2026-09-11T08:12:11Z", "hours": 3.0, "multiplier": 8.74, "payout": 23, "blessing": "neutral", "text": "This is the 0.3.1 release of the mod, just wanting to gauge feedback from the community! More to come over the remaining time of Stardance!", "repo": "https://github.com/Orbernator/FastDelights", "demo": "https://modrinth.com/mod/fast-delights"}]...
|
[{"post_id": 71547, "ts": "202 [{"post_id": 71547, "ts": "2026-09-21T01:24:51Z", "hours": 0.7153, "text": "Alright! Its all done! The Docs are up, and its time to ship! Viewable here: https://orbernator.github.io/FastDelightsDocs/ And source code is here: https://github.com/Orbernator/FastDelightsDocs Enjoy the fruits of my Suffering!"}, {"post_id": 71520, "ts": "2026-09-21T00:00:24Z", "hours": 1.3628, "text": "ALRIGHTY! Got the recipes all in! Just got to make the pages and I can FINALLY SHIP! Time to celebrate!"}, {"post_id": 69931, "ts": "2026-09-18T02:49:43Z", "hours": 2.3581, "text": "Added all cutting board recipes, and the shapeless ones! Just the cooking pots to go!"}, {"post_id": 69535, "ts": "2026-09-17T07:43:20Z", "hours": 2.2547, "text": "Finished fixing all the recipes, added smelting and smoking recipes."}, {"post_id": 68980, "ts": "2026-09-16T04:57:13Z", "hours": 0.8208, "text": "Alright! The Smelting method is in, the AI crap is fully gone, along with the 6 random branches it made and protected. (nothing a little –force couldnt fix) and now I need to rework the recipes to work with the new system. My fingers may fall off."}, {"post_id": 68557, "ts": "2026-09-15T10:05:59Z", "hours": 0.7447, "text": "Well, I have learned why you dont let AI code. In 30min it managed to cause around 6 different error messages, and then crash the site, then proceed to not fix it, but say it was fixed for around 15 minutes. I am never letting AI code by itself again. This has scarred me for life. Thanks to git, I can revert back to working version!"}, {"post_id": 68535, "ts": "2026-09-15T08:41:40Z", "hours": 1.1694, "text": "So, turns out, to get the smelting in, I have to rewrite the recipe files, and the other methods. So guess what wiki wont work right now. Mine. Nose back to the grindstone"}, {"post_id": 68492, "ts": "2026-09-15T06:56:40Z", "hours": 1.1147, "text": "So, all of the Shaped Crafting table recipes are in! Now I just have to add items from other mods so that its happy! Now, to work on the next ones!"}, {"post_id": 68471, "ts": "2026-09-15T05:17:29Z", "hours": 0.9483, "text": "Alright! All of the shaped crafting table recipes are in! Now I need to work out how to get the shapeless, furnace, smoker, cutting-board, cooking pots, and more in! This is taking a lot longer than I thought it would."}, {"post_id": 68420, "ts": "2026-09-15T02:49:47Z", "hours": 0.3225, "text": "Finally, all the items are in! Time to make the recipes, and individual pages!"}, {"post_id": 68370, "ts": "2026-09-15T00:57:58Z", "hours": 0.4306, "text": "Allllrighty! All of the Mod Items are in the database, now to add images, and then the shudders recipes. Wish me luck!"}, {"post_id": 68338, "ts": "2026-09-14T23:30:16Z", "hours": 0.5281, "text": "So far so good! I have about half of the items into the docs, then I just need to add the dependends, and then figure out how to add the custom recipes, like cutting, ect ect"}, {"post_id": 68318, "ts": "2026-09-14T22:37:46Z", "hours": 0.4572, "text": "Ok! So the framework for the wiki is down! Now, to start adding all the items in groans wish me luck guys"}, {"post_id": 67992, "ts": "2026-09-14T10:28:13Z", "hours": 0.9828, "text": "So, the AI code didn’t work, hands up who’s surprised! no-one puts their hands up so. 20m of troubleshootin later, and I figure out the problem! And it works! So, now to add everything!"}, {"post_id": 67874, "ts": "2026-09-14T05:13:54Z", "hours": 1.1494, "text": "Wow, this is longer than I have ever worked on a project without DevLogging, so here we go! So, because I am not, and will not copy-paste AI, I am writing it by hand! It has taken me almost 1h to write about 3 files with a LOOOT of mistakes. But. I have cut out, and reordered, and changed it to be my own. Anyway, nose back to the grindstone, and I hope that when I finish, all of these errors will go away!"}, {"post_id": 67830, "ts": "2026-09-14T02:49:25Z", "hours": 0.2703, "text": "So, after all that, what am I doin now? Well, I gave in and had to look up how to make the recipe page look good. BUT! I have standards! NO AI CODE HAS BEEN COPY PASTED (Which kinda defeats the whole point of AI making stuff shorter), and I am not just using its code. I am still writing it myself. But, that means I do have to update the AI declaration on my project :("}, {"post_id": 67815, "ts": "2026-09-14T02:16:05Z", "hours": 0.3389, "text": "Ok! So in the past 20m, I have made the framework of a website, pushed to github, and am currently setting up GitHub Actions. So far, so good. (Things are gonna go downhill, I can sense it)"}, {"post_id": 67759, "ts": "2026-09-14T00:24:47Z", "hours": 0.3181, "text": "Started work on the Docs, for Fast Delights. These will be held in a seperate repo, to hopefully not get them mixed up. I am using VitePress to make the docs, first time ever using it so, somthing is going to go wrong. Murphys Law and all that"}, {"post_id": 67731, "ts": "2026-09-13T23:01:53Z", "hours": 0.3033, "text": "First DevLog of the day! Committed my changes to Github, fixed the recipes, and added translations! All in all, good start to the day"}, {"post_id": 67219, "ts": "2026-09-13T08:31:56Z", "hours": 0.3767, "text": "Added recipe for Frickles, KFC eat your heart out."}, {"post_id": 66288, "ts": "2026-09-12T01:09:02Z", "hours": 0.2706, "text": "I have created the model of the Frickle, shown below"}, {"post_id": 66273, "ts": "2026-09-12T00:37:03Z", "hours": 0.2606, "text": "I am beginning work on my next update, 0.4.0, the vegtables update, when I see that KFC, now have a whole Pickle menu. So. Guess what I gotta add now? Thats right! Frickles!"}, {"post_id": 65824, "ts": "2026-09-11T07:01:34Z", "hours": 0.9403, "text": "Added new files, and working on adding a avacado plant! Because avacado’s taste really good!"}, {"post_id": 65211, "ts": "2026-09-10T05:49:04Z", "hours": 0.2642, "text": "Fixed the Creative tab not showing items, and changed the logo"}, {"post_id": 65183, "ts": "2026-09-10T04:05:16Z", "hours": 0.3019, "text": "Updated the readme, and patched a issue with the Recipes not saving. Uploading to Modrinth as I type this."}, {"post_id": 65171, "ts": "2026-09-10T03:36:53Z", "hours": 0.7556, "text": "Added the textures for the update, and created the recipes and languages."}, {"post_id": 65108, "ts": "2026-09-10T00:38:27Z", "hours": 0.3467, "text": "Added registrations for items, then added Recipes for sliced_onion and onion_rings"}]...
|
Title: Fast Delights by @Orbernator | Stardance
D Title: Fast Delights by @Orbernator | Stardance
Devlogs:
Added registrations for items, then added Recipes for sliced_onion and onion_rings
Added the textures for the update, and created the recipes and languages.
Updated the readme, and patched a issue with the Recipes not saving. Uploading to Modrinth as I type this.
Fixed the Creative tab not showing items, and changed the logo
Added new files, and working on adding a avacado plant! Because avacado’s taste really good!
I am beginning work on my next update, 0.4.0, the vegtables update, when I see that KFC, now have a whole Pickle menu. So. Guess what I gotta add now? Thats right! Frickles!
I have created the model of the Frickle, shown below
Added recipe for Frickles, KFC eat your heart out.
First DevLog of the day! Committed my changes to Github, fixed the recipes, and added translations! All in all, good start to the day
Started work on the Docs, for Fast Delights. These will be held in a seperate repo, to hopefully not get them mixed up. I am using VitePress to make the docs, first time ever using it so, somthing is going to go wrong. Murphys Law and all that
Ok! So in the past 20m, I have made the framework of a website, pushed to github, and am currently setting up GitHub Actions. So far, so good. (Things are gonna go downhill, I can sense it)
So, after all that, what am I doin now? Well, I gave in and had to look up how to make the recipe page look good. BUT! I have standards! NO AI CODE HAS BEEN COPY PASTED (Which kinda defeats the whole point of AI making stuff shorter), and I am not just using its code. I am still writing it myself. But, that means I do have to update the AI declaration on my project :(
Wow, this is longer than I have ever worked on a project without DevLogging, so here we go! So, because I am not, and will not copy-paste AI, I am writing it by hand! It has taken me almost 1h to write about 3 files with a LOOOT of mistakes. But. I have cut out, and reordered, and changed it to be my own. Anyway, nose back to the grindstone, and I hope that when I finish, all of these errors will go away!
So, the AI code didn’t work, hands up who’s surprised! no-one puts their hands up so. 20m of troubleshootin later, and I figure out the problem! And it works! So, now to add everything!
Ok! So the framework for the wiki is down! Now, to start adding all the items in groans wish me luck guys
So far so good! I have about half of the items into the docs, then I just need to add the dependends, and then figure out how to add the custom recipes, like cutting, ect ect
Allllrighty! All of the Mod Items are in the database, now to add images, and then the shudders recipes. Wish me luck!
Finally, all the items are in! Time to make the recipes, and individual pages!
Alright! All of the shaped crafting table recipes are in! Now I need to work out how to get the shapeless, furnace, smoker, cutting-board, cooking pots, and more in! This is taking a lot longer than I thought it would.
So, all of the Shaped Crafting table recipes are in! Now I just have to add items from other mods so that its happy! Now, to work on the next ones!
So, turns out, to get the smelting in, I have to rewrite the recipe files, and the other methods. So guess what wiki wont work right now. Mine. Nose back to the grindstone
Well, I have learned why you dont let AI code. In 30min it managed to cause around 6 different error messages, and then crash the site, then proceed to not fix it, but say it was fixed for around 15 minutes. I am never letting AI code by itself again. This has scarred me for life. Thanks to git, I can revert back to working version!
Alright! The Smelting method is in, the AI crap is fully gone, along with the 6 random branches it made and protected. (nothing a little –force couldnt fix) and now I need to rework the recipes to work with the new system. My fingers may fall off.
Finished fixing all the recipes, added smelting and smoking recipes.
Added all cutting board recipes, and the shapeless ones! Just the cooking pots to go!
ALRIGHTY! Got the recipes all in! Just got to make the pages and I can FINALLY SHIP! Time to celebrate!
Alright! Its all done! The Docs are up, and its time to ship! Viewable here: https://orbernator.github.io/FastDelightsDocs/ And source code is here: https://github.com/Orbernator/FastDelightsDocs Enjoy the fruits of my Suffering!
Ships:
This is the 0.3.1 release of the mod, just wanting to gauge feedback from the community! More to come over the remaining time of Stardance!
I made the official Wiki for Fast Delights, this took WAAAAY longer than it should have, and is contaned in a seperate repo, for ease of use. View the Shipped Page here: https://orbernator.github.io/FastDelightsDocs/ And the source code here: https://github.com/Orbernator/FastDelightsDocs Enjoy my Suffering!...
|
1792961652.0538647
|
1793048052.0538647
|
|
7225
|
Universe Data Booklet by @S_U_Wasi | Stardance
|
S_U_Wasi
|
2
|
26.88
|
216
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T19:37:05Z", "hours": 7.0, "multiplier": 9.05, "payout": 62, "blessing": "neutral", "text": "What I have built is known as Universe Data Booklet. As it’s name suggest it is a website which contains data on exoplanets and near earth asteroids. Previously it contains only data and analysis. But currently (After recent updates) there are many more features. To know about all the features please read my devlog or directly visit the website. While shipping this right now, I currently have many new ideas to add in this and I will definitely add those in future (Means coming soon). I cannot make Universe Data Booklet in one day or a week. I need time to create it. My vision regarding this project is very wide. I want that my project will help both learners and curious minds. During the development of this project I got into a problem. For latest near earth asteroids, I must have to use API. But I cannot put API on a completely open source project. That is why I have used public API. But public api has data fetch limits. Since the project is in it’s early state, not many users will visit. but I was thinking about future. That is why I came up with an idea, where I will use the Public API but it will never hit the limit (The smart caching). In my new development structure, the site will fetch data only once in 30 days (Data is fetched on the first visit after 30 days). Then that data is saved as cache and all other users get data from that one cache. By doing this data is fetched only once even if thousands of users visit at once. This solves the rate limit. but I need the latest data (at least 30 days). That is why the site fetch data once after 30 day. The program check the cache folder and if the data there is older than 30 days then the site fetches new data on the first visit and saves it. Now another storage problem arise. To solve that my site was programmed in such a way that it will store cache for 90 days and any cache data with are older than 90 days will be deleted. Thus I have solved the issue regarding the near Earth asteroids. I uses public api for near earth asteroids (Because asteroids data get change quickly). I uses csv file for exoplanets data (It is a manually saved data from authentic source) Thank You for giving Universe Data Booklet a try.", "repo": "https://github.com/MDSUWasi/Universe-Data-Booklet", "demo": "https://wasi100.pythonanywhere.com/"}, {"ship_num": 2, "ts": "2026-06-20T18:56:29Z", "hours": 11.0, "multiplier": 13.38, "payout": 154, "blessing": "neutral", "text": "Here is my Universe Data Booklet. As the mane suggest, this is a site which contains data about exoplanets and asteroids. Asteroids: Here I have used real asteroids data (Which is obtained through API ). Currently it contains data about asteroid which is near to our planet (Earth) Exoplanets: Exoplanets data is added manually inside the source code. So, exoplanets data can be viewed without any need of API. I have used API in asteroids but not in exoplanets because asteroids moves and changes around the Earth. And I want to work on current data. But exoplantes doesn’t change for a long time. So, there is no need of live API for that. There is a chart view in my site which shows the chat comparison between exoplanets/ asteroids mass. I have used public free API (I know about the limitations). I have solved that problem too. My site will only fetch data once in 30 days and saved it in cache. And through out the month the site will use that cache data. And again gives an API call after 31 days. Means, there will be only API call but many users can use my site. This also brings storage issue in my site. I have also fixed that. The cache data which are older than 90 days will be automatically removed. That’s all for now. I am also thinking for future update in this site too. Thank You.", "repo": "https://github.com/MDSUWasi/Universe-Data-Booklet", "demo": "https://wasi100.pythonanywhere.com/"}]...
|
[{"post_id": 78904, "ts": "202 [{"post_id": 78904, "ts": "2026-10-12T00:13:01Z", "hours": 1.5658, "text": "Another night-day another Problem . Yesterday I went to the source code to add a new theme and structure in Universe Data Booklet. Then I saw a bug in by server.py (backend). But I thought that I will just fix it after working on the theme. Then I worked on theme. Then during test time, I saw something scary (I will not tell what was that). Then I started fixing the theme, that caused bugs of js and css and them what! I never thought this would cause this much trouble. After some time, There was multiple tabs and tasks running into my PC (And which goes heavy on RAM). And What after My Virtual Development Environment got crashed and corrupt. And from night 11 AM to still now (6 AM) I am still fixing my environment otherwise all of my effort will be gone (I will lost my entire new source code)."}, {"post_id": 77832, "ts": "2026-10-08T13:27:04Z", "hours": 1.4394, "text": "New member I am glade to welcome Solar System as the new member on Universe Data Booklet . New Update! Now Universe Data Booklet have data on Planets, Exoplanets, Asteroids and Satellites (Including the artificial one). Now Universe Data Booklet can show image. But this feature is limited. I am thinking to thinking to increase (Just thinking for now) The above listed updates are just announcement for now. I haven’t released them yet, but going to in next few days. Since I took help from AI, I need to edit, debug and make some changes including reviewing and reviewing the code before releasing. Thank You"}, {"post_id": 77090, "ts": "2026-10-05T16:53:14Z", "hours": 0.9247, "text": "Upcoming Update Announcement In the next update there are huge changes coming. Some of them are shown below. A detailed description on exoplanets and asteroids: Now users can see a very detailed graphical data. This is because I have increased the number of data source. I have decreased the data fetch limit from 30 days to 7 days. So, starting from next release, all data provided in Universe Data Booklet will be re-new on the very first visit of each week unless there any issue pop up. Next work will be on Images for exoplanets and asteroids. This might be a tricky part because there are a lots of data and images for every data might be a problem. Let me check first. This is a new implementation idea I just thought. I will add this feature if I can successfully manage to find a way to add real images without disturbing the functionality and smoothness. All the thing I have mentioned above (except point 3) have been already implemented. I just have to review the source code twice again before release. Point 3 is on the way of implementation but not confirmed whether be released or not. If everything goes will. I will release this After my Exam is over. Thank You"}, {"post_id": 65478, "ts": "2026-09-10T17:09:51Z", "hours": 2.3808, "text": "Update Universe Data Booklet got a new update. And the updated version is currently online . On the previous version there are some typing errors and inconsistencies in the code, page and README. That is why I have revised and fix those. Now, I think user can relate the main page with the README. For new features. There 2 new features currently online. One is a game and another is a assistant. But both of those feature needs huge update soon. Currently I the game is 2D and Have no visual. The assistant currently cannot understand natural language. In the recent version the assistant can only answer if the name of asteroid or exoplanet available in the data are written as it is. And Currently I have no intention on adding LLM in it. My Future Plan for Universe Data Booklet I will design the assistant such a way that it will catch keywords on prompt and answer based on those keyword. The current Habitability Scanner is just like normal search and it doesn’t show much data on habitability (But it wasn’t made for that). I am thinking to work on this and will try to add more data. Since it is data booklet type. I think the current version have too much basic data. That is why I am thinking to add more data source and combine everything together. I am also thinking about a Wiki for Universe Data Booklet. After all those work. I think I will take some break from backend and frontend coding and work on Graphics (For game part, and icon). I also want to change it from 2D to 3D. Some new or updated idea may spark during the work on above. So, everything is changeable."}, {"post_id": 59722, "ts": "2026-09-01T17:22:43Z", "hours": 2.5711, "text": "I think I am going to ship Universe Data Booklet 3rd Time. Universe Data Booklet (UDB) is now on version 10.0.0.0.0 (It is also the second ship). From the first day of to now, UDB has improved a lot. Initially it was suppose to only display raw data in a graphical window. But as time passed new idea came to my mind and I add those in it. Currently UDB has many feature and I am going to add some more and make my 3rd ship of UDB before 30 September (Because I want to release it during ongoing Stardance). Overview on upcomming new updates: Changes on existing features. A universe explore game A Chat Bot (Used as alternative of search feature). Currently I am working on above 3. I may also add some more new feature if any new idea arrive."}, {"post_id": 44164, "ts": "2026-08-09T18:55:38Z", "hours": 0.9736, "text": "Today. I am going (I already have deployed. Go and check out if you want) to deploy the version 10.0.0.0.0 of Universe Data Booklet on Web and The first stable release. Currently Universe Data Booklet Have 3D Solar System Near Earth Asteroid View 3D Galactic exoplanet view 3D Map view Graph analysis (Difference of mass in bar diagram) Quiz Mode Flash Cards Guess Mode Research Mode I have updated the data row (Currently those are click-able) 4 different theme in 2 different structure. For more info see the README in the source code"}, {"post_id": 42726, "ts": "2026-08-07T16:20:15Z", "hours": 2.8481, "text": "Some new changes: Now, 3D vies have 2 different modes for exoplanets (A galaxy like simulation) and Asteroids (The solar system type simulation. Solar system because all data on asteroids are present for near Earth asteroids). Now, Universe Data Booklet have study (Flashcards, Quiz, Compare etc.) and research section (Specific details key point study). There are more updates. To see all of them and Try please wait until 10 August (I will deploy the site and Update it that day.). But the source is available in the repository. Those who are interested can give it a try directly from source code (But the source code is in early state and un-stable. So, I can not guarantee anything )."}, {"post_id": 41796, "ts": "2026-08-06T06:41:55Z", "hours": 1.5689, "text": "New Announcement: According to previous reviews and my own updates I have upgraded the Universe Data Booklet. New updates include: Now, users can download the data in good formate as PDF. There is new 3D view included. A new map included to get a visual map for both asteroids and exoplanets. A little bit change to chart view. Now, user can see the charts, 3D view and Map as a pop up (This was a issue in previous ship, and thanks to the reviews that I can fix them) Now the data row is click-able for selective view. There is a search bar for searching the exact asteroid and exoplanet by name The good thing is, user do not have to remember the full name for asteroids and exoplanets, only a partial correct name is enough New Features are currently written and available in the GitHub repository. I haven’t deployed those yet. Because I have some checking left (Including security and deployment issues). That is why the current site is not updated yet. I will deploy and release the update on 10 August 2026."}, {"post_id": 35261, "ts": "2026-07-26T15:46:56Z", "hours": 1.4956, "text": "I have upgraded the CSS, some of HTML (To introduce Hamburger) and some of JS. Initially I thought to give it a color matching with my portfolio, but that color doesn’t look good on it. That is why I used the current one (I have seen several other sites on this same color and I liked this)."}, {"post_id": 12689, "ts": "2026-06-20T18:44:22Z", "hours": 0.7319, "text": "I have added data about exoplanets (saved locally) and asteroids (data achieved using API). Additional to those, there is a graph view for asteroids and exoplanets, where, along x-axis there is exoplanets/ asteroids name and along y-axis there is the mass."}, {"post_id": 12400, "ts": "2026-06-20T07:20:52Z", "hours": 2.1811, "text": "Interface of my data booklet is ready."}, {"post_id": 5442, "ts": "2026-06-09T06:41:44Z", "hours": 4.4633, "text": "Previously I was thinking about making a universe data booklet with 20% universe data. But now I am thinking about increasing that limit."}, {"post_id": 3397, "ts": "2026-06-06T09:45:13Z", "hours": 4.1061, "text": "I am developing a universe Data Booklet for our Galaxy (up to a certain limit)"}]...
|
Title: Universe Data Booklet by @S_U_Wasi | Starda Title: Universe Data Booklet by @S_U_Wasi | Stardance
Devlogs:
I am developing a universe Data Booklet for our Galaxy (up to a certain limit)
Previously I was thinking about making a universe data booklet with 20% universe data. But now I am thinking about increasing that limit.
Interface of my data booklet is ready.
I have added data about exoplanets (saved locally) and asteroids (data achieved using API). Additional to those, there is a graph view for asteroids and exoplanets, where, along x-axis there is exoplanets/ asteroids name and along y-axis there is the mass.
I have upgraded the CSS, some of HTML (To introduce Hamburger) and some of JS. Initially I thought to give it a color matching with my portfolio, but that color doesn’t look good on it. That is why I used the current one (I have seen several other sites on this same color and I liked this).
New Announcement: According to previous reviews and my own updates I have upgraded the Universe Data Booklet. New updates include: Now, users can download the data in good formate as PDF. There is new 3D view included. A new map included to get a visual map for both asteroids and exoplanets. A little bit change to chart view. Now, user can see the charts, 3D view and Map as a pop up (This was a issue in previous ship, and thanks to the reviews that I can fix them) Now the data row is click-able for selective view. There is a search bar for searching the exact asteroid and exoplanet by name The good thing is, user do not have to remember the full name for asteroids and exoplanets, only a partial correct name is enough New Features are currently written and available in the GitHub repository. I haven’t deployed those yet. Because I have some checking left (Including security and deployment issues). That is why the current site is not updated yet. I will deploy and release the update on 10 August 2026.
Some new changes: Now, 3D vies have 2 different modes for exoplanets (A galaxy like simulation) and Asteroids (The solar system type simulation. Solar system because all data on asteroids are present for near Earth asteroids). Now, Universe Data Booklet have study (Flashcards, Quiz, Compare etc.) and research section (Specific details key point study). There are more updates. To see all of them and Try please wait until 10 August (I will deploy the site and Update it that day.). But the source is available in the repository. Those who are interested can give it a try directly from source code (But the source code is in early state and un-stable. So, I can not guarantee anything ).
Today. I am going (I already have deployed. Go and check out if you want) to deploy the version 10.0.0.0.0 of Universe Data Booklet on Web and The first stable release. Currently Universe Data Booklet Have 3D Solar System Near Earth Asteroid View 3D Galactic exoplanet view 3D Map view Graph analysis (Difference of mass in bar diagram) Quiz Mode Flash Cards Guess Mode Research Mode I have updated the data row (Currently those are click-able) 4 different theme in 2 different structure. For more info see the README in the source code
I think I am going to ship Universe Data Booklet 3rd Time. Universe Data Booklet (UDB) is now on version 10.0.0.0.0 (It is also the second ship). From the first day of to now, UDB has improved a lot. Initially it was suppose to only display raw data in a graphical window. But as time passed new idea came to my mind and I add those in it. Currently UDB has many feature and I am going to add some more and make my 3rd ship of UDB before 30 September (Because I want to release it during ongoing Stardance). Overview on upcomming new updates: Changes on existing features. A universe explore game A Chat Bot (Used as alternative of search feature). Currently I am working on above 3. I may also add some more new feature if any new idea arrive.
Update Universe Data Booklet got a new update. And the updated version is currently online . On the previous version there are some typing errors and inconsistencies in the code, page and README. That is why I have revised and fix those. Now, I think user can relate the main page with the README. For new features. There 2 new features currently online. One is a game and another is a assistant. But both of those feature needs huge update soon. Currently I the game is 2D and Have no visual. The assistant currently cannot understand natural language. In the recent version the assistant can only answer if the name of asteroid or exoplanet available in the data are written as it is. And Currently I have no intention on adding LLM in it. My Future Plan for Universe Data Booklet I will design the assistant such a way that it will catch keywords on prompt and answer based on those keyword. The current Habitability Scanner is just like normal search and it doesn’t show much data on habitability (But it wasn’t made for that). I am thinking to work on this and will try to add more data. Since it is data booklet type. I think the current version have too much basic data. That is why I am thinking to add more data source and combine everything together. I am also thinking about a Wiki for Universe Data Booklet. After all those work. I think I will take some break from backend and frontend coding and work on Graphics (For game part, and icon). I also want to change it from 2D to 3D. Some new or updated idea may spark during the work on above. So, everything is changeable.
Upcoming Update Announcement In the next update there are huge changes coming. Some of them are shown below. A detailed description on exoplanets and asteroids: Now users can see a very detailed graphical data. This is because I have increased the number of data source. I have decreased the data fetch limit from 30 days to 7 days. So, starting from next release, all data provided in Universe Data Booklet will be re-new on the very first visit of each week unless there any issue pop up. Next work will be on Images for exoplanets and asteroids. This might be a tricky part because there are a lots of data and images for every data might be a problem. Let me check first. This is a new implementation idea I just thought. I will add this feature if I can successfully manage to find a way to add real images without disturbing the functionality and smoothness. All the thing I have mentioned above (except point 3) have been already implemented. I just have to review the source code twice again before release. Point 3 is on the way of implementation but not confirmed whether be released or not. If everything goes will. I will release this After my Exam is over. Thank You
New member I am glade to welcome Solar System as the new member on Universe Data Booklet . New Update! Now Universe Data Booklet have data on Planets, Exoplanets, Asteroids and Satellites (Including the artificial one). Now Universe Data Booklet can show image. But this feature is limited. I am thinking to thinking to increase (Just thinking for now) The above listed updates are just announcement for now. I haven’t released them yet, but going to in next few days. Since I took help from AI, I need to edit, debug and make some changes including reviewing and reviewing the code before releasing. Thank You
Another night-day another Problem . Yesterday I went to the source code to add a new theme and structure in Universe Data Booklet. Then I saw a bug in by server.py (backend). But I thought that I will just fix it after working on the theme. Then I worked on theme. Then during test time, I saw something scary (I will not tell what was that). Then I started fixing the theme, that caused bugs of js and css and them what! I never thought this would cause this much trouble. After some time, There was multiple tabs and tasks running into my PC (And which goes heavy on RAM). And What after My Virtual Development Environment got crashed and corrupt. And from night 11 AM to still now (6 AM) I am still fixing my environment otherwise all of my effort will be gone (I will lost my entire new source code).
Ships:
Here is my Universe Data Booklet. As the mane suggest, this is a site which contains data about exoplanets and asteroids. Asteroids: Here I have used real asteroids data (Which is obtained through API ). Currently it contains data about asteroid which is near to our planet (Earth) Exoplanets: Exoplanets data is added manually inside the source code. So, exoplanets data can be viewed without any need of API. I have used API in asteroids but not in exoplanets because asteroids moves and changes around the Earth. And I want to work on current data. But exoplantes doesn’t change for a long time. So, there is no need of live API for that. There is a chart view in my site which shows the chat comparison between exoplanets/ asteroids mass. I have used public free API (I know about the limitations). I have solved that problem too. My site will only fetch data once in 30 days and saved it in cache. And through out the month the site will use that cache data. And again gives an API call after 31 days. Means, there will be only API call but many users can use my site. This also brings storage issue in my site. I have also fixed that. The cache data which are older than 90 days will be automatically removed. That’s all for now. I am also thinking for future update in this site too. Thank You.
What I have built is known as Universe Data Booklet. As it’s name suggest it is a website which contains data on exoplanets and near earth asteroids. Previously it contains only data and analysis. But currently (After recent updates) there are many more features. To know about all the features please read my devlog or directly visit the website. While shipping this right now, I currently have many new ideas to add in this and I will definitely add those in future (Means coming soon). I cannot make Universe Data Booklet in one day or a week. I need time to create it. My vision regarding this project is very wide. I want that my project will help both learners and curious minds. During the development of this project I got into a problem. For latest near earth asteroids, I must have to use API. But I cannot put API on a completely open source project. That is why I have used public API. But public api has data fetch limits. Since the project is in it’s early state, not many users will visit. but I was thinking about future. That is why I came up with an idea, where I will use the Public API but it will never hit the limit (The smart caching). In my new development structure, the site will fetch data only once in 30 days (Data is fetched on the first visit after 30 days). Then that data is saved as cache and all other users get data from that one cache. By doing this data is fetched only once even if thousands of users visit at once. This solves the rate limit. but I need the latest data (at least 30 days). That is why the site fetch data once after 30 day. The program check the cache folder and if the data there is older than 30 days then the site fetches new data on the first visit and saves it. Now another storage problem arise. To solve that my site was programmed in such a way that it will store cache for 90 days and any cache data with are older than 90 days will be deleted. Thus I have solved the issue regarding the near Earth asteroids. I uses public api for near earth asteroids (Because asteroids data get change quickly). I uses csv file for exoplanets data (It is a manually saved data from authentic source) Thank You for giving Universe Data Booklet a try....
|
1793001004.3596594
|
1793087404.3596594
|
|
17194
|
Parkello by @arfa_mariyam | Stardance
|
arfa_mariyam
|
3
|
31.0
|
216
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T13:48:09Z", "hours": 3.0, "multiplier": 16.84, "payout": 65, "blessing": "neutral", "text": "What I Made: I built Parkello, a complete terminal-based Car Parking Management System written in native C++. It features a gatekeeper login with masked keystrokes, real-time tracking and fare calculations across 5 distinct vehicle categories, an administrative runtime editor, and persistent file storage using fstream to save and reload records from local text files automatically. What Was Challenging: Implementing persistent storage with clean key-value labels was tricky because reading structured text back into variables required proper token handling with ifstream. I also had to resolve an infinite loop bug caused by cin failing when non-numeric characters were entered, which I fixed by clearing error flags and flushing the input buffer. What I Am Proud Of: I am proud of turning a basic beginner console script into a complete, fault-tolerant management tool. The program safely prevents lot counts from dropping below zero, persists data across application restarts, masks password inputs dynamically, and maintains a clean, centered visual layout in the terminal. How Reviewers Should Test It: Download index.exe from the GitHub Release assets and launch it. Log in using Username: admin and PIN: 1234 (the PIN masks as XXXX). Log a few vehicle arrivals (options 1–5), check Option 11 to see the live record update, and inspect parking_records.txt. Close the program and launch it again to confirm your saved values load automatically!", "repo": "https://github.com/ArfaMariyam/Parkello", "demo": "https://github.com/ArfaMariyam/Parkello/releases"}, {"ship_num": 2, "ts": "2026-08-05T07:30:11Z", "hours": 11.0, "multiplier": 8.67, "payout": 115, "blessing": "neutral", "text": "I made Parkello, a terminal-based Car Parking Management System built in C++! It helps parking operators log arrivals and departures across 5 vehicle types (bikes, cars, buses, rickshaws, and bicycles), calculate real-time fee balances, and save all records to a local text file. The most challenging part was getting the security verification system to work cleanly, specifically masking the PIN password with X characters using getch() so it stays hidden on screen. It was also tricky handling file management (fstream) and fixing input errors so typing letters wouldn’t crash the program into an infinite loop. I’m super proud of building a complete software tool from scratch using fundamental C++ concepts like while loops, if-else conditions, functions, and persistent file streams. Seeing it save records to a real text file and reload them on boot feels awesome! How to test it: Download and run the index.exe binary. Log in with Username: admin and PIN: 1234. Test parking arrivals/departures, view live records, then close and re-open the app to see your data reloaded automatically!", "repo": "https://github.com/ArfaMariyam/Parkello", "demo": "https://github.com/ArfaMariyam/Parkello/releases"}, {"ship_num": 3, "ts": "2026-07-03T03:54:08Z", "hours": 17.0, "multiplier": 2.88, "payout": 36, "blessing": "neutral", "text": "What I Made: I created a terminal-based Car Parking Management System application written in native C++ (Phase 1: Navigation & Interface Framework), bundled alongside a structured, concept-sequenced progression map of my programming fundamental practice scripts. What Was Challenging: As a complete beginner who didn’t even know how programming languages worked before this summer, the biggest challenge was figuring out control flow mechanics. I initially ran into a logic bug where my brackets trapped the console inside an infinite menu loop, completely ignoring my conditional statements. Breaking down that structure, fixing the scopes, and learning how to cleanly handle continuous lifecycle loops without crashing the program was a massive learning curve. What I Am Proud Of: I am incredibly proud of moving completely past the beginner barrier! I went from zero coding knowledge to designing a clean, optimized terminal UI engine. I also successfully compiled and published my very first binary release asset (index.exe) directly on GitHub so anyone can run my code with one click. What Reviewers Should Know to Test It: Reviewers can test my project in these ways: Run the Prebuilt Binary: Go to my repository’s Releases section, download ‘index.exe’, and double-click it to run the live console layout instantly on Windows. Compile from Source: Clone the repository and run: g++ Car_parking_project/index.cpp -o index && ./index You can choose options 1 through 14 to navigate the system, and enter 14 to cleanly exit. I’ve also pushed a short screen recording inside the ‘demo’ folder showing the interface in action!", "repo": "https://github.com/ArfaMariyam/Parkello", "demo": "https://github.com/ArfaMariyam/Parkello/releases"}]...
|
[{"post_id": 48163, "ts": "202 [{"post_id": 48163, "ts": "2026-08-16T13:40:15Z", "hours": 3.2331, "text": "Finished the final touches on Parkello! Implemented persistent file storage with fstream so the system automatically saves and reloads live parking metrics from parking_records.txt with formatted labels. Added input stream sanitization (cin.clear() and buffer flushing) across all menus to prevent infinite loop crashes if someone enters invalid non-numeric characters, tightened the login attempt lockout check, and added flexible delete confirmations (1/0/Y/N)."}, {"post_id": 41185, "ts": "2026-08-05T07:25:25Z", "hours": 3.4642, "text": "I have officially reached the finish line! The project is now fully complete, packed with major final updates to round out the entire experience. Every core system is in place and optimized for the final release. Check out the details in project to see how everything came together!"}, {"post_id": 24121, "ts": "2026-07-07T14:13:06Z", "hours": 7.6178, "text": "I have successfully completed Phase 2 of Parkello! In this update, I focused on making all the mathematical calculations work dynamically in real-time. Now, whenever a vehicle arrives or departs, the system actively updates the live record and changes variables like totalAmount, totalVehicles, bikeCount, and carCount on the fly. Finally, I fixed up the whole console text layout so all the records and menus print out completely clean and aligned in the terminal! Next step is Phase 3 to build the login gate keeper loop!"}, {"post_id": 21278, "ts": "2026-07-03T03:45:51Z", "hours": 2.6725, "text": "🚀 Phase 1 is officially alive, looping, and running smoothly! I spent these last 3 hours squashing some critical execution bugs and completely restructuring the project’s foundational layout. What’s updated in this sprint: Continuous Execution Loop: Shifted the navigation logic inside an active ‘while(true)’ loop. Instead of instantly crashing or terminating after a single button press, the program now stays active in the terminal, letting users navigate back and forth seamlessly. Optimized UI Engine: Condensed the entire 14-option terminal menu dashboard into a single, clean chained string using inline ‘\\n’ markers. This prevents terminal screen flickering and runs much faster. Clean Routing: Options 1 through 14 are now perfectly mapped to independent confirmation text outputs, and option 14 breaks the loop cleanly to close the app. Shipped the Binary: Compiled and published my first official Windows binary asset release (index.exe) along with clear quick-start installation rules right inside the project README. 🔮 The Next Phase (What’s coming next): Now that the interface map loops perfectly, my very next coding milestone is waking up the tracking data containers! I will be writing the math algorithms for options 1 through 10 so that checking cars or bikes in and out dynamically alters our total cash balance and live parking spot counts in real time inside the option 11 registry. Phase 1 architecture is officially wrapped and ready for community shipping! Let’s go! 🚀"}, {"post_id": 20668, "ts": "2026-07-02T10:10:47Z", "hours": 14.7808, "text": "Hey everyone! I am officially establishing my summer timeline for the Stardance challenge. Before this month, I barely even knew what programming languages were or how code actually worked. I chose C++ because it’s a part of my college curriculum, but learning out in the open alongside an amazing global community has turned this summer break into a massive adventure! I’ve logged over 14 hours so far, systematically breaking down fundamental concepts in a sequenced progression to build deep muscle memory: Output & Spacing (cout): Formatting text streams, line breaks, and practicing syntax by writing panels about Pakistan, the Earth, and the solar system. Memory Containers: Figuring out how computer memory isolates and treats data flags (integers, floats, double, strings, and booleans). Arithmetic Operations: Writing math calculation engines covering additions, subtractions, multiply, and divide commands. Inputs & Decisions: Pausing the console to capture keyboard text via ‘cin’ and building logical branching panels with if-else structures. Automation & Code Architecture: Mastering process iteration loops (for, while, do-while) and packaging reusable instructions into clean, functional blocks. 🚗 Flagship App Update: The Car Parking Framework! I brought these individual concepts together to initialize Phase 1 of my main project: /Car_parking_project/index.cpp . I have successfully built out the structural baseline user interface via a custom helper function menu() that maps out arrival/departure operations for 5 vehicle types. It reads keyboard input to test menu choice selections and outputs an confirmation validation statement cleanly. Thank you to everyone on the Slack channels for the daily inspiration. Let’s keep building! 🚀"}]...
|
Title: Parkello by @arfa_mariyam | Stardance
Devl Title: Parkello by @arfa_mariyam | Stardance
Devlogs:
Hey everyone! I am officially establishing my summer timeline for the Stardance challenge. Before this month, I barely even knew what programming languages were or how code actually worked. I chose C++ because it’s a part of my college curriculum, but learning out in the open alongside an amazing global community has turned this summer break into a massive adventure! I’ve logged over 14 hours so far, systematically breaking down fundamental concepts in a sequenced progression to build deep muscle memory: Output & Spacing (cout): Formatting text streams, line breaks, and practicing syntax by writing panels about Pakistan, the Earth, and the solar system. Memory Containers: Figuring out how computer memory isolates and treats data flags (integers, floats, double, strings, and booleans). Arithmetic Operations: Writing math calculation engines covering additions, subtractions, multiply, and divide commands. Inputs & Decisions: Pausing the console to capture keyboard text via ‘cin’ and building logical branching panels with if-else structures. Automation & Code Architecture: Mastering process iteration loops (for, while, do-while) and packaging reusable instructions into clean, functional blocks. 🚗 Flagship App Update: The Car Parking Framework! I brought these individual concepts together to initialize Phase 1 of my main project: /Car_parking_project/index.cpp . I have successfully built out the structural baseline user interface via a custom helper function menu() that maps out arrival/departure operations for 5 vehicle types. It reads keyboard input to test menu choice selections and outputs an confirmation validation statement cleanly. Thank you to everyone on the Slack channels for the daily inspiration. Let’s keep building! 🚀
🚀 Phase 1 is officially alive, looping, and running smoothly! I spent these last 3 hours squashing some critical execution bugs and completely restructuring the project’s foundational layout. What’s updated in this sprint: Continuous Execution Loop: Shifted the navigation logic inside an active ‘while(true)’ loop. Instead of instantly crashing or terminating after a single button press, the program now stays active in the terminal, letting users navigate back and forth seamlessly. Optimized UI Engine: Condensed the entire 14-option terminal menu dashboard into a single, clean chained string using inline ‘\n’ markers. This prevents terminal screen flickering and runs much faster. Clean Routing: Options 1 through 14 are now perfectly mapped to independent confirmation text outputs, and option 14 breaks the loop cleanly to close the app. Shipped the Binary: Compiled and published my first official Windows binary asset release (index.exe) along with clear quick-start installation rules right inside the project README. 🔮 The Next Phase (What’s coming next): Now that the interface map loops perfectly, my very next coding milestone is waking up the tracking data containers! I will be writing the math algorithms for options 1 through 10 so that checking cars or bikes in and out dynamically alters our total cash balance and live parking spot counts in real time inside the option 11 registry. Phase 1 architecture is officially wrapped and ready for community shipping! Let’s go! 🚀
I have successfully completed Phase 2 of Parkello! In this update, I focused on making all the mathematical calculations work dynamically in real-time. Now, whenever a vehicle arrives or departs, the system actively updates the live record and changes variables like totalAmount, totalVehicles, bikeCount, and carCount on the fly. Finally, I fixed up the whole console text layout so all the records and menus print out completely clean and aligned in the terminal! Next step is Phase 3 to build the login gate keeper loop!
I have officially reached the finish line! The project is now fully complete, packed with major final updates to round out the entire experience. Every core system is in place and optimized for the final release. Check out the details in project to see how everything came together!
Finished the final touches on Parkello! Implemented persistent file storage with fstream so the system automatically saves and reloads live parking metrics from parking_records.txt with formatted labels. Added input stream sanitization (cin.clear() and buffer flushing) across all menus to prevent infinite loop crashes if someone enters invalid non-numeric characters, tightened the login attempt lockout check, and added flexible delete confirmations (1/0/Y/N).
Ships:
What I Made: I created a terminal-based Car Parking Management System application written in native C++ (Phase 1: Navigation & Interface Framework), bundled alongside a structured, concept-sequenced progression map of my programming fundamental practice scripts. What Was Challenging: As a complete beginner who didn’t even know how programming languages worked before this summer, the biggest challenge was figuring out control flow mechanics. I initially ran into a logic bug where my brackets trapped the console inside an infinite menu loop, completely ignoring my conditional statements. Breaking down that structure, fixing the scopes, and learning how to cleanly handle continuous lifecycle loops without crashing the program was a massive learning curve. What I Am Proud Of: I am incredibly proud of moving completely past the beginner barrier! I went from zero coding knowledge to designing a clean, optimized terminal UI engine. I also successfully compiled and published my very first binary release asset (index.exe) directly on GitHub so anyone can run my code with one click. What Reviewers Should Know to Test It: Reviewers can test my project in these ways: Run the Prebuilt Binary: Go to my repository’s Releases section, download ‘index.exe’, and double-click it to run the live console layout instantly on Windows. Compile from Source: Clone the repository and run: g++ Car_parking_project/index.cpp -o index && ./index You can choose options 1 through 14 to navigate the system, and enter 14 to cleanly exit. I’ve also pushed a short screen recording inside the ‘demo’ folder showing the interface in action!
I made Parkello, a terminal-based Car Parking Management System built in C++! It helps parking operators log arrivals and departures across 5 vehicle types (bikes, cars, buses, rickshaws, and bicycles), calculate real-time fee balances, and save all records to a local text file. The most challenging part was getting the security verification system to work cleanly, specifically masking the PIN password with X characters using getch() so it stays hidden on screen. It was also tricky handling file management (fstream) and fixing input errors so typing letters wouldn’t crash the program into an infinite loop. I’m super proud of building a complete software tool from scratch using fundamental C++ concepts like while loops, if-else conditions, functions, and persistent file streams. Seeing it save records to a real text file and reload them on boot feels awesome! How to test it: Download and run the index.exe binary. Log in with Username: admin and PIN: 1234. Test parking arrivals/departures, view live records, then close and re-open the app to see your data reloaded automatically!
What I Made: I built Parkello, a complete terminal-based Car Parking Management System written in native C++. It features a gatekeeper login with masked keystrokes, real-time tracking and fare calculations across 5 distinct vehicle categories, an administrative runtime editor, and persistent file storage using fstream to save and reload records from local text files automatically. What Was Challenging: Implementing persistent storage with clean key-value labels was tricky because reading structured text back into variables required proper token handling with ifstream. I also had to resolve an infinite loop bug caused by cin failing when non-numeric characters were entered, which I fixed by clearing error flags and flushing the input buffer. What I Am Proud Of: I am proud of turning a basic beginner console script into a complete, fault-tolerant management tool. The program safely prevents lot counts from dropping below zero, persists data across application restarts, masks password inputs dynamically, and maintains a clean, centered visual layout in the terminal. How Reviewers Should Test It: Download index.exe from the GitHub Release assets and launch it. Log in using Username: admin and PIN: 1234 (the PIN masks as XXXX). Log a few vehicle arrivals (options 1–5), check Option 11 to see the live record update, and inspect parking_records.txt. Close the program and launch it again to confirm your saved values load automatically!...
|
1792878541.7209952
|
1793742541.7209952
|
|
6223
|
Stavex by @pranav101 | Stardance
|
pranav101
|
4
|
77.0
|
215
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T15:19:08Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Stavex", "repo": "https://github.com/itzpranav101/stavex", "demo": "https://stavex.org"}, {"ship_num": 2, "ts": "2026-08-19T08:04:27Z", "hours": 44.0, "multiplier": 6.98, "payout": 70, "blessing": "neutral", "text": "Stavex", "repo": "https://github.com/itzpranav101/stavex", "demo": "https://stavex.org"}, {"ship_num": 3, "ts": "2026-08-10T16:04:48Z", "hours": 15.0, "multiplier": 6.04, "payout": 85, "blessing": "neutral", "text": "Stavex", "repo": "https://github.com/itzpranav101/stavex", "demo": "https://stavex.org"}, {"ship_num": 4, "ts": "2026-06-03T11:20:19Z", "hours": 15.0, "multiplier": 6.01, "payout": 60, "blessing": "neutral", "text": "Hey guys! I made an initiative/website called stavex. Its essentially helps teens around the world create their startups with out 9 stage dashboard. Check out the website now - stavex.org Check our insta too for more details!! @stavexhq", "repo": "https://github.com/itzpranav101/stavex", "demo": "https://stavex.org"}]...
|
[{"post_id": 50918, "ts": "202 [{"post_id": 50918, "ts": "2026-08-20T11:58:24Z", "hours": 3.4219, "text": "Currently improving the app!!"}, {"post_id": 44665, "ts": "2026-08-10T16:09:25Z", "hours": 44.1517, "text": "currently working on a sub project called meco - a memory companion"}, {"post_id": 8000, "ts": "2026-06-13T10:51:19Z", "hours": 7.3961, "text": "introducing scheduling to stavex!! making an entire interface for students just so they can schedule their day - balancing acads and their passion.."}, {"post_id": 5533, "ts": "2026-06-09T10:49:44Z", "hours": 7.5583, "text": "currently working on the backend of the dashboard!! Also implementing argo smart routing"}, {"post_id": 1372, "ts": "2026-06-03T11:16:48Z", "hours": 14.5661, "text": "Currently working on the dashboard system!!"}]...
|
Title: Stavex by @pranav101 | Stardance
Devlogs:
Title: Stavex by @pranav101 | Stardance
Devlogs:
Currently working on the dashboard system!!
currently working on the backend of the dashboard!! Also implementing argo smart routing
introducing scheduling to stavex!! making an entire interface for students just so they can schedule their day - balancing acads and their passion..
currently working on a sub project called meco - a memory companion
Currently improving the app!!
Ships:
Hey guys! I made an initiative/website called stavex. Its essentially helps teens around the world create their startups with out 9 stage dashboard. Check out the website now - stavex.org Check our insta too for more details!! @stavexhq
Stavex
Stavex
Stavex...
|
1792997405.9623263
|
1793083805.9623263
|
|
45509
|
Atomic-Habitizer by @AFJ | Stardance
|
AFJ
|
2
|
35.61
|
214
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T12:34:17Z", "hours": 22.0, "multiplier": 9.13, "payout": 203, "blessing": "neutral", "text": "What i made? I made Atomic Habitizer(I read the book Atomic Habits recently 😅). A simple habit tracking dashboard that help users build consistency through daily tracking and streaks. It includes weekly habit tracking, individual streaks for each habit, a maximum streak accross all habits, a dynamic progress ring, habit categories, quick presets, and local data storage. The Most challenging part One of them was making the streak system. The other was the Progress ring it was an html svg design i saw in reddit but never knew how it worked till i worked on JS. The version one which was my very first ship and was very simple and humble project. I got many suggestion from reviewers So Im proud that I reached here. For Testing, You should add a few habits and click the days in the weekly tracker to mark them complete. You can check whether the streaks and progress calculations are working. Then You can try to edit and delete the habit which will show my cute custiom popovers You can check the quick presets are working or not Note that the progress ring is based on current day’s habit completion and number of habits", "repo": "https://github.com/AfshinJamseed/Atomic-Habitiser/tree/v2", "demo": "https://afshinjamseed.github.io/Atomic-Habitiser/"}, {"ship_num": 2, "ts": "2026-08-08T10:09:29Z", "hours": 8.0, "multiplier": 1.34, "payout": 11, "blessing": "neutral", "text": "I made a Habit Tracker, which you can track your own habits for a diciplined life.", "repo": "https://github.com/AfshinJamseed/Atomic-Habitiser/tree/v2", "demo": "https://afshinjamseed.github.io/Atomic-Habitiser/"}]...
|
[{"post_id": 59550, "ts": "202 [{"post_id": 59550, "ts": "2026-09-01T13:10:19Z", "hours": 4.3025, "text": "V3 I styled the sidebar: It was very hard. I brought my cousin via live share and we worked together The ring mechanism was the most confusing. The design here is my idea 😁blah blah blah…"}, {"post_id": 59417, "ts": "2026-09-01T07:22:57Z", "hours": 1.0011, "text": "Starting the new version based on the reviews. Now i am trying to make the name and the app match. I got a design for a web dashboard a classic one from the internet and redisigned it using pen and paper to fit this project"}, {"post_id": 53561, "ts": "2026-08-24T04:57:15Z", "hours": 0.305, "text": "Added a video and an image in the readme"}, {"post_id": 53003, "ts": "2026-08-23T12:00:25Z", "hours": 0.5925, "text": "Readme was completed Project is now live this will be last devlog of v2 Try out the project: https://afshinjamseed.github.io/Atomic-Habitiser/"}, {"post_id": 52957, "ts": "2026-08-23T10:34:50Z", "hours": 1.8392, "text": "The Streak Calculation Was the hardest part. I asked Chat gpt for the logic. Now Moving on to Readme."}, {"post_id": 52876, "ts": "2026-08-23T07:54:30Z", "hours": 2.6378, "text": "Pop ups and Presets are now perfected. The preset are easy only pushing in-build objects into the array. But the popups poped me they were tuff finally after some research i got the perfect custom popup logics for me"}, {"post_id": 52556, "ts": "2026-08-22T18:39:20Z", "hours": 2.3389, "text": "Making custom popups 🎇🎇"}, {"post_id": 51790, "ts": "2026-08-21T17:06:55Z", "hours": 0.3128, "text": "Locked the upcomming days"}, {"post_id": 51774, "ts": "2026-08-21T16:44:17Z", "hours": 2.3067, "text": "Basic Functions are Made interactive. Took a lot of ⌚."}, {"post_id": 51572, "ts": "2026-08-21T10:51:02Z", "hours": 1.5481, "text": "JAVA SCRIPT ❌ BUG SCRIPT ✅ 😂"}, {"post_id": 51480, "ts": "2026-08-21T06:40:29Z", "hours": 4.2794, "text": "whoof that was was hard"}, {"post_id": 49715, "ts": "2026-08-18T17:01:28Z", "hours": 1.345, "text": "Made a almost perfect card"}, {"post_id": 49555, "ts": "2026-08-18T13:04:18Z", "hours": 1.4981, "text": "The last reviewers told me to improve the UI so full of improving it"}, {"post_id": 49066, "ts": "2026-08-17T17:39:19Z", "hours": 0.8528, "text": "Top Section Designing was done"}, {"post_id": 48822, "ts": "2026-08-17T11:20:20Z", "hours": 0.7856, "text": "Got a better design designing is my weakness"}, {"post_id": 48797, "ts": "2026-08-17T10:31:59Z", "hours": 1.4922, "text": "I am no trying out some designs for my new version of Atomic Habitizer Please comment if you can see any. I am bad at designing"}, {"post_id": 48753, "ts": "2026-08-17T08:58:18Z", "hours": 0.4544, "text": "The first version was just an prototype now i am starting 2nd version of this project"}, {"post_id": 43192, "ts": "2026-08-08T09:58:53Z", "hours": 7.9069, "text": "Ready To Ship"}]...
|
Title: Atomic-Habitizer by @AFJ | Stardance
Devlo Title: Atomic-Habitizer by @AFJ | Stardance
Devlogs:
Ready To Ship
The first version was just an prototype now i am starting 2nd version of this project
I am no trying out some designs for my new version of Atomic Habitizer Please comment if you can see any. I am bad at designing
Got a better design designing is my weakness
Top Section Designing was done
The last reviewers told me to improve the UI so full of improving it
Made a almost perfect card
whoof that was was hard
JAVA SCRIPT ❌ BUG SCRIPT ✅ 😂
Basic Functions are Made interactive. Took a lot of ⌚.
Locked the upcomming days
Making custom popups 🎇🎇
Pop ups and Presets are now perfected. The preset are easy only pushing in-build objects into the array. But the popups poped me they were tuff finally after some research i got the perfect custom popup logics for me
The Streak Calculation Was the hardest part. I asked Chat gpt for the logic. Now Moving on to Readme.
Readme was completed Project is now live this will be last devlog of v2 Try out the project: https://afshinjamseed.github.io/Atomic-Habitiser/
Added a video and an image in the readme
Starting the new version based on the reviews. Now i am trying to make the name and the app match. I got a design for a web dashboard a classic one from the internet and redisigned it using pen and paper to fit this project
V3 I styled the sidebar: It was very hard. I brought my cousin via live share and we worked together The ring mechanism was the most confusing. The design here is my idea 😁blah blah blah…
Ships:
I made a Habit Tracker, which you can track your own habits for a diciplined life.
What i made? I made Atomic Habitizer(I read the book Atomic Habits recently 😅). A simple habit tracking dashboard that help users build consistency through daily tracking and streaks. It includes weekly habit tracking, individual streaks for each habit, a maximum streak accross all habits, a dynamic progress ring, habit categories, quick presets, and local data storage. The Most challenging part One of them was making the streak system. The other was the Progress ring it was an html svg design i saw in reddit but never knew how it worked till i worked on JS. The version one which was my very first ship and was very simple and humble project. I got many suggestion from reviewers So Im proud that I reached here. For Testing, You should add a few habits and click the days in the weekly tracker to mark them complete. You can check whether the streaks and progress calculations are working. Then You can try to edit and delete the habit which will show my cute custiom popovers You can check the quick presets are working or not Note that the progress ring is based on current day’s habit completion and number of habits...
|
1792875227.0075614
|
1793739227.0075614
|
|
31050
|
DevScope by @Riko | Stardance
|
Riko
|
2
|
20.0
|
213
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T15:53:25Z", "hours": 17.0, "multiplier": 11.21, "payout": 186, "blessing": "neutral", "text": "DevScope is finally live! (I completely changed the UI for my first ship.) DevScope is a GitHub profile analyzer I built to make exploring GitHub profiles a little easier. It brings profile info, repos, languages, and activity together in one dashboard instead of having to go through different sections of a GitHub profile. This release includes GitHub profile search, a repository explorer, language distribution charts, an activity heatmap based on repository pushes, and profile comparison. It fetches live data from the GitHub REST API and is built with React, JavaScript, Tailwind CSS, Recharts, and Vite. I mainly built this project to get more comfortable working with APIs and real-world data while building something I could actually use. There are still things I want to improve and add, so I’ll probably come back to it with more updates. NOTE: Enter the correct GitHub username Highlights GitHub profile search Profile info & stats Repository explorer Language distribution Profile comparison Activity heatmap Live GitHub API data Interactive dashboard", "repo": "https://github.com/anshumitasahu/DevScope", "demo": "https://playful-pony-f2277a.netlify.app/"}, {"ship_num": 2, "ts": "2026-07-06T10:47:18Z", "hours": 3.0, "multiplier": 10.35, "payout": 27, "blessing": "neutral", "text": "Built: • A GitHub profile analyzer that lets you explore developer stats, repositories, and language usage through a clean, interactive dashboard. Challenge: • Fetching data from multiple GitHub API endpoints and combining it into meaningful insights while keeping the UI responsive. Proud of: • The overall UI and how raw GitHub data is transformed into something that’s easy to explore and understand. Testing: • Just enter any public GitHub username, and the dashboard will fetch live data from GitHub.", "repo": "https://github.com/anshumitasahu/DevScope", "demo": "https://playful-pony-f2277a.netlify.app/"}]...
|
[{"post_id": 43344, "ts": "202 [{"post_id": 43344, "ts": "2026-08-08T15:25:57Z", "hours": 0.5842, "text": "Just fixed the README.."}, {"post_id": 43307, "ts": "2026-08-08T14:32:54Z", "hours": 1.0419, "text": "Added alerts and loading in the analyzer and compare pages.. updating README"}, {"post_id": 43249, "ts": "2026-08-08T12:28:37Z", "hours": 1.0406, "text": "Fixed the issue where entering a username on the Home page navigated to Analyzer, but the URL wasn’t updating properly , causing the page to jitter whenever the input changed . Fixed the URL update logic and cleaned up unused code across the codebase."}, {"post_id": 25199, "ts": "2026-07-09T08:48:36Z", "hours": 0.8744, "text": "It’s satisfying to finally see DevScope reach this stage. What started as a simple idea has gradually evolved into a complete project through weeks of learning, experimenting, debugging, refactoring, and countless iterations. There were moments when features didn’t work as expected, layouts completely broke after small changes, and bugs took far longer to solve than I anticipated. More than once, I found myself rewriting components because I realized there was a cleaner or more scalable approach. Looking back, every one of those setbacks taught me something valuable about React, state management, component architecture, asynchronous programming, and UI/UX design. This project pushed me well beyond my comfort zone. Instead of just making things work, I spent time improving code quality, making components reusable, and refining the overall user experience. Seeing DevScope evolve from a basic GitHub analyzer into something I’m genuinely proud of has been one of the most rewarding parts of this journey. The core functionality is now complete, and I genuinely hope there aren’t any more major UI changes left to make. After one final round of testing, polishing, and fixing any remaining edge cases, DevScope should be ready for its release. Hopefully, the next time I post about DevScope, it’ll be to announce that it’s officially live. 🚀"}, {"post_id": 24859, "ts": "2026-07-08T18:29:13Z", "hours": 0.3428, "text": "#DevLog 🚀 Built the foundation of the GitHub profile comparison feature in DevScope. Implemented parallel profile fetching with Promise.all, created reusable comparison components, and added side-by-side profile analysis with key developer metrics like followers, repositories, stars, forks, account age, and language usage. I barely spent any time on the UI today, yet it’s already looking good. Just a few final touches remain before the project is ready to ship. It’s exciting to finally see this project reaching the finish line. Looking forward to sharing the completed version soon. 🚀 I hope the finish line is finally in sight.(Fingers Crossed!)"}, {"post_id": 24846, "ts": "2026-07-08T17:57:06Z", "hours": 5.0133, "text": "Working on the compare page of devscope.. focusing mostly on logic and ux.. im damn too tried to focus on the style … and it still looks good"}, {"post_id": 24212, "ts": "2026-07-07T17:02:23Z", "hours": 4.0058, "text": "Video Demo today was one of those days that reminds me why I love this craft.I went all in on the landing page. What started as a simple polish turned into a full-on UI/UX glow-up. I ripped apart the old layout, rebuilt the visual hierarchy, refined every micro-interaction, and tightened the flow until it felt buttery smooth. The typography, spacing, color balance, the way elements breathe on the screen everything just clicks now.I’m genuinely proud of how it turned out. It doesn’t just look good. It feels premium. It feels like us. The kind of landing page that makes visitors stop scrolling and actually pay attention.And here’s the best part: I got some real feedback the other day calling out areas that needed improvement on the UI/UX. Instead of getting defensive, I took that shit straight to heart. I let it sit with me, dissected it, and then went nuclear on the redesign. No ego protection. Just pure execution.And damn… bang. It looks beautiful now. Clean, confident, modern, and actually delightful to use."}, {"post_id": 24012, "ts": "2026-07-07T09:22:28Z", "hours": 2.7772, "text": "DevLog — DevScope Update: Refactored and reworked major parts of DevScope with a focus on improving the overall user experience and interface consistency. The homepage has been redesigned with a cleaner layout and better user flow, the navbar has been simplified for improved navigation, and the search experience has been optimized with direct navigation to the analyzer. Along with these UI/UX improvements, the structure and styling were refined to make the application feel more polished, focused, and maintainable."}, {"post_id": 23517, "ts": "2026-07-06T15:15:12Z", "hours": 0.9275, "text": "Worked on polishing DevScope’s UX today. The home page search now redirects directly to the Analyzer page, and pressing Enter triggers analysis instantly, making the flow much smoother. Also refined several UI elements for a cleaner, more consistent experience. Small changes overall, but they significantly improve usability. Feedback and reviews are welcome."}, {"post_id": 22977, "ts": "2026-07-05T17:40:58Z", "hours": 2.6367, "text": "Today’s update: Completed DevScope!! Finished the analyzer page Integrated the GitHub API for profile and repository data Added language distribution charts with Recharts Polished the UI with contribution & repository insights."}]...
|
Title: DevScope by @Riko | Stardance
Devlogs:
Tod Title: DevScope by @Riko | Stardance
Devlogs:
Today’s update: Completed DevScope!! Finished the analyzer page Integrated the GitHub API for profile and repository data Added language distribution charts with Recharts Polished the UI with contribution & repository insights.
Worked on polishing DevScope’s UX today. The home page search now redirects directly to the Analyzer page, and pressing Enter triggers analysis instantly, making the flow much smoother. Also refined several UI elements for a cleaner, more consistent experience. Small changes overall, but they significantly improve usability. Feedback and reviews are welcome.
DevLog — DevScope Update: Refactored and reworked major parts of DevScope with a focus on improving the overall user experience and interface consistency. The homepage has been redesigned with a cleaner layout and better user flow, the navbar has been simplified for improved navigation, and the search experience has been optimized with direct navigation to the analyzer. Along with these UI/UX improvements, the structure and styling were refined to make the application feel more polished, focused, and maintainable.
Video Demo today was one of those days that reminds me why I love this craft.I went all in on the landing page. What started as a simple polish turned into a full-on UI/UX glow-up. I ripped apart the old layout, rebuilt the visual hierarchy, refined every micro-interaction, and tightened the flow until it felt buttery smooth. The typography, spacing, color balance, the way elements breathe on the screen everything just clicks now.I’m genuinely proud of how it turned out. It doesn’t just look good. It feels premium. It feels like us. The kind of landing page that makes visitors stop scrolling and actually pay attention.And here’s the best part: I got some real feedback the other day calling out areas that needed improvement on the UI/UX. Instead of getting defensive, I took that shit straight to heart. I let it sit with me, dissected it, and then went nuclear on the redesign. No ego protection. Just pure execution.And damn… bang. It looks beautiful now. Clean, confident, modern, and actually delightful to use.
Working on the compare page of devscope.. focusing mostly on logic and ux.. im damn too tried to focus on the style … and it still looks good
#DevLog 🚀 Built the foundation of the GitHub profile comparison feature in DevScope. Implemented parallel profile fetching with Promise.all, created reusable comparison components, and added side-by-side profile analysis with key developer metrics like followers, repositories, stars, forks, account age, and language usage. I barely spent any time on the UI today, yet it’s already looking good. Just a few final touches remain before the project is ready to ship. It’s exciting to finally see this project reaching the finish line. Looking forward to sharing the completed version soon. 🚀 I hope the finish line is finally in sight.(Fingers Crossed!)
It’s satisfying to finally see DevScope reach this stage. What started as a simple idea has gradually evolved into a complete project through weeks of learning, experimenting, debugging, refactoring, and countless iterations. There were moments when features didn’t work as expected, layouts completely broke after small changes, and bugs took far longer to solve than I anticipated. More than once, I found myself rewriting components because I realized there was a cleaner or more scalable approach. Looking back, every one of those setbacks taught me something valuable about React, state management, component architecture, asynchronous programming, and UI/UX design. This project pushed me well beyond my comfort zone. Instead of just making things work, I spent time improving code quality, making components reusable, and refining the overall user experience. Seeing DevScope evolve from a basic GitHub analyzer into something I’m genuinely proud of has been one of the most rewarding parts of this journey. The core functionality is now complete, and I genuinely hope there aren’t any more major UI changes left to make. After one final round of testing, polishing, and fixing any remaining edge cases, DevScope should be ready for its release. Hopefully, the next time I post about DevScope, it’ll be to announce that it’s officially live. 🚀
Fixed the issue where entering a username on the Home page navigated to Analyzer, but the URL wasn’t updating properly , causing the page to jitter whenever the input changed . Fixed the URL update logic and cleaned up unused code across the codebase.
Added alerts and loading in the analyzer and compare pages.. updating README
Just fixed the README..
Ships:
Built: • A GitHub profile analyzer that lets you explore developer stats, repositories, and language usage through a clean, interactive dashboard. Challenge: • Fetching data from multiple GitHub API endpoints and combining it into meaningful insights while keeping the UI responsive. Proud of: • The overall UI and how raw GitHub data is transformed into something that’s easy to explore and understand. Testing: • Just enter any public GitHub username, and the dashboard will fetch live data from GitHub.
DevScope is finally live! (I completely changed the UI for my first ship.) DevScope is a GitHub profile analyzer I built to make exploring GitHub profiles a little easier. It brings profile info, repos, languages, and activity together in one dashboard instead of having to go through different sections of a GitHub profile. This release includes GitHub profile search, a repository explorer, language distribution charts, an activity heatmap based on repository pushes, and profile comparison. It fetches live data from the GitHub REST API and is built with React, JavaScript, Tailwind CSS, Recharts, and Vite. I mainly built this project to get more comfortable working with APIs and real-world data while building something I could actually use. There are still things I want to improve and add, so I’ll probably come back to it with more updates. NOTE: Enter the correct GitHub username Highlights GitHub profile search Profile info & stats Repository explorer Language distribution Profile comparison Activity heatmap Live GitHub API data Interactive dashboard...
|
1792878683.7688456
|
1793742683.7688456
|
|
45248
|
Aura by @elnix | Stardance
|
elnix
|
1
|
15.0
|
213
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T18:34:04Z", "hours": 15.0, "multiplier": 14.12, "payout": 213, "blessing": "neutral", "text": "I build an Android app, built to help protect your daily privacy, by helping you managing a bunch of akes identities, that you’ll give in all the different shops you go. For example, when tou go to a grocecy store and you want a loyalty card, you can create a brand new fake identity and give the infos to the vendor! THis way you’re not forced to expose private info, such as you name, adress or more, and you have the infos you gave stored to the app. The app is build by 🤎 for Android, and completely free and open-source, with my previous knowledge from Dragon-Launcher (which isn’t btw abandonned, just paused lol)", "repo": "https://github.com/Elnix90/Aura", "demo": "https://github.com/Elnix90/Aura/releases/latest"}]...
|
[{"post_id": 45329, "ts": "202 [{"post_id": 45329, "ts": "2026-08-11T18:29:34Z", "hours": 0.3169, "text": "Applied fixes from Android studio to reduce apk size and optimize. It all went to a dark commit I don’t want to know about 🤣"}, {"post_id": 45285, "ts": "2026-08-11T17:29:39Z", "hours": 0.5969, "text": "First version release! I did a clean job, the app is not perfect but its working, and I’ll ask my friends to test it out to give me a feedback!"}, {"post_id": 44494, "ts": "2026-08-10T09:21:03Z", "hours": 3.3739, "text": "Improved alot the edit screen and global hebavior. As this is another app I made, with lots of reused components, I’m thinking of making a lib with all my custom components so that I can share them across projects. Also, I think the app is ready for a first release, as it works, no thing more, nothing less. its not super pretty but it works, and I’m proud of it. I leanred the ROOM database system (which btw is super clean and cool, I think i’ll migrate my other app to that, at least partially)"}, {"post_id": 43866, "ts": "2026-08-09T09:49:44Z", "hours": 4.3003, "text": "Working on edit screen UI, I started by making all componants using standart blocks. Now, I’m fine tuning each of them to have a clean UI."}, {"post_id": 43324, "ts": "2026-08-08T14:55:19Z", "hours": 0.8969, "text": "feat: add very basic editor and a placeholer when no identities are selected. Actually I’m really proud of the hilarious arrows"}, {"post_id": 43285, "ts": "2026-08-08T13:50:11Z", "hours": 1.4633, "text": "fix: corrected multiple things across the project, the app compiles and displays stuff correctly"}, {"post_id": 42949, "ts": "2026-08-07T22:46:09Z", "hours": 1.6789, "text": "Finally the code compiles, the first version is close, I simply need to. well build the ui. Actually I only have the core building blocks for everything, I’ll need to make a identities editor etc.. but making editors is actually what I like the most so it will be cool to code!"}, {"post_id": 42882, "ts": "2026-08-07T20:44:26Z", "hours": 1.2656, "text": "Deleting old unused libraries before I can start to make the UI. Basically, since I copied my other app, I have to delete all the stuff I con’t need (the points and nests stuff, etc…)"}, {"post_id": 42828, "ts": "2026-08-07T19:22:26Z", "hours": 1.1553, "text": "First commit incomming! I am recycling Dragon-Launcher’s code to build the first version of Aura, my future app. I have all the ideas in mind and therefore will build fast ig"}]...
|
Title: Aura by @elnix | Stardance
Devlogs:
First Title: Aura by @elnix | Stardance
Devlogs:
First commit incomming! I am recycling Dragon-Launcher’s code to build the first version of Aura, my future app. I have all the ideas in mind and therefore will build fast ig
Deleting old unused libraries before I can start to make the UI. Basically, since I copied my other app, I have to delete all the stuff I con’t need (the points and nests stuff, etc…)
Finally the code compiles, the first version is close, I simply need to. well build the ui. Actually I only have the core building blocks for everything, I’ll need to make a identities editor etc.. but making editors is actually what I like the most so it will be cool to code!
fix: corrected multiple things across the project, the app compiles and displays stuff correctly
feat: add very basic editor and a placeholer when no identities are selected. Actually I’m really proud of the hilarious arrows
Working on edit screen UI, I started by making all componants using standart blocks. Now, I’m fine tuning each of them to have a clean UI.
Improved alot the edit screen and global hebavior. As this is another app I made, with lots of reused components, I’m thinking of making a lib with all my custom components so that I can share them across projects. Also, I think the app is ready for a first release, as it works, no thing more, nothing less. its not super pretty but it works, and I’m proud of it. I leanred the ROOM database system (which btw is super clean and cool, I think i’ll migrate my other app to that, at least partially)
First version release! I did a clean job, the app is not perfect but its working, and I’ll ask my friends to test it out to give me a feedback!
Applied fixes from Android studio to reduce apk size and optimize. It all went to a dark commit I don’t want to know about 🤣
Ships:
I build an Android app, built to help protect your daily privacy, by helping you managing a bunch of akes identities, that you’ll give in all the different shops you go. For example, when tou go to a grocecy store and you want a loyalty card, you can create a brand new fake identity and give the infos to the vendor! THis way you’re not forced to expose private info, such as you name, adress or more, and you have the infos you gave stored to the app. The app is build by 🤎 for Android, and completely free and open-source, with my previous knowledge from Dragon-Launcher (which isn’t btw abandonned, just paused lol)...
|
1792990078.9371276
|
1793076478.9371276
|
|
58477
|
PawXygen Rush by @thapar_smayan | Stardance
|
thapar_smayan
|
2
|
17.0
|
213
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T17:57:19Z", "hours": 7.0, "multiplier": 15.67, "payout": 113, "blessing": "neutral", "text": "I made all of the changes that were requested in my previous ship! PawXygen Rush is a 2D turn based maze game in which you play as various characters and try to escape a decaying space station. I am proud of myself for stepping out of my comfort zone and learning new things. Creating new characters was difficult. If you’re gonn try the game remember to have fun! Its what I made it for.", "repo": "https://github.com/thaparsmayan2011-ctrl/PawXygen-Rush", "demo": "https://pawxygenrush.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-09T13:46:02Z", "hours": 10.0, "multiplier": 10.11, "payout": 100, "blessing": "neutral", "text": "I have made a 2D space themed maze/ survival game in which you play as Laika the space dog from 1957. The HTML canvas part was difficult as it was my first experience with making html graphics. I am proud of pushing myself and stepping out of my comfort zone. Have fun!", "repo": "https://github.com/thaparsmayan2011-ctrl/PawXygen-Rush", "demo": "https://pawxygenrush.vercel.app/"}]...
|
[{"post_id": 67541, "ts": "202 [{"post_id": 67541, "ts": "2026-09-13T17:51:45Z", "hours": 3.1944, "text": "I have finally made all the requested changes to PawXygen Rush. I have deployed it to vercel. I’m gonna ship now!"}, {"post_id": 66747, "ts": "2026-09-12T17:15:35Z", "hours": 4.0172, "text": "After the feedback I received on PawXygen Rush, I have resumed my work on this game. I have started by adding a menu, level selector, character selection and I have made the canvas scale with your window size."}, {"post_id": 64794, "ts": "2026-09-09T13:36:44Z", "hours": 2.0289, "text": "I have finally finished the project!!! After cleaning up the repo all that will be left is to SHIP!!!!"}, {"post_id": 64666, "ts": "2026-09-09T07:41:43Z", "hours": 2.9558, "text": "I have finished the graphics and coded the entire game, this took me like 2 hours but it was fun. All that is left to do is add a legend, level chooser and a soundtrack."}, {"post_id": 63693, "ts": "2026-09-07T17:04:00Z", "hours": 1.8672, "text": "I have finished cleaning up the game logic and added some of the graphics. Next I’ll add the rest of the graphics and a few more levels. Currently the player isn’t visible coz I haven’t added its graphics yet. Trust the Process!"}, {"post_id": 62908, "ts": "2026-09-06T13:20:20Z", "hours": 2.5056, "text": "I have added the core game logic along with the sound effects. I am facing some issues with particles but i’ll figure it out. I am left with clean up, particle debugging and graphics for now."}, {"post_id": 62035, "ts": "2026-09-05T08:00:55Z", "hours": 0.5442, "text": "I am creating a space themed game in which you play as Laika the dog and navigate through a decaying space station. I have coded the core game logic for now. Next I will work on the designs of the sprites."}]...
|
Title: PawXygen Rush by @thapar_smayan | Stardance Title: PawXygen Rush by @thapar_smayan | Stardance
Devlogs:
I am creating a space themed game in which you play as Laika the dog and navigate through a decaying space station. I have coded the core game logic for now. Next I will work on the designs of the sprites.
I have added the core game logic along with the sound effects. I am facing some issues with particles but i’ll figure it out. I am left with clean up, particle debugging and graphics for now.
I have finished cleaning up the game logic and added some of the graphics. Next I’ll add the rest of the graphics and a few more levels. Currently the player isn’t visible coz I haven’t added its graphics yet. Trust the Process!
I have finished the graphics and coded the entire game, this took me like 2 hours but it was fun. All that is left to do is add a legend, level chooser and a soundtrack.
I have finally finished the project!!! After cleaning up the repo all that will be left is to SHIP!!!!
After the feedback I received on PawXygen Rush, I have resumed my work on this game. I have started by adding a menu, level selector, character selection and I have made the canvas scale with your window size.
I have finally made all the requested changes to PawXygen Rush. I have deployed it to vercel. I’m gonna ship now!
Ships:
I have made a 2D space themed maze/ survival game in which you play as Laika the space dog from 1957. The HTML canvas part was difficult as it was my first experience with making html graphics. I am proud of pushing myself and stepping out of my comfort zone. Have fun!
I made all of the changes that were requested in my previous ship! PawXygen Rush is a 2D turn based maze game in which you play as various characters and try to escape a decaying space station. I am proud of myself for stepping out of my comfort zone and learning new things. Creating new characters was difficult. If you’re gonn try the game remember to have fun! Its what I made it for....
|
1792972383.8881495
|
1793058783.8881495
|
|
9004
|
Trisolaris by @martin_chen_au | Stardance
|
martin_chen_au
|
1
|
14.0
|
212
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T04:05:10Z", "hours": 14.0, "multiplier": 15.92, "payout": 212, "blessing": "neutral", "text": "I finished Trisolaris! After fighting with camera zooming and clamping, I finally have a visually smooth and cohesive real-time TUI sim of three bodies, in three glorious, distance-scaled colours, in braille. After confirming renders, saving, and infinite-brute-force methods work, I updated README with screenshots and uploaded to PyPi. Hope you like it; it’s available with pip install trisolaris (or other package managers, e.g. uv tool install trisolaris).", "repo": "https://github.com/BitPeppr/3-body", "demo": "https://pypi.org/project/trisolaris/"}]...
|
[{"post_id": 9052, "ts": "2026 [{"post_id": 9052, "ts": "2026-06-15T03:33:32Z", "hours": 1.4514, "text": "Uploaded to Pypi! You can now use with pip install trisolaris."}, {"post_id": 8623, "ts": "2026-06-14T10:36:43Z", "hours": 1.2508, "text": "Camera optimisations (more advanced smoothing and stricter body-within-frame regulation), plus more presets :D"}, {"post_id": 7996, "ts": "2026-06-13T10:30:59Z", "hours": 0.9603, "text": "Added colour averaging (direct average without squares or roots; seems to look more convincing!), presets (figure 8 and ephemeral twirls for now), along with other minor changes. Screenshot shows colour averaging; green and blue overlap become a more greyish colour."}, {"post_id": 7446, "ts": "2026-06-12T12:22:20Z", "hours": 0.7869, "text": "Added artificial damping (unrealistic but more pretty for live rendering) for TUI live mode, along with other QoL improvements and optimisations"}, {"post_id": 7413, "ts": "2026-06-12T10:44:20Z", "hours": 1.195, "text": "Updated visuals, and optimised variuos aspects (e.g. trail logic, anti-singularity, etc.) while adding more cli flags for customisation (e.g. trail length). Experimented and found a few presets for cool behaviour (more intertwined path, not instantly ejecting out into infinity). Planning to add a systematic –preset flag soon!"}, {"post_id": 7296, "ts": "2026-06-12T05:00:13Z", "hours": 0.6253, "text": "Infinite TUI mode! Implemented a continuous, live simulation, not unlike a terminal-based screensaver. (Forgot to update devlogs; this took much longer than 36 minutes)"}, {"post_id": 7256, "ts": "2026-06-12T03:16:18Z", "hours": 4.6847, "text": "Added infinite automatic config finder with judging mechanism, to brute-force try configurations and categorise them into interesting (e.g. butterly, figure-8), uninteresting (straying off into infinity), or unsure (complex patterns for human review)"}, {"post_id": 3084, "ts": "2026-06-05T23:52:50Z", "hours": 3.245, "text": "Early renders"}]...
|
Title: Trisolaris by @martin_chen_au | Stardance
Title: Trisolaris by @martin_chen_au | Stardance
Devlogs:
Early renders
Added infinite automatic config finder with judging mechanism, to brute-force try configurations and categorise them into interesting (e.g. butterly, figure-8), uninteresting (straying off into infinity), or unsure (complex patterns for human review)
Infinite TUI mode! Implemented a continuous, live simulation, not unlike a terminal-based screensaver. (Forgot to update devlogs; this took much longer than 36 minutes)
Updated visuals, and optimised variuos aspects (e.g. trail logic, anti-singularity, etc.) while adding more cli flags for customisation (e.g. trail length). Experimented and found a few presets for cool behaviour (more intertwined path, not instantly ejecting out into infinity). Planning to add a systematic –preset flag soon!
Added artificial damping (unrealistic but more pretty for live rendering) for TUI live mode, along with other QoL improvements and optimisations
Added colour averaging (direct average without squares or roots; seems to look more convincing!), presets (figure 8 and ephemeral twirls for now), along with other minor changes. Screenshot shows colour averaging; green and blue overlap become a more greyish colour.
Camera optimisations (more advanced smoothing and stricter body-within-frame regulation), plus more presets :D
Uploaded to Pypi! You can now use with pip install trisolaris.
Ships:
I finished Trisolaris! After fighting with camera zooming and clamping, I finally have a visually smooth and cohesive real-time TUI sim of three bodies, in three glorious, distance-scaled colours, in braille. After confirming renders, saving, and infinite-brute-force methods work, I updated README with screenshots and uploaded to PyPi. Hope you like it; it’s available with pip install trisolaris (or other package managers, e.g. uv tool install trisolaris)....
|
1792878558.161658
|
1793742558.161658
|
|
38010
|
Nara.io by @gusin9113 | Stardance
|
gusin9113
|
1
|
38.0
|
212
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T18:19:42Z", "hours": 38.0, "multiplier": 6.73, "payout": 212, "blessing": "neutral", "text": "A performant diep.io clone written in Rust! Allows custom scripting through Lua. Currently supports the ‘Basic’ tank, and upgrades as you destroy shapes and other tanks!", "repo": "https://github.com/gurmehar-singh-2009/nara.io", "demo": "https://page.naraioserver.hackclub.app/"}]...
|
[{"post_id": 44270, "ts": "202 [{"post_id": 44270, "ts": "2026-08-09T22:14:57Z", "hours": 9.1622, "text": "Finalized a prototype game!! hey everyone, great news!! I have created the fundamental game!! I will post a link to play in a few days. additional dev logs will come with more info on what was developed with better documentation :)"}, {"post_id": 41576, "ts": "2026-08-05T21:25:49Z", "hours": 3.6733, "text": "general devlog - made a Home Screen, added a dark theme, and did some work on the server. hey everyone, attached are images for you to see! a lot of the work was on the server so this is as much as I can show. attributions to @Gideonthegreat for the banner used in the Home Screen!"}, {"post_id": 40480, "ts": "2026-08-04T01:20:21Z", "hours": 3.4444, "text": "server devlog #3 - completed the packet and server foundation! I worked on the network stuff and the server stuff. I still have to optimize my SoA setup to be ergonomic to work with. it was sort of rushed but all-in-all good progress. there were also some rewrites of core stuff (for example - rolling my own packet logic (maybe not the smartest move but its okay)). sorry for the code screenshot, there isn’t much else to show as its mostly backend stuff."}, {"post_id": 40045, "ts": "2026-08-03T12:20:03Z", "hours": 1.8822, "text": "server devlog #2 - Lua integration complete! hey everyone. for now I have finished all the Lua bs I wanted to do. it now supports events and commands! as well as the ability to spawn ingame entities. you can also change the values of entities at runtime to change how tanks look/behave!"}, {"post_id": 39735, "ts": "2026-08-02T21:55:21Z", "hours": 1.9658, "text": "server devlog #1 - Lua integration + writing a spatial hash. hey everyone! apparently my last project didnt get any stardust because I didnt devlog (and some people being unreasonable in their feedback). so here we go! over the past 6 hours (hackatime genuinely sucks - cant record my hours properly) I have worked on integrating Lua into my server. this is for runtime modification and future plugin support. I also developed a spatial hash following Teschner’s Spatial Hashing algorithm. I dont know how well this post will fair and I dont even know how to get a newline character in these posts, so I will cut it short for now. if you want I can always go more in depth in the comments - just ask! :)"}, {"post_id": 38227, "ts": "2026-07-31T15:00:38Z", "hours": 1.3275, "text": "Client prototype complete! Shifting focus to the server and networking system."}, {"post_id": 37358, "ts": "2026-07-30T00:43:28Z", "hours": 16.9142, "text": "Created initial skeleton for project. check out the GitHub! Attached is a render demo to test wgpu!"}]...
|
Title: Nara.io by @gusin9113 | Stardance
Devlogs: Title: Nara.io by @gusin9113 | Stardance
Devlogs:
Created initial skeleton for project. check out the GitHub! Attached is a render demo to test wgpu!
Client prototype complete! Shifting focus to the server and networking system.
server devlog #1 - Lua integration + writing a spatial hash. hey everyone! apparently my last project didnt get any stardust because I didnt devlog (and some people being unreasonable in their feedback). so here we go! over the past 6 hours (hackatime genuinely sucks - cant record my hours properly) I have worked on integrating Lua into my server. this is for runtime modification and future plugin support. I also developed a spatial hash following Teschner’s Spatial Hashing algorithm. I dont know how well this post will fair and I dont even know how to get a newline character in these posts, so I will cut it short for now. if you want I can always go more in depth in the comments - just ask! :)
server devlog #2 - Lua integration complete! hey everyone. for now I have finished all the Lua bs I wanted to do. it now supports events and commands! as well as the ability to spawn ingame entities. you can also change the values of entities at runtime to change how tanks look/behave!
server devlog #3 - completed the packet and server foundation! I worked on the network stuff and the server stuff. I still have to optimize my SoA setup to be ergonomic to work with. it was sort of rushed but all-in-all good progress. there were also some rewrites of core stuff (for example - rolling my own packet logic (maybe not the smartest move but its okay)). sorry for the code screenshot, there isn’t much else to show as its mostly backend stuff.
general devlog - made a Home Screen, added a dark theme, and did some work on the server. hey everyone, attached are images for you to see! a lot of the work was on the server so this is as much as I can show. attributions to @Gideonthegreat for the banner used in the Home Screen!
Finalized a prototype game!! hey everyone, great news!! I have created the fundamental game!! I will post a link to play in a few days. additional dev logs will come with more info on what was developed with better documentation :)
Ships:
A performant diep.io clone written in Rust! Allows custom scripting through Lua. Currently supports the ‘Basic’ tank, and upgrades as you destroy shapes and other tanks!...
|
1792990626.022523
|
1793077026.022523
|
|
47889
|
sorting algs by @Lumethra | Stardance
|
Lumethra
|
1
|
16.0
|
212
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T19:32:31Z", "hours": 16.0, "multiplier": 13.53, "payout": 212, "blessing": "neutral", "text": "A 3d sorting algorithm visualizer with NextJS and ThreeJS. Also its made with luve and happiness.", "repo": "https://github.com/Lumethra/sorting-algs", "demo": "https://lumethra-sorting-algs.vercel.app/"}]...
|
[{"post_id": 73291, "ts": "202 [{"post_id": 73291, "ts": "2026-09-24T19:30:47Z", "hours": 0.4911, "text": "I wrote my readme in this session, so nothing really to say. It was just typing typing typing and finishing this beautiful readme to be able to submit this project."}, {"post_id": 73279, "ts": "2026-09-24T18:57:15Z", "hours": 0.4069, "text": "Implemented pause logic. I implemented pause logic and added an indicator, which shows, which sorting algorithm is currently active. The pause logic was quite painful, cause it just didnt want to stop. Neither with break, nor with return. After a long long long trouble shooting session, I found out, that I forgot .current and it just wont detect correctly, what a stupid bug to troubleshoot 20 min for. Also I fixed an edge case in the demo vid xD"}, {"post_id": 73266, "ts": "2026-09-24T18:19:33Z", "hours": 2.58, "text": "FINALLYYYY Today was the final coding session. I finally got the UI right and am okay with it. Its not the best, but its acceptable. I decided to only use icons, to keep it clean, but I ran into the problem, that the icons arent clear enough to showcase the specific sorting algorithm. So I decided on making a tooltip. But the build in HTML tooltip is too ugly and the delay is annoying. I did some research and found a W3Schools tutorial, they are the goat ( here it is ). I didnt expect front end being so time intensive, but I did need to adjust every value so it looks good, which is very hard to do :(. Ah, I also fixed the bug that when there is the minimal amount of pillars, it will be weird while shuffling (that wasnt proper english). Also the icons changes depending if we are shuffling or sorting and the disables and reinables, which is cool. Uhh, I remembered sth, I need to implement canceling while sorting. Also the vid is one fix old, i did fix the typo in the sorting alg."}, {"post_id": 72326, "ts": "2026-09-22T17:49:27Z", "hours": 1.4453, "text": "Thats enough, Ima do CSS tomorrow. Today I added a slider style and 2 other sliders for the shuffling and sorting speed. Then I hid those 2 and the remove and adding pillar buttons. Also added some CSS for flex, justify content, space between, to seperate the drop down, which I added too. I tried to add a scrolling drop down thing, but failed, uhh, I also adjusted the pillar speed and camera angle. Also I found out, that I can call functions from an array, so I can store a function in an array and then call it like that, thats weird, but also huge. Dont wanna write too much today, cause I still have stuff to do. Ah, also added prevention of shuffling while sorting."}, {"post_id": 71209, "ts": "2026-09-20T13:27:14Z", "hours": 1.2819, "text": "Slider!! Today I added a slider that controls the adding and removing of pillars. I had some minor problems. (No, they were huge, but I feel better saying that they were minor ). First of all, I needed to figure out how to set default values. Normally its just value=””, but this doesnt work for a input type range. After some research I found out that its simply defaultValue, I feel dumb. Then I tried to add/remove pillars with useEffect and monitor the changes of the slider. This worked, but also didnt. I needed to manually update the pillars. It didnt do it automatically. Then my brain suggested something genius. Using onChange. But now I need to do an extra function for it. I thought, maybe I use a while loop once. While the number array is smaller run add function and while its bigger, the remove function. This was uhh, not that good, because it somehow resulted into an infinite while loop, because js is asynchronous. I also tried with a for loop. This threw the error, that I set the 2 useState too often. After some experimenting I ended up with my current solution. I also added 2 useState variables for the sorting delay and shuffling delay. I am still searching for a great mathematical, anti-proportional, linear function to adjust it corresponding to the pillars count. Ahh and I also updated the camera adjusting logic a bit."}, {"post_id": 70217, "ts": "2026-09-18T18:42:46Z", "hours": 1.0872, "text": "HOLY WAS THIS A STRUGGLE !! In this session I implemented adding and removing numbers for a slider in the future (hopefully tomorrow). THIS WAS A PAIN. Especially the camera handling. The very very basic adding and removing function was quite easy, since its only adding numbers or splicing numbers from the array (stack overflow my goat). The camera thing was quite hard though. When I add enough numbers it could make the pillars taller than the viewheight, making them sticking “off screen”. The fix was zooming out. But the fix on stack overflow needed to let it be a JSX element, which somehow didnt work. Finding the fix was one problem. The other problem is, that after finding the fix, it still didnt work and the camera “fell” down. After a long debugging session with various console.logs, I finally found the problem and it was one of the stupid ones. I used z, where it should have been y, thats dumb, but eyy, here we go. There were also a few other bugs, like having an infinite while loop when only having one pillar and shuffling. This was fixed by making the minimum number 2. The other bug was, weird camera behaviors happen, when reducing the number while its shuffled. Fixing it with an instant sort before reducing the number of pillars was my approach. Ya, that was about it. I am done for today."}, {"post_id": 70112, "ts": "2026-09-18T14:17:37Z", "hours": 1.1447, "text": "Better Shuffling logic!!! Before the refinement of the shuffling logic today I just simply randomized the numbers in the array, so that there are new numbers. That introduced one problem, actually two. Numbers could dupe!! I tried to fix it while using numbers with one decimal. The other problem was I could not add an animation anywhere. This is why I decided to make a brand new shuffling logic today. I first tried to fix the duping problem, by checking if this number already exists. This took a while, because I need to figure out how to only watch an array to a specific point, to ignore the upcoming numbers. This resulted in a growing or shrinking animation, which wasnt what I wanted. Then I thought, maybe I can shuffle in another way. Not by changing the value, rather by swapping numbers randomly. Just like in a deck of cards. So I loop through each digit and randomly choose a number in the whole array and then swapping those. This ensures every place got changed. Now there was another problem. It sometimes changed with it self causing it not to do anything. This was fixed by adding a while loop which generates new positions if the position is the own position. While writing this devlog I also thought of another problem. When the total count of numbers is very low, this shuffling method might not shuffle it enough, so I am looping it 2 times, if there are less then 10 numbers in it. Ya, thats about it. Now lets get to the slider which increases the blocks."}, {"post_id": 67381, "ts": "2026-09-13T14:07:06Z", "hours": 1.6225, "text": "Finally something after a long time. I was on vacation during that time, so I needed to use some time to understand what I have done before that. Then I implemented another sorting algorithm!! Selection Sort!! If you take a look inside my commits, you can see it being committed. After implementing selection sort I took a small break and didnt devlog, cause it didnt even took that long. After the break I decided to add a little highlighting animation, that changes the color of the pillars, that are being swapped. That took waay longer that expected, but was the easiest thing to do. I just had to save the 2 values being swapped and somehow pass it inside and get the colors changed. After the highlighting, I decided its time for another sorting alg. The Insertion Sort. That somehow took longer that selection sort. Due to it being almost the exact opposite of bubble sort, I always fell back to it. While researching for insertion sort, I found this great website and quite liked its finishing animation. I also felt that the selecting animation is kinda off for insertion sort. It shouldnt be 2 pillars that are selected. It should be 3 or 1, since one pillar is inserted between 2 other ones and not 2 pillars being swapped. So I made a highlighting version with only one pillar being highlighted and created an if statement of doom inside the meshStandartMaterial. I thought this version was also better for bubble sort than the selection one and switched it too. Ya, that was all of it, I think, Have a great day though :)"}, {"post_id": 48929, "ts": "2026-08-17T14:21:47Z", "hours": 1.9594, "text": "AHHHHHHHHHHHHHHHHHHHHHH Sorting algorithm was made today. I decided on the most basic bubble sort. It is basically just 2 nested for-loops. This wikipedia article ( https://en.wikipedia.org/wiki/Bubble_sort ) has a great code example for it. It was relative easy. But the hard part was to get the animation going. The second part of the vid shows how it was without the fix for the animation. Finding out what the error was, was the first major problem. Fixing it was also hard, because I needed to save the target position after the box was created. This doesnt work, because you cannot call things after a return. Then after a good half hour of struggling and no progress, I asked my father for help. He is a full time developer aaand I hoped, that we could fix this together. He did gave some good calls, but the coding is still done by myself. After some together struggling, that lasted around 30 to 40 min, he proposed something genius. Save a version of the array of numbers, before every sorting step. That meant we need to compare the 2 arrays to get the difference and how the numbers got moved. I then said we could use some complicated for loops and then comparing stuff. He smiled and let me do. After some programming it was finally done and worked. But it wasnt optimized at all and was a bit laggy. Then he couldnt hold on anymore, laughed and told me that there is a dedicated js function just for that. I almost crashed out . Ya, that was todays session. I only implemented the dedicated js function instead of that. Ahh and before asking my father I also found out that js async is weird and that we need to use useEffect, kinda an event listener to see when the useState value changes. Ya, now that was it. See u later or tmrw."}, {"post_id": 48190, "ts": "2026-08-16T14:16:24Z", "hours": 1.0175, "text": "Shuffle mechanism Today was very successful day. The two major breakthroughs are creating the boxes dynamically and shuffle the height by math.random. I am happy that I remembered, that I could use useState to make an array and use the Array.prototype.map() function to simultaneously create the different boxes. And I can change the order of the boxes with changing the order of the components in the array, sooooo, that should be quite easy to archive. The random shuffle thingi was also quite successful. I just Math.random’ed some value and floor it to 2 decimals. Then I do that for every place of the numbers array and set it as new numbers array. This will update the numbers array, because of useState and let React-Three-Fiber rerender the boxes, resulting in a shuffling. The sorting will need an async function though, or else it will be instant sorting, which isnt the goal of this sorting thing. Enough yap, back to coding, eventually, maybe."}, {"post_id": 47505, "ts": "2026-08-15T13:45:14Z", "hours": 1.2922, "text": "After messing around abit and finding out that it is possible to have multiple meshes, I finally started with the actual project and made a Box func. While making it I decided on doing it with an Interface to be able to learn that (the whole point of this proj was to learn ThreeJS and NextJS). This Box func can be reused and the properties of this box can also be parsed inside. Soo every Box is the same and makes animating easier. I also added a simple moving animation. Then the quest was to level the boxes on the bottom. After a whole 5 min of struggling, I found a random post saying I could do scale / 2, which also worked. The moving the box was the hard part, because NextJS requires me to use useState, or else it wont get updated. This took me very long, very very very long to get right. The moving seems abit laggy in the vid, but in real life its smooth, i dunno why, but ya. The last part, was centering this whole thing, because the camera always points to [0, 0, 0] which is strange, but whatever, so i needed to move the boxes collectively somewhere else. So I tried alot of stuff, but finally found out that groups have props too, so I can group them and move them to the left and down. This was great !! Later I need to find out how to do this automatically, but thats not present-me problem, its a future-me problem."}, {"post_id": 47096, "ts": "2026-08-14T18:50:47Z", "hours": 1.3286, "text": "First devlog My friend @Leon gave me this idea to work with ThreeJS in NextJS, so I can get familiar with both at the same time. And I said, fine whatever. I had the idea to do a sorting algorithm showcaser with pillars of different heights. And code different sorting methods to sort these pillars. Soo I created a Next instance like my personal site aaaand messed up. So I had to delete it and install again, WITHOUT TailwindCSS. Finally having a working NextJS instance I installed ThreeJS, but then I ran into the problem that ThreeJS didnt like pnpm, soo I reinstalled the whole shit with npm, which obviously didnt work. So I debugged the whole shit and every reddit post and stackoverflow post said to reinstall it again, so the installer cleanly installs the JSX module that was missing, which it didnt. So I decided to just paste the whole error message into google and there it was. The holy stackoverflow post that gave me a command to reinstall the dependencies and advised me to reload my vscode window to prevent cache. THIS WORKED!!! My next task was to read and follow the React Three Fiber docs, which is threejs but in better for react, so also for nextjs. I followed it (which was very hard, since its written unclearly, but I think when you know the normal threejs it should be fine, which I obviously am not familiar with) and after some time got an overall idea how this thing works. Then I found a task in this doc and it is to create a spinning cube. I took it seriously and made it todays goal. And here we are. To be fair, it was okay to finish, since there was already a sample code written in vite or whatever it was. I just needed to rewrite that for my nextjs instance. Ya that was todays progress. I think when I got the motivation to continue later, it will be waay easier to do, since I know the basics now. Holy yap, bye, see u later, maybe, well, bye"}]...
|
Title: sorting algs by @Lumethra | Stardance
Devl Title: sorting algs by @Lumethra | Stardance
Devlogs:
First devlog My friend @Leon gave me this idea to work with ThreeJS in NextJS, so I can get familiar with both at the same time. And I said, fine whatever. I had the idea to do a sorting algorithm showcaser with pillars of different heights. And code different sorting methods to sort these pillars. Soo I created a Next instance like my personal site aaaand messed up. So I had to delete it and install again, WITHOUT TailwindCSS. Finally having a working NextJS instance I installed ThreeJS, but then I ran into the problem that ThreeJS didnt like pnpm, soo I reinstalled the whole shit with npm, which obviously didnt work. So I debugged the whole shit and every reddit post and stackoverflow post said to reinstall it again, so the installer cleanly installs the JSX module that was missing, which it didnt. So I decided to just paste the whole error message into google and there it was. The holy stackoverflow post that gave me a command to reinstall the dependencies and advised me to reload my vscode window to prevent cache. THIS WORKED!!! My next task was to read and follow the React Three Fiber docs, which is threejs but in better for react, so also for nextjs. I followed it (which was very hard, since its written unclearly, but I think when you know the normal threejs it should be fine, which I obviously am not familiar with) and after some time got an overall idea how this thing works. Then I found a task in this doc and it is to create a spinning cube. I took it seriously and made it todays goal. And here we are. To be fair, it was okay to finish, since there was already a sample code written in vite or whatever it was. I just needed to rewrite that for my nextjs instance. Ya that was todays progress. I think when I got the motivation to continue later, it will be waay easier to do, since I know the basics now. Holy yap, bye, see u later, maybe, well, bye
After messing around abit and finding out that it is possible to have multiple meshes, I finally started with the actual project and made a Box func. While making it I decided on doing it with an Interface to be able to learn that (the whole point of this proj was to learn ThreeJS and NextJS). This Box func can be reused and the properties of this box can also be parsed inside. Soo every Box is the same and makes animating easier. I also added a simple moving animation. Then the quest was to level the boxes on the bottom. After a whole 5 min of struggling, I found a random post saying I could do scale / 2, which also worked. The moving the box was the hard part, because NextJS requires me to use useState, or else it wont get updated. This took me very long, very very very long to get right. The moving seems abit laggy in the vid, but in real life its smooth, i dunno why, but ya. The last part, was centering this whole thing, because the camera always points to [0, 0, 0] which is strange, but whatever, so i needed to move the boxes collectively somewhere else. So I tried alot of stuff, but finally found out that groups have props too, so I can group them and move them to the left and down. This was great !! Later I need to find out how to do this automatically, but thats not present-me problem, its a future-me problem.
Shuffle mechanism Today was very successful day. The two major breakthroughs are creating the boxes dynamically and shuffle the height by math.random. I am happy that I remembered, that I could use useState to make an array and use the Array.prototype.map() function to simultaneously create the different boxes. And I can change the order of the boxes with changing the order of the components in the array, sooooo, that should be quite easy to archive. The random shuffle thingi was also quite successful. I just Math.random’ed some value and floor it to 2 decimals. Then I do that for every place of the numbers array and set it as new numbers array. This will update the numbers array, because of useState and let React-Three-Fiber rerender the boxes, resulting in a shuffling. The sorting will need an async function though, or else it will be instant sorting, which isnt the goal of this sorting thing. Enough yap, back to coding, eventually, maybe.
AHHHHHHHHHHHHHHHHHHHHHH Sorting algorithm was made today. I decided on the most basic bubble sort. It is basically just 2 nested for-loops. This wikipedia article ( https://en.wikipedia.org/wiki/Bubble_sort ) has a great code example for it. It was relative easy. But the hard part was to get the animation going. The second part of the vid shows how it was without the fix for the animation. Finding out what the error was, was the first major problem. Fixing it was also hard, because I needed to save the target position after the box was created. This doesnt work, because you cannot call things after a return. Then after a good half hour of struggling and no progress, I asked my father for help. He is a full time developer aaand I hoped, that we could fix this together. He did gave some good calls, but the coding is still done by myself. After some together struggling, that lasted around 30 to 40 min, he proposed something genius. Save a version of the array of numbers, before every sorting step. That meant we need to compare the 2 arrays to get the difference and how the numbers got moved. I then said we could use some complicated for loops and then comparing stuff. He smiled and let me do. After some programming it was finally done and worked. But it wasnt optimized at all and was a bit laggy. Then he couldnt hold on anymore, laughed and told me that there is a dedicated js function just for that. I almost crashed out . Ya, that was todays session. I only implemented the dedicated js function instead of that. Ahh and before asking my father I also found out that js async is weird and that we need to use useEffect, kinda an event listener to see when the useState value changes. Ya, now that was it. See u later or tmrw.
Finally something after a long time. I was on vacation during that time, so I needed to use some time to understand what I have done before that. Then I implemented another sorting algorithm!! Selection Sort!! If you take a look inside my commits, you can see it being committed. After implementing selection sort I took a small break and didnt devlog, cause it didnt even took that long. After the break I decided to add a little highlighting animation, that changes the color of the pillars, that are being swapped. That took waay longer that expected, but was the easiest thing to do. I just had to save the 2 values being swapped and somehow pass it inside and get the colors changed. After the highlighting, I decided its time for another sorting alg. The Insertion Sort. That somehow took longer that selection sort. Due to it being almost the exact opposite of bubble sort, I always fell back to it. While researching for insertion sort, I found this great website and quite liked its finishing animation. I also felt that the selecting animation is kinda off for insertion sort. It shouldnt be 2 pillars that are selected. It should be 3 or 1, since one pillar is inserted between 2 other ones and not 2 pillars being swapped. So I made a highlighting version with only one pillar being highlighted and created an if statement of doom inside the meshStandartMaterial. I thought this version was also better for bubble sort than the selection one and switched it too. Ya, that was all of it, I think, Have a great day though :)
Better Shuffling logic!!! Before the refinement of the shuffling logic today I just simply randomized the numbers in the array, so that there are new numbers. That introduced one problem, actually two. Numbers could dupe!! I tried to fix it while using numbers with one decimal. The other problem was I could not add an animation anywhere. This is why I decided to make a brand new shuffling logic today. I first tried to fix the duping problem, by checking if this number already exists. This took a while, because I need to figure out how to only watch an array to a specific point, to ignore the upcoming numbers. This resulted in a growing or shrinking animation, which wasnt what I wanted. Then I thought, maybe I can shuffle in another way. Not by changing the value, rather by swapping numbers randomly. Just like in a deck of cards. So I loop through each digit and randomly choose a number in the whole array and then swapping those. This ensures every place got changed. Now there was another problem. It sometimes changed with it self causing it not to do anything. This was fixed by adding a while loop which generates new positions if the position is the own position. While writing this devlog I also thought of another problem. When the total count of numbers is very low, this shuffling method might not shuffle it enough, so I am looping it 2 times, if there are less then 10 numbers in it. Ya, thats about it. Now lets get to the slider which increases the blocks.
HOLY WAS THIS A STRUGGLE !! In this session I implemented adding and removing numbers for a slider in the future (hopefully tomorrow). THIS WAS A PAIN. Especially the camera handling. The very very basic adding and removing function was quite easy, since its only adding numbers or splicing numbers from the array (stack overflow my goat). The camera thing was quite hard though. When I add enough numbers it could make the pillars taller than the viewheight, making them sticking “off screen”. The fix was zooming out. But the fix on stack overflow needed to let it be a JSX element, which somehow didnt work. Finding the fix was one problem. The other problem is, that after finding the fix, it still didnt work and the camera “fell” down. After a long debugging session with various console.logs, I finally found the problem and it was one of the stupid ones. I used z, where it should have been y, thats dumb, but eyy, here we go. There were also a few other bugs, like having an infinite while loop when only having one pillar and shuffling. This was fixed by making the minimum number 2. The other bug was, weird camera behaviors happen, when reducing the number while its shuffled. Fixing it with an instant sort before reducing the number of pillars was my approach. Ya, that was about it. I am done for today.
Slider!! Today I added a slider that controls the adding and removing of pillars. I had some minor problems. (No, they were huge, but I feel better saying that they were minor ). First of all, I needed to figure out how to set default values. Normally its just value=””, but this doesnt work for a input type range. After some research I found out that its simply defaultValue, I feel dumb. Then I tried to add/remove pillars with useEffect and monitor the changes of the slider. This worked, but also didnt. I needed to manually update the pillars. It didnt do it automatically. Then my brain suggested something genius. Using onChange. But now I need to do an extra function for it. I thought, maybe I use a while loop once. While the number array is smaller run add function and while its bigger, the remove function. This was uhh, not that good, because it somehow resulted into an infinite while loop, because js is asynchronous. I also tried with a for loop. This threw the error, that I set the 2 useState too often. After some experimenting I ended up with my current solution. I also added 2 useState variables for the sorting delay and shuffling delay. I am still searching for a great mathematical, anti-proportional, linear function to adjust it corresponding to the pillars count. Ahh and I also updated the camera adjusting logic a bit.
Thats enough, Ima do CSS tomorrow. Today I added a slider style and 2 other sliders for the shuffling and sorting speed. Then I hid those 2 and the remove and adding pillar buttons. Also added some CSS for flex, justify content, space between, to seperate the drop down, which I added too. I tried to add a scrolling drop down thing, but failed, uhh, I also adjusted the pillar speed and camera angle. Also I found out, that I can call functions from an array, so I can store a function in an array and then call it like that, thats weird, but also huge. Dont wanna write too much today, cause I still have stuff to do. Ah, also added prevention of shuffling while sorting.
FINALLYYYY Today was the final coding session. I finally got the UI right and am okay with it. Its not the best, but its acceptable. I decided to only use icons, to keep it clean, but I ran into the problem, that the icons arent clear enough to showcase the specific sorting algorithm. So I decided on making a tooltip. But the build in HTML tooltip is too ugly and the delay is annoying. I did some research and found a W3Schools tutorial, they are the goat ( here it is ). I didnt expect front end being so time intensive, but I did need to adjust every value so it looks good, which is very hard to do :(. Ah, I also fixed the bug that when there is the minimal amount of pillars, it will be weird while shuffling (that wasnt proper english). Also the icons changes depending if we are shuffling or sorting and the disables and reinables, which is cool. Uhh, I remembered sth, I need to implement canceling while sorting. Also the vid is one fix old, i did fix the typo in the sorting alg.
Implemented pause logic. I implemented pause logic and added an indicator, which shows, which sorting algorithm is currently active. The pause logic was quite painful, cause it just didnt want to stop. Neither with break, nor with return. After a long long long trouble shooting session, I found out, that I forgot .current and it just wont detect correctly, what a stupid bug to troubleshoot 20 min for. Also I fixed an edge case in the demo vid xD
I wrote my readme in this session, so nothing really to say. It was just typing typing typing and finishing this beautiful readme to be able to submit this project.
Ships:
A 3d sorting algorithm visualizer with NextJS and ThreeJS. Also its made with luve and happiness....
|
1793004563.9530814
|
1793090963.9530814
|
|
23413
|
Goa by @immaturegoat | Stardance
|
immaturegoat
|
1
|
12.0
|
211
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T17:47:09Z", "hours": 12.0, "multiplier": 17.54, "payout": 211, "blessing": "neutral", "text": "Goa is a programming language made with javascript. It is designed to be lightweight and expression-based. It has a syntax inspired by Lisp, and focuses entirely on numerical computation. I tried to make it super easy to learn, and the error messages should be easy to understand. I’ll keep working on this in the future though.", "repo": "https://github.com/octaviustheking/goa", "demo": "https://goalang.vercel.app/"}]...
|
[{"post_id": 15118, "ts": "202 [{"post_id": 15118, "ts": "2026-06-24T15:48:13Z", "hours": 3.7797, "text": "Devlog 8 - Goa 1.0 The first full release of my coding language i’m tired boss image here Wow, I’m never writing documentation again. This sucks. Anyway, lots of new things. First, bug fixes Added RAND and ABS I don’t even know how this happened. I swear I added this, and it was in past documentation, but it’s not just in the code. I had to quickly write them in. More parser issues More complex comparators like <= and >= were being split apart, and so it wasn’t being understood. I also had to rewrite the logic for IF and ELSE IF blocks. BASE returning NaN for bases above 10 Ok I’m sorry, but I’m too lazy to actually fix this. BASE will now just return an error if you try to convert a number past base 10. I want to keep Goa without any strings. New statements Logarithms The new LOG statement allows you to do logarithms for any base. Hooray! Trig statements I added SIN , COS , TAN , ARCSIN , ARCCOS , and ARCTAN statements. Should I call the last 3 ASIN , ACOS , and ATAN ? Let me know your thoughts. Rounding statements You can now use the ROUND statement to round to a certain number of decimal places. I also added FLOOR and CEIL functions. More random statements!! I added RANDFLOAT and RANDSIGN for generating random floats and generating a random sign (-1, 1), respectively. GCD and LCM pretty self explanatory Factorials Guess my old programs doing factorials are now useless…. Documentation I’m so exhausted reading through all of it. I’m done. I’m never writing any more documentation again. I hate writing error messages. I hate writing example programs. ARghh"}, {"post_id": 14087, "ts": "2026-06-23T02:20:31Z", "hours": 1.1175, "text": "Devlog 7 - Goa 0.9 Beta My coding language is now close to release! Try it out at: https://goalang.vercel.app In this update, I think I did a good amount of work on the language. I have added float support. Basically, for each variable, now instead of just storing a value, each variable also stores a type - integer or float. With this new type, we have some things to define. Firstly, I’m making Goa have strict typing. To convert between types, use the TOINT and the TOFLOAT statements. Goa also uses safe promotion, meaning calculations involving two integers will produce an integer, while calculations involving at least one float will always produce a float. New stuff!! New comparators!!! I can’t believe I didn’t include this earlier, but now here they are! The <= and the >= comparators! New changes and clarifications… (not as fun) The DIV statement now only returns integers. The EXP statement now only takes positive exponents and if your base is negative, only odd exponents. The BASE statement now only takes integer statements. New statements!!!! With the DIV statement now only returning integers, run the FDIV statement to return floats! Now that the EXP statement no longer takes negative exponents, run the ROOT statement to do roots! What’s next? For the 1.0 full release, I plan to add a lot of statements. I also want to add OR and AND statements… but that’s a little too much work for me. I don’t know, I’ll see. I’m planning on adding trig functions, more random functions, gcd and lcm, and more. I’ll see you guys later!"}, {"post_id": 14044, "ts": "2026-06-23T00:49:41Z", "hours": 1.2592, "text": "Devlog 6 - Documentation for my Coding language! visit the docs at: https://goalang.vercel.app/documentation.html Documentation for Goa is now complete. This is Goa 0.8 Beta, because I’ve also finished some final touches to Goa. Before the full release, I plan to add more comparators, floats, and more math functions. What i’ve added Smooth scroll Now when you use the left sidebar to navigate the documentation, the site smoothly scrolls to that section. Theme changes now save across the IDE and Documentation. Localstorage now saves theme choice, allowing your theme to be saved when switching pages and when reloading (which I think is kinda sick) Added a back to top button Once you scroll down a bit, a back to top button shows at the bottom right, allowing you to scroll all the way back up! (also, it has a pretty cool pop up animation) Changed formatting For the tag, I’ve added formatting making it stand out more from normal text! Lots of animations! I’ve added several hover animations for navigation links both on the sidebar and within the docs, animations for the back to top button, and a quick pop up animation when you first open up the docs! Unique scrollbar i made my own scrollbar I fixed the parser for the code now my nested commands work again heheheh"}, {"post_id": 13685, "ts": "2026-06-22T13:13:18Z", "hours": 2.3858, "text": "Devlog 5 omg i’m gonna literally combust Anyway, so for the past like 2 hours of coding, I’ve been working on my documentation. And I’ve got to say, it absolutely sucks. It’s like I’m writing an essay for my English class. I’m have like 20000 characters, so in like one day my html becomes the largest file here. Big sigh. I’m not even done yet T-T. The reason that I’m so pissed off is I found another bug that I can’t even explained what happened. Some issue in incrementing variables So in programming languages, if you want to change a variable by some amount you would run (I’m just gonna explain in pseudocode) x = x + 1 And this is what you would run (or x += 1 or x ++ or ++x but you get the idea). So in Goa, you would run SET (x ADD (x 1)) Basically, it sets the value of x to the sum of x and 1. However, when I run this, I get ERROR: Undefined variable: ADD . However, when I run SET (x ADD(x 1)) with no space between the ADD statement and the arguments, it works! I have no idea why I can put a space after the SET statement but not after the ADD ! I need to check through my tokenizer and parser to see where it is, but the closest issue I can think of is that my code is looking for the next character after the statement, not the next character after the first whitespace."}, {"post_id": 13206, "ts": "2026-06-21T17:08:32Z", "hours": 0.7325, "text": "Devlog 4 wow I feel like i’ve coded a lot today cuz im jet lagged Anyway, on to the actual devlog! If loops ACTUALLY fixed this time I noticed in the last devlog I posted an image of everything I worked on, like if loops, light mode, nested commands, etc. However, I realized that the output had 4 statements instead of 2. What happened was that the program produced both the outputs for the ELSE IF block AND the ELSE block. That’s now fixed by ensuring that blocks are skipped if the block above them is true. (Also something else I noticed in the screenshot was that the second line of the first IF block actually has an error - whoops, guess I suck at my OWN coding language) Also, I got bored and started working on the README It now has a description of the language, example code, and some examples of functions. I’m probably gonna work on it more later though. Favicon added There’s now an icon on the tab. I also renamed the code editor from “Goa Language” to “Goa IDE”; although IDE is an overstatement for something as basic as mines."}, {"post_id": 13100, "ts": "2026-06-21T13:04:59Z", "hours": 0.7594, "text": "Devlog 3 I have fixed major bugs concerning the basic workings of Goa. Attached below is a screenshot showing all the fixes and new additions in one program. First, nested commands now work. Fixing nested commands Commands like RETURN (BASE (MAX (MULT (ADD (INPUT SUB (INPUT 5)) EXP (2 3)) MIN (10 20)) 2)) now work! I had to add a recursive parser. The old system was based on string splitting, which does not work for nested commands, and caused the system to read nested commands as arguments instead of different commands. If commands now work When running If statements in Goa, an error would come out, saying that “handled is not defined.” This is because handled was being declared outside the scope of the function that it need to be in. However, if, else if, and else statements should now work. Return statements now return values on different lines I forgot to list this in the commit, but now when you use multiple RETURN statements (like in a while loop or printing out multiple values), each value will print on a different line in the output. Originally, each number would print on the same line, separated by a space. This happened even though I added “\\n” to the end of each number. I fixed this by changing the tag that held the output from to to hold pre-formatted text. Light mode added Hooray! Light mode now exists for anyone who wants to burn their eyes! I just chose the opposite color for every color on the page. However, I’m not sure if I like the idea of using white lines to divide sections instead of something like dark gray, as white seems like it stands out too much for being a divider. Other than that, I’m pretty proud of how it looks. I’m not sure if I added this in a previous devlog, but saving and loading works. You can now save to browser local storage, save to a .goa file on your drive, or load a .goa file :) Things to do in the future Firstly, obviously documentation. It is the last thing to go before the basic skeleton of the editor is done. Secondly, I want to add more functions to Goa. Thirdly, I am considering adding string and float compatibility, but I’m not sure yet. Fourthly, I need to save the user’s choice for light/dark mode to localstorage. Finally, just for fun, I want to solve a Codeforces problem with Goa (just to prove that it can work)."}, {"post_id": 13027, "ts": "2026-06-21T09:29:29Z", "hours": 1.2697, "text": "Devlog 2 I have finished coding the basic structure of the code. It uses parentheses in a lisp style, so the function is not connected to the parentheses. In the screenshot attached below, you can see a basic function that converts numbers into binary. Users will be able to add, multiply, divide, subtract, mod, abs, min, max, and use random numbers. There will also be while, for, and if loops. Comparators work, and comments use hashtags. I plan for Goa to basically act as a customizable calculator, as it only supports integers (I may add string support later). You can use it to automate boring actions ( cough like a binary worksheet in your Intro to Software Class). I’ve also added saving to localstorage and saving to files (it saves to a .goa file :)). Known Issues Nested commands do not work As of right now, simpler commands like RETURN (ADD (INPUT INPUT)) do work. However, long nested commands like RETURN (ADD (INPUT ADD (INPUT INPUT))) do not work. I am yet to find out why. Probably due to problem 3 (look below) If loops do not work For some reason, For and While loops work, but If loops don’t. I don’t know why yet. Commands that require only 1 argument throw back an error of needing 2, like ABS. RETURN doesn’t throw back and error, despite only needing 1 argument but using the same logic as the others. However, an error is thrown back once the RETURN statement gets really big, like RETURN (BASE (MAX (MULT (ADD (INPUT SUB (INPUT 5)) EXP (2 3)) MIN (10 20)) 2)). I’ll check it out later. Change theme has no functionality It’s not that it doesn’t work, I just haven’t implemented it yet :3"}, {"post_id": 12964, "ts": "2026-06-21T06:50:09Z", "hours": 0.9114, "text": "Devlog 1 I’ve been wanting to make a coding language for some time now. I want to make a language that can be easily learned. It’s not going to be that powerful, but I want it to basically allow anyone to repeat math functions. I have finished the basic outline of the UI. It was heavily influenced by the USACO IDE (as you can see in the screenshot below). It gives a basic outline to the features that I want to build. First, on the left half of the screen is the area where you can code. It is basically a big textarea input. For the input area, this is where people will put in inputs for the code. Same thing here, it is a textarea input. Finally, there is also an output area. Right now, there is just a placeholder, but that will change later. For the navbar at the top, there are 4 buttons. The first is a link to the documentation. I plan to build another website for the documentation, and I want it to be really easy to understand. Next is a “Save to browser” button that will save the code to localstorage. Next to that button is a “Save to file” button, which I plan to make the website download a .txt file to the computer. The “Load file” basically will allow users to upload code to the website. That’s really it for now, I’ll come back when I want to explain how I plan how the language will work!"}]...
|
Title: Goa by @immaturegoat | Stardance
Devlogs:
Title: Goa by @immaturegoat | Stardance
Devlogs:
Devlog 1 I’ve been wanting to make a coding language for some time now. I want to make a language that can be easily learned. It’s not going to be that powerful, but I want it to basically allow anyone to repeat math functions. I have finished the basic outline of the UI. It was heavily influenced by the USACO IDE (as you can see in the screenshot below). It gives a basic outline to the features that I want to build. First, on the left half of the screen is the area where you can code. It is basically a big textarea input. For the input area, this is where people will put in inputs for the code. Same thing here, it is a textarea input. Finally, there is also an output area. Right now, there is just a placeholder, but that will change later. For the navbar at the top, there are 4 buttons. The first is a link to the documentation. I plan to build another website for the documentation, and I want it to be really easy to understand. Next is a “Save to browser” button that will save the code to localstorage. Next to that button is a “Save to file” button, which I plan to make the website download a .txt file to the computer. The “Load file” basically will allow users to upload code to the website. That’s really it for now, I’ll come back when I want to explain how I plan how the language will work!
Devlog 2 I have finished coding the basic structure of the code. It uses parentheses in a lisp style, so the function is not connected to the parentheses. In the screenshot attached below, you can see a basic function that converts numbers into binary. Users will be able to add, multiply, divide, subtract, mod, abs, min, max, and use random numbers. There will also be while, for, and if loops. Comparators work, and comments use hashtags. I plan for Goa to basically act as a customizable calculator, as it only supports integers (I may add string support later). You can use it to automate boring actions ( cough like a binary worksheet in your Intro to Software Class). I’ve also added saving to localstorage and saving to files (it saves to a .goa file :)). Known Issues Nested commands do not work As of right now, simpler commands like RETURN (ADD (INPUT INPUT)) do work. However, long nested commands like RETURN (ADD (INPUT ADD (INPUT INPUT))) do not work. I am yet to find out why. Probably due to problem 3 (look below) If loops do not work For some reason, For and While loops work, but If loops don’t. I don’t know why yet. Commands that require only 1 argument throw back an error of needing 2, like ABS. RETURN doesn’t throw back and error, despite only needing 1 argument but using the same logic as the others. However, an error is thrown back once the RETURN statement gets really big, like RETURN (BASE (MAX (MULT (ADD (INPUT SUB (INPUT 5)) EXP (2 3)) MIN (10 20)) 2)). I’ll check it out later. Change theme has no functionality It’s not that it doesn’t work, I just haven’t implemented it yet :3
Devlog 3 I have fixed major bugs concerning the basic workings of Goa. Attached below is a screenshot showing all the fixes and new additions in one program. First, nested commands now work. Fixing nested commands Commands like RETURN (BASE (MAX (MULT (ADD (INPUT SUB (INPUT 5)) EXP (2 3)) MIN (10 20)) 2)) now work! I had to add a recursive parser. The old system was based on string splitting, which does not work for nested commands, and caused the system to read nested commands as arguments instead of different commands. If commands now work When running If statements in Goa, an error would come out, saying that “handled is not defined.” This is because handled was being declared outside the scope of the function that it need to be in. However, if, else if, and else statements should now work. Return statements now return values on different lines I forgot to list this in the commit, but now when you use multiple RETURN statements (like in a while loop or printing out multiple values), each value will print on a different line in the output. Originally, each number would print on the same line, separated by a space. This happened even though I added “\n” to the end of each number. I fixed this by changing the tag that held the output from to to hold pre-formatted text. Light mode added Hooray! Light mode now exists for anyone who wants to burn their eyes! I just chose the opposite color for every color on the page. However, I’m not sure if I like the idea of using white lines to divide sections instead of something like dark gray, as white seems like it stands out too much for being a divider. Other than that, I’m pretty proud of how it looks. I’m not sure if I added this in a previous devlog, but saving and loading works. You can now save to browser local storage, save to a .goa file on your drive, or load a .goa file :) Things to do in the future Firstly, obviously documentation. It is the last thing to go before the basic skeleton of the editor is done. Secondly, I want to add more functions to Goa. Thirdly, I am considering adding string and float compatibility, but I’m not sure yet. Fourthly, I need to save the user’s choice for light/dark mode to localstorage. Finally, just for fun, I want to solve a Codeforces problem with Goa (just to prove that it can work).
Devlog 4 wow I feel like i’ve coded a lot today cuz im jet lagged Anyway, on to the actual devlog! If loops ACTUALLY fixed this time I noticed in the last devlog I posted an image of everything I worked on, like if loops, light mode, nested commands, etc. However, I realized that the output had 4 statements instead of 2. What happened was that the program produced both the outputs for the ELSE IF block AND the ELSE block. That’s now fixed by ensuring that blocks are skipped if the block above them is true. (Also something else I noticed in the screenshot was that the second line of the first IF block actually has an error - whoops, guess I suck at my OWN coding language) Also, I got bored and started working on the README It now has a description of the language, example code, and some examples of functions. I’m probably gonna work on it more later though. Favicon added There’s now an icon on the tab. I also renamed the code editor from “Goa Language” to “Goa IDE”; although IDE is an overstatement for something as basic as mines.
Devlog 5 omg i’m gonna literally combust Anyway, so for the past like 2 hours of coding, I’ve been working on my documentation. And I’ve got to say, it absolutely sucks. It’s like I’m writing an essay for my English class. I’m have like 20000 characters, so in like one day my html becomes the largest file here. Big sigh. I’m not even done yet T-T. The reason that I’m so pissed off is I found another bug that I can’t even explained what happened. Some issue in incrementing variables So in programming languages, if you want to change a variable by some amount you would run (I’m just gonna explain in pseudocode) x = x + 1 And this is what you would run (or x += 1 or x ++ or ++x but you get the idea). So in Goa, you would run SET (x ADD (x 1)) Basically, it sets the value of x to the sum of x and 1. However, when I run this, I get ERROR: Undefined variable: ADD . However, when I run SET (x ADD(x 1)) with no space between the ADD statement and the arguments, it works! I have no idea why I can put a space after the SET statement but not after the ADD ! I need to check through my tokenizer and parser to see where it is, but the closest issue I can think of is that my code is looking for the next character after the statement, not the next character after the first whitespace.
Devlog 6 - Documentation for my Coding language! visit the docs at: https://goalang.vercel.app/documentation.html Documentation for Goa is now complete. This is Goa 0.8 Beta, because I’ve also finished some final touches to Goa. Before the full release, I plan to add more comparators, floats, and more math functions. What i’ve added Smooth scroll Now when you use the left sidebar to navigate the documentation, the site smoothly scrolls to that section. Theme changes now save across the IDE and Documentation. Localstorage now saves theme choice, allowing your theme to be saved when switching pages and when reloading (which I think is kinda sick) Added a back to top button Once you scroll down a bit, a back to top button shows at the bottom right, allowing you to scroll all the way back up! (also, it has a pretty cool pop up animation) Changed formatting For the tag, I’ve added formatting making it stand out more from normal text! Lots of animations! I’ve added several hover animations for navigation links both on the sidebar and within the docs, animations for the back to top button, and a quick pop up animation when you first open up the docs! Unique scrollbar i made my own scrollbar I fixed the parser for the code now my nested commands work again heheheh
Devlog 7 - Goa 0.9 Beta My coding language is now close to release! Try it out at: https://goalang.vercel.app In this update, I think I did a good amount of work on the language. I have added float support. Basically, for each variable, now instead of just storing a value, each variable also stores a type - integer or float. With this new type, we have some things to define. Firstly, I’m making Goa have strict typing. To convert between types, use the TOINT and the TOFLOAT statements. Goa also uses safe promotion, meaning calculations involving two integers will produce an integer, while calculations involving at least one float will always produce a float. New stuff!! New comparators!!! I can’t believe I didn’t include this earlier, but now here they are! The <= and the >= comparators! New changes and clarifications… (not as fun) The DIV statement now only returns integers. The EXP statement now only takes positive exponents and if your base is negative, only odd exponents. The BASE statement now only takes integer statements. New statements!!!! With the DIV statement now only returning integers, run the FDIV statement to return floats! Now that the EXP statement no longer takes negative exponents, run the ROOT statement to do roots! What’s next? For the 1.0 full release, I plan to add a lot of statements. I also want to add OR and AND statements… but that’s a little too much work for me. I don’t know, I’ll see. I’m planning on adding trig functions, more random functions, gcd and lcm, and more. I’ll see you guys later!
Devlog 8 - Goa 1.0 The first full release of my coding language i’m tired boss image here Wow, I’m never writing documentation again. This sucks. Anyway, lots of new things. First, bug fixes Added RAND and ABS I don’t even know how this happened. I swear I added this, and it was in past documentation, but it’s not just in the code. I had to quickly write them in. More parser issues More complex comparators like <= and >= were being split apart, and so it wasn’t being understood. I also had to rewrite the logic for IF and ELSE IF blocks. BASE returning NaN for bases above 10 Ok I’m sorry, but I’m too lazy to actually fix this. BASE will now just return an error if you try to convert a number past base 10. I want to keep Goa without any strings. New statements Logarithms The new LOG statement allows you to do logarithms for any base. Hooray! Trig statements I added SIN , COS , TAN , ARCSIN , ARCCOS , and ARCTAN statements. Should I call the last 3 ASIN , ACOS , and ATAN ? Let me know your thoughts. Rounding statements You can now use the ROUND statement to round to a certain number of decimal places. I also added FLOOR and CEIL functions. More random statements!! I added RANDFLOAT and RANDSIGN for generating random floats and generating a random sign (-1, 1), respectively. GCD and LCM pretty self explanatory Factorials Guess my old programs doing factorials are now useless…. Documentation I’m so exhausted reading through all of it. I’m done. I’m never writing any more documentation again. I hate writing error messages. I hate writing example programs. ARghh
Ships:
Goa is a programming language made with javascript. It is designed to be lightweight and expression-based. It has a syntax inspired by Lisp, and focuses entirely on numerical computation. I tried to make it super easy to learn, and the error messages should be easy to understand. I’ll keep working on this in the future though....
|
1792993912.2407684
|
1793080312.2407684
|
|
35188
|
2D Printer Simulation by @sircheetodust | Stardanc 2D Printer Simulation by @sircheetodust | Stardance...
|
sircheetodust
|
1
|
17.0
|
210
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-21T22:57:35Z", "hours": 17.0, "multiplier": 12.72, "payout": 210, "blessing": "neutral", "text": "I built a 2D printer simulation in Python that simulates a pen plotter type thing from start to finish. It has an SVG slicer that converts vector graphics into a custom .banana printer instruction format, and a printer capable of reading those instructions and printing them out live on your screen! The biggest challenges were designing my own printer instruction language, generating printable paths from SVGs, and implementing polygon infill so the printed result closely matches the original image. Another challenge was making the printed output persist on the virtual print bed, since Pygame generally requiring the entire scene to be redrawn every frame. When trying it out, make sure that the image you are attempting to slice is in the .svg format and prefered to be under 10 kb, otherwise expect long slicing times… Thanks for looking at my lil project =D", "repo": "https://github.com/thecheetoman/2D-printer-simulation", "demo": "https://github.com/thecheetoman/2D-printer-simulation/releases/tag/Latest"}]...
|
[{"post_id": 32509, "ts": "202 [{"post_id": 32509, "ts": "2026-07-21T18:51:57Z", "hours": 1.6278, "text": "Quick slicer update I added a lil thing for you to be able to set a custom print speed. I also added integration and a fallback system to the printer. guh"}, {"post_id": 31482, "ts": "2026-07-19T21:42:57Z", "hours": 1.7031, "text": "im so close to finishing this! Slicer stuff I refactored the slicer scripts and then made a cool tkinter GUI. You can move around your SVG(Sadly you cant print multiple at the same time). Printer stuff Using tkinter, I added a load button so you can load your .banana files way faster than using command line arguments. Whats next? Better sprites for 2d printer app Get ready to ship(pls get me out of the depths of python) more stardance logos!!! =D"}, {"post_id": 30982, "ts": "2026-07-19T00:19:53Z", "hours": 2.5211, "text": "GUI time! I tried to fix my slicer issues, but that was a waste of time. I then fixed an issue present in the older versions of the slicer where the printer would begin extruding for infills before it reached the X Y coordinate of where it should start infilling. The slicer struggles to do really complex images howver, but I am okay with that because even being able to slice was a big challenge for me to complete. Whats next? Basic GUI Move around print Allow user to load custom SVG’s Quote of the devlog guh…"}, {"post_id": 30428, "ts": "2026-07-17T23:23:30Z", "hours": 2.2728, "text": "Bottom tier 2D printer moment The slicer is absolutely NOT cooperating. I made two versions, each of which are better suited to different scenarios. SlicerV2(left logo) Good when across the x axis, there are multiple points SlicerV3(right logo) Good when there are multiple points along y axis. They both are kinda bad, but I did optimize the slicer a bit. When from 35 elements/sec to around 25 elements/sec. Slicing still kinda takes a while though send food pls, im hungry"}, {"post_id": 29233, "ts": "2026-07-16T00:38:28Z", "hours": 0.2847, "text": "it made stardance logo(trust i should get an award for this) This was a result of TONS of tuning(took like 50 min, but ig hackatime doesn’t support my slicer =p ) The printer needs some work on when to start and stop extruding. im not gonna put a whats next here, i made like 3 devlogs today 😭"}, {"post_id": 29167, "ts": "2026-07-15T21:40:32Z", "hours": 0.9981, "text": "my 2d printer finally printed its first picture =D slicer takes forever to slice it though, so I need to optimize it Whats next? Slicer stuff - Faster and better - GUI"}, {"post_id": 28989, "ts": "2026-07-15T16:53:56Z", "hours": 1.1597, "text": "The intelligence of my slicer is now not 0 I took a lot of time rewriting the slicer’s infill methods, and now the slicer can print objects that aren’t squares. I also added padding so the image you print isn’t crammed into the corner Whats next testing with more advanced svgs GUI slicer"}, {"post_id": 28652, "ts": "2026-07-15T01:09:16Z", "hours": 1.1836, "text": "My image slicer is finally working =o I finally got the slicer to start giving me sliced files(only took like an hr =D ) The first image is the image i am supposed to get, but the next image is what i got lol. I still have a lot of stuff to do to get the slicer working better. Whats next? add padding so that im not printing on the edge of the build plate fix the slicer infill issues add padding to slicer infill extrusions try actual SVG images GUI slicer: Allow user to move around pieces on the build plate Make settings like printspeed and stuff load from sliced files"}, {"post_id": 28550, "ts": "2026-07-14T21:28:09Z", "hours": 1.2775, "text": "SVG stuff =D I finally made a basic SVG shape extractor. It uses the svgelements python library to get information about svg images. The next step will be making a basic slicer, which will be able to use this information to “slice” the svg into a .banana file for the printer. Infill is gonna be annoying to implement though."}, {"post_id": 28403, "ts": "2026-07-14T17:13:26Z", "hours": 3.6167, "text": "I finally decided to put this project on stardance. Currently, you can print simple drawings(very annoying to slice them). The printer works like this: Sliced files: Takes an argument from running to run a .banana file Interpret and convert back into commands that the printer can understand Renderer and movement Python class stores x y info with a bunch of other stuff to send to renderer Interpolation between points Printing Using pygame permanent canvas that doesn’t get erased when pygame.flip() is called. Features as of now: Printing =0 Toolhead path preview(“T” key) Make printhead slightly transparent(“shift” key, allows you to see the rest of the drawing if the printhead covers any part of it) Test path(runs path but doesn’t print and goes way faster) Currently printing is pretty finished. The next goal will be making a slicer that slices scalable vector graphics(svg) into .banana files"}]...
|
Title: 2D Printer Simulation by @sircheetodust | S Title: 2D Printer Simulation by @sircheetodust | Stardance
Devlogs:
I finally decided to put this project on stardance. Currently, you can print simple drawings(very annoying to slice them). The printer works like this: Sliced files: Takes an argument from running to run a .banana file Interpret and convert back into commands that the printer can understand Renderer and movement Python class stores x y info with a bunch of other stuff to send to renderer Interpolation between points Printing Using pygame permanent canvas that doesn’t get erased when pygame.flip() is called. Features as of now: Printing =0 Toolhead path preview(“T” key) Make printhead slightly transparent(“shift” key, allows you to see the rest of the drawing if the printhead covers any part of it) Test path(runs path but doesn’t print and goes way faster) Currently printing is pretty finished. The next goal will be making a slicer that slices scalable vector graphics(svg) into .banana files
SVG stuff =D I finally made a basic SVG shape extractor. It uses the svgelements python library to get information about svg images. The next step will be making a basic slicer, which will be able to use this information to “slice” the svg into a .banana file for the printer. Infill is gonna be annoying to implement though.
My image slicer is finally working =o I finally got the slicer to start giving me sliced files(only took like an hr =D ) The first image is the image i am supposed to get, but the next image is what i got lol. I still have a lot of stuff to do to get the slicer working better. Whats next? add padding so that im not printing on the edge of the build plate fix the slicer infill issues add padding to slicer infill extrusions try actual SVG images GUI slicer: Allow user to move around pieces on the build plate Make settings like printspeed and stuff load from sliced files
The intelligence of my slicer is now not 0 I took a lot of time rewriting the slicer’s infill methods, and now the slicer can print objects that aren’t squares. I also added padding so the image you print isn’t crammed into the corner Whats next testing with more advanced svgs GUI slicer
my 2d printer finally printed its first picture =D slicer takes forever to slice it though, so I need to optimize it Whats next? Slicer stuff - Faster and better - GUI
it made stardance logo(trust i should get an award for this) This was a result of TONS of tuning(took like 50 min, but ig hackatime doesn’t support my slicer =p ) The printer needs some work on when to start and stop extruding. im not gonna put a whats next here, i made like 3 devlogs today 😭
Bottom tier 2D printer moment The slicer is absolutely NOT cooperating. I made two versions, each of which are better suited to different scenarios. SlicerV2(left logo) Good when across the x axis, there are multiple points SlicerV3(right logo) Good when there are multiple points along y axis. They both are kinda bad, but I did optimize the slicer a bit. When from 35 elements/sec to around 25 elements/sec. Slicing still kinda takes a while though send food pls, im hungry
GUI time! I tried to fix my slicer issues, but that was a waste of time. I then fixed an issue present in the older versions of the slicer where the printer would begin extruding for infills before it reached the X Y coordinate of where it should start infilling. The slicer struggles to do really complex images howver, but I am okay with that because even being able to slice was a big challenge for me to complete. Whats next? Basic GUI Move around print Allow user to load custom SVG’s Quote of the devlog guh…
im so close to finishing this! Slicer stuff I refactored the slicer scripts and then made a cool tkinter GUI. You can move around your SVG(Sadly you cant print multiple at the same time). Printer stuff Using tkinter, I added a load button so you can load your .banana files way faster than using command line arguments. Whats next? Better sprites for 2d printer app Get ready to ship(pls get me out of the depths of python) more stardance logos!!! =D
Quick slicer update I added a lil thing for you to be able to set a custom print speed. I also added integration and a fallback system to the printer. guh
Ships:
I built a 2D printer simulation in Python that simulates a pen plotter type thing from start to finish. It has an SVG slicer that converts vector graphics into a custom .banana printer instruction format, and a printer capable of reading those instructions and printing them out live on your screen! The biggest challenges were designing my own printer instruction language, generating printable paths from SVGs, and implementing polygon infill so the printed result closely matches the original image. Another challenge was making the printed output persist on the virtual print bed, since Pygame generally requiring the entire scene to be redrawn every frame. When trying it out, make sure that the image you are attempting to slice is in the .svg format and prefered to be under 10 kb, otherwise expect long slicing times… Thanks for looking at my lil project =D...
|
1792968984.738075
|
1793055384.738075
|