|
33788
|
SOS Button by @SohamKaran | Stardance
|
SohamKaran
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T16:27:43Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a sos button which can send your live location or call on the saved number it can be helpful for kids and any other person who is in danger", "repo": "https://github.com/sohamboyythrdh6/SOS-button", "demo": ""}]...
|
[{"post_id": 73201, "ts": "202 [{"post_id": 73201, "ts": "2026-09-24T16:24:51Z", "hours": 4.6919, "text": "after getting all the parts i started prototyping it on a bread board and after that i orderd the pcb and soldering everything after that i uploaded the code and it is working great"}, {"post_id": 31293, "ts": "2026-07-19T16:13:41Z", "hours": 6.0347, "text": "i found that some children or anyone not safe to went out so i decided to make a project which felt them safer so i made this at first i watch some YouTube tutorials then i go with some my opinion parts and i started drawing the sch after that i design the pcb and after working on the hardware I started writing code for this project . later i write the github repo i started with the bom and then i write the readme and at last upload all other requard file in it now i am finished and rady to ship it."}]...
|
Title: SOS Button by @SohamKaran | Stardance
Devl Title: SOS Button by @SohamKaran | Stardance
Devlogs:
i found that some children or anyone not safe to went out so i decided to make a project which felt them safer so i made this at first i watch some YouTube tutorials then i go with some my opinion parts and i started drawing the sch after that i design the pcb and after working on the hardware I started writing code for this project . later i write the github repo i started with the bom and then i write the readme and at last upload all other requard file in it now i am finished and rady to ship it.
after getting all the parts i started prototyping it on a bread board and after that i orderd the pcb and soldering everything after that i uploaded the code and it is working great
Ships:
i made a sos button which can send your live location or call on the saved number it can be helpful for kids and any other person who is in danger...
|
1793339692.1298962
|
1793426092.1298962
|
|
3519
|
Name That Nation by @brlin888 | Stardance
|
brlin888
|
5
|
31.0
|
346
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T21:11:47Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi there!!! This is my fifth ship for Name That Nation. Thank you for all of you that worked on evaluating my project last time. During this hour, I mainly worked on applying the functionality for the project where users are able to save their score in a respective txt file. Unlike previously, this ship organizes the naming categories based on score from highest to lowest. And another FYI, Java is a really technical language just trying to emphasize on that which means that organization and aesthetic wise, the game is limited. So when evaluating this project, please keep this in mind as Java is so technical that the location of every single component requires continuous testing and errors are very hard to locate. Thank you for reviewing this project and have a good day!!!!!!", "repo": "https://github.com/brlin888-create/Name-That-Nation", "demo": "https://github.com/brlin888-create/Name-That-Nation/releases/tag/v1.0.0"}, {"ship_num": 2, "ts": "2026-10-29T01:26:50Z", "hours": 1.0, "multiplier": 14.35, "payout": 21, "blessing": "neutral", "text": "Hi all!!! Trying to aim for one ship a day lol!!! Over this simple hour, I mainly focused on applying the box color which is shown on the end panel I think. If you are trying my game, MAKE SURE TO TEST THIS THE MOST as it is the main focus of this ship. Additionally, I don’t want people to say in comments “you need to make this into a website/way for people to not download the game…” It is not that easy, as Java again, for those that are new here, is a really technical language and basically if you want to do that, you will need to rewrite every single line of code, basically redoing your project again. Additionally, my project involves reading and writing to files which I also kind of worked on, so that would also not work if you were to create this into a website type game (over 200+ images and NO AI USED)!!! I spend a lot of time on this project and it has truly been amazing even when I was extremely busy lol!!! Thank you for reviewing this project and have a good day!!! I will try to get my next ship out tomorrow probably one per day until Stardance ends!", "repo": "https://github.com/brlin888-create/Name-That-Nation", "demo": "https://github.com/brlin888-create/Name-That-Nation/releases/tag/v1.0.0"}, {"ship_num": 3, "ts": "2026-10-28T02:09:14Z", "hours": 10.0, "multiplier": 6.16, "payout": 63, "blessing": "neutral", "text": "Hi all and whoever is reviewing this!!! This is my third ship (potentially will get another ship for this project)!!! Throughout these couple of hours, I mainly focused on implementing the different suggestions that people have told me which included fixing a name error (basically now you are unable to play the game if the box is kept as “Enter your name:”). Additionally, I made sure the achievements were looked better as people were suggesting the UI design should be better. For whoever is reviewing this, know that I PUT A LOT OF TIME IN DESIGNING THIS and Java is not an easy language to design your game properly. Unlike other gaming platforms, Java JPanel/JFrame components were extremely technical in where I placed the different components. Another suggestion I got was packaging into a website/online server type project, but again Java is not compatible with all sources/computers so this is not feasible to accomplish. Right now, if you want to try my project, please check out the try my project button and I have attached a video you can watch on the game tutorial. Lastly, over I also worked on making sure everything was functional and the game ran smoothly. I spent a couple of hours testing the project to ensure no obvious bugs were found and additionally, I added the part in the game where you are able to save your name to a txt file but that is only local on your computer. This was an extremely fun project to make and thank you for whoever is rating this or just reading this! It has been a wonderful journey and maybe I’ll do a 4th ship if I have the time lol! Thank you again and have a good day!!!!!!!!!!!", "repo": "https://github.com/brlin888-create/Name-That-Nation", "demo": "https://github.com/brlin888-create/Name-That-Nation/releases/tag/v1.0.0"}, {"ship_num": 4, "ts": "2026-10-17T21:15:15Z", "hours": 1.0, "multiplier": 7.33, "payout": 6, "blessing": "neutral", "text": "Hi everyone or whoever is reviewing this ship! This is my #2 ship for NameThatNation. To recap, NameThatNation is a game that allows the user to learn more about different countries through answering questions. Overall, for these couple of hours I continued to work on this project. Based on the comments from the people that reviewed on my last ship, I mainly worked on organizing the images in my panels better and adjusting the panels to be more visually appealing. If you want a better experience while playing the game, make sure to check out the settings panel where you can customize your gaming experience. For this ship, I recreated the images in my panels so that they fit the game better, so I am proud so say there was NO AI used in creating any of the images! Just a note that if you want to check out this game, make sure to go to releases or click on the “try project” button which will direct you towards the github releases. Ensure that you have download Java JDK because this entire project is coded entirely in JAVA which is an extremely technical language, so organization wise and how this game works is limited to some extent (harder to organize because need to manually run and check program each time to ensure object is placed where you want it to be and components are have a limited size by Java). Hope you have fun reviewing my ship!", "repo": "https://github.com/brlin888-create/Name-That-Nation", "demo": "https://github.com/brlin888-create/Name-That-Nation/releases/tag/v1.0.0"}, {"ship_num": 5, "ts": "2026-09-27T23:51:25Z", "hours": 18.0, "multiplier": 14.44, "payout": 256, "blessing": "neutral", "text": "Hi all, this is my ship for Name That Nation! Name That Nation is a game I thought of that tests and trains a person’s ability of naming countries based on the shape of the country (all 198 countries). The game is made completely using Java, all coded line by line, with some images being AI generated. The most challenging part of this project was actually making sure the project worked, because Java is a really technical language. One missing semicolon, and you have to go back and manually fix it. Additionally, since there are a lot of JButtons and components I had to add, the formatting depended on individually testing and organizing in order for the project to look visually aesthetic. Lastly, one of the biggest challenges was reading/writing from multiple files, since there was hundreds of country image files I had to organize, as well as ensuring that each country was actually accounted for. Overall, the testing through each individual panel allowed me to slowly build up this project as a whole. One interesting thing I added was incorporating powerups and achievements, that would incentive players to continuously play to achieve a higher score. Players can customize their gaming experience on background color, font size, difficulty, etc. in the settings panel. There are hints present, a timer present, and three lives, but by utilizing the powerups, this will boost the scores an individual can set. After gameplay, players can see what they scored wrong on, save their score to the txt file which includes (and sorts) all names, as well as see what achievements they have accomplished. This pretty much sums up my project as a whole, over 20+ hours (from image downloads to testing which was not accounted for in the Hackatime hours) as well as over 2400 lines of code. Hope whoever is reading this enjoys this project!!!", "repo": "https://github.com/brlin888-create/Name-That-Nation", "demo": "https://github.com/brlin888-create/Name-That-Nation/releases/tag/v1.0.0"}]...
|
[{"post_id": 84557, "ts": "202 [{"post_id": 84557, "ts": "2026-10-29T21:07:23Z", "hours": 1.2667, "text": "Hi all, Another day another dev log! Today I worked mostly on organizing the leaderboard more where depending on whether you scored a high score in the hard, medium, or easy mode, your name and score would be saved in a variety of categories!!! This really works and it was pretty hard to implement as I was checking whether the score actually saved to the txt file properly!!! Thank you for reading!!!"}, {"post_id": 84009, "ts": "2026-10-29T01:21:35Z", "hours": 0.2667, "text": "Hi all, 2nd devlog of the day, kinda rushing these devlogs lol! Over these short 16 minutes I mainly just focused on organizing the code so that if I were to find any bugs, it would be easier to do so. Additionally, I tested the game further such as getting more questions right in a row using a powerup (if you are trying my game really try using the powerups to see how long I spent on this code). Overall, this pretty much adds up my 30 hours so hopefully I get my certificate yippee! Have a great day!"}, {"post_id": 83735, "ts": "2026-10-28T14:07:55Z", "hours": 1.2, "text": "Hi all, I just got my third ship back and it was not what I expected… I spent so much time adding and changing the UI of my project just for everyone to say I still need to make the project easy to be accessed instead of a file download. This is basically IMPOSSIBLE for a java JPanel/JFrame based project because you are READING/WRITING from your computer, so I think that was the main reason the multiplier was so low, but I still think my project did not deserve that low of a rating… Enough of that for now, this time I mainly focused on fixing the answer corrections panel. Basically, before updating this project, there were boxes that showed up for the questions you got wrong but I don’t think it was entirely accurate. I mainly checked that the color of the boxes outputted was correct and depending on if you activated a powerup before or after answering a question, the boxes changed respectively to that color. This was GENUINELY pretty difficult because keep in mind, this was done in Java, so I had to track many different variables through a variety of loops WITH NO AI HELP!!! Thank you for reading this and have a good day!!!"}, {"post_id": 83496, "ts": "2026-10-28T02:00:34Z", "hours": 2.3019, "text": "Hi all, 5 Days left of Stardance, this truly has been an amazing experience here: Now to what I worked on, I continued to implement features that the feedback addressed such as fixing the naming issues and organization of the different panels. Additionally, the achievements panel had a few achievements that didn’t fully work, so testing each achievement was also what I worked on. I will probably ship this project in a bit, and again, if I have time will ship a fourth time to meet the 30 hours requirement!!! Good luck and thank you for following this project throughout this past few months!!!!!!!"}, {"post_id": 82836, "ts": "2026-10-25T23:53:38Z", "hours": 6.9822, "text": "Hi all!!! Last week of stardance so I’m really grinding this project and trying to balance this with school work!!! Basically, I made the game look even better and improved functionality because I found some issues with the powerups. Basically, sometimes, they were activated even though the requirements aren’t met such as getting x-amount of questions right in a row. Additionally, I continued with improving the looks of the game such as making the powerups look pixelated too! I will probably do my ship in a day or two so it was fun doing this project (might do a 4th ship if I have time!)"}, {"post_id": 81153, "ts": "2026-10-20T03:59:17Z", "hours": 0.8692, "text": "Hi everyone, i am continuing to build on my project for NameThatNation! Mainly this time focusing on organization for website as well as implementing more features and polishing my readme! also if any of you guys know when a manuel review submission for a ship will get approved, please let me know!"}, {"post_id": 78454, "ts": "2026-10-10T20:37:00Z", "hours": 0.2667, "text": "Hi all, My project got rejected again… for using AI assets. After changing the images on canva and ensuring the game still works, hopefully this time my ship will go through. If you guys want to see the new changes made to my project, feel free to check out the github for Name That Nation. Hopefully @Amu or other shipwrights will consider these new changes made as it took me over 2 hrs+ to find images and individually change the assets that were AI generated. So now I am happy to say my project does not use a single AI generated image!"}, {"post_id": 77989, "ts": "2026-10-09T03:57:33Z", "hours": 0.3039, "text": "Hi all, I have made a few changes for my project in order to fulfill the shipping request so hopefully whoever reviews my ship takes this into consideration @Jack_ . Just some further instructions on how to run my code: since I am using java in my project especially libraries that call for java JFrame and JPanel, java must be INSTALLED on the device for whoever is playing the game. In my github releases, I have updated with more clear instructions on how to download java JDK based on your device, then compiling my code. This is the only way, as converting into an executable still won’t run the code as whoever has the code doesn’t have the java libraries specific for my game pre-loaded. Thank you for reading this and hopefully my ship goes through successfully (I haven’t gotten an update in like 5 days…)!"}, {"post_id": 75771, "ts": "2026-10-01T01:34:52Z", "hours": 0.255, "text": "Hi all, I thought my project would be finished but apparently there were some issues with shipping the project. To whoever is reading this or people that judge ships, I have edited my github to have a releases zip file which can be downloaded to test out my game. You may still see the youtube video still attached for my game demo, but you can now try out the game yourself in github by retrieving the required assets. Additionally, I added more clear instructions and descriptions on NameThatNation and its properties. Hopefully you guys go check it out and take into consideration when evaluating my ship!"}, {"post_id": 74676, "ts": "2026-09-27T23:41:08Z", "hours": 0.3425, "text": "Hi all, This will be the last devlog for Name That Nation. I am so excited for you guys to see what I have been able to accomplish throughout the summer. Since NameThatNation is coded in Java completely, it CANNOT be converted into a website. I have attached a video (took 2 hours to edit) to demonstrate how the game can be played, as well as attached the source code in github. The reason that it cannot be made into a website is that it reads and writes through specific files that is not possible on a website. Additionally, Java JPanel and JFrame is not compatible with websites, meaning that I would have to code the entire game again in another programming language in order for the game to function. Today I placed my finishing touches such as incorporating the achievements panel and added final touches/testings for the entire game. This game took over 20+ hours (not shown through Hackatime) because there was more time spent on individually downloading all 198 country images and organizing files to include all countries but maintain functionality. I hope this project finds you well and thanks for those that have been following along the journey!!! Hope you guys like my project!!!"}, {"post_id": 74328, "ts": "2026-09-27T05:36:03Z", "hours": 2.78, "text": "NameThatNation!!! Hi all, for those that have been following along, there has been significant progress throughout the game. I have finally been able to get the gamepanel to work. I added powerups and different features such as lives count, hints, and changing colors on JButtons which utilizes a button listener to detect if the button clicked is correct. Although this may look simple, this project has taken me over several hours to what you see today. Java is an easy language to learn, but to implement it to this level is extremely hard, as image reading, file reading, JButtons, JCheckboxes, etc. are extremely technical and one wrong step will cause the entire program to not function. Tomorrow, I will finish the last panels which are the Achievements panel, and leaderboard panels. After that I will, post a demo of the project (as java is not compatible with online user websites and I am using read/write from files), and do my final commit before I ship my project!!! Thank you for those that have been following along!"}, {"post_id": 68387, "ts": "2026-09-15T01:24:48Z", "hours": 0.5231, "text": "What is up everyone! If you haven’t checked my last devlog, my main issue is still converting my code to a website or mainly a way for you guys to play the game without downloading the source code. I add some improvements to the game, fixing a JButton error because all of the buttons kept on lighting up when I didn’t click any of them. I also added more countries to the country info panel, so I’m pretty sure I have all 198 countries for now in the game. Next up is still fixing the website issue and adding to the game! Stay tuned for more!!!!!!!!!!!!!!"}, {"post_id": 66733, "ts": "2026-09-12T16:56:45Z", "hours": 6.6714, "text": "I know I haven’t posted a dev log for a long time… but here is it after 2 months and what I have been working on!!! After completely the country info and instructions panel, I started to work on the game panel which was definitely one of the hardest panels to complete. This is because working in Java JFrame/JPanel requires a lot of technical code to allow buttons to be clicked and change color when an answer choice is correct. Other than this, I had to download EVERY SINGLE COUNTRY’s image and add it to a folder which took over 2 hours to do (not included in the 6 hours) because I couldn’t find a website that had all of them. Other than that, the project is going extremely smoothly and I am currently working on adding different powerups that can aid the person playing the game. My only concern is converting this JFrame/JPanel game onto a demo website because the game is currently reading files from on my computer such as the images and files for instructions etc. If you guys have any suggestions, please feel free to leave it in the chat!"}, {"post_id": 25118, "ts": "2026-07-09T03:48:31Z", "hours": 0.6564, "text": "Continued to work on the project! Short Dev Log Today! finished settings and still working on instructions panel started working on game panel game hard to implement need to locate specific coordinates follow for more!"}, {"post_id": 23809, "ts": "2026-07-06T23:37:24Z", "hours": 2.2889, "text": "Hey everyone! It’s been a massive day of coding on NameThatNation. If you’ve been following along, you know the goal: a game where you look at maps/images and guess the country before the timer runs out. Today, I wired up the core skeleton for the Settings Panel, Country Info Panel, and initialized the beast that is the Game Panel. Here is exactly what went down today: The Settings Panel: I wanted players to be able to customize their UI, but things got a little chaotic in the grid layouts. The RGB Sliders: Added JSlider controls for Red, Green, and Blue. Players can dynamically alter the theme color (info.setColor). The Continents Customization: Implemented checkboxes for all 7 continents. But I had to add a hard rule in the ButtonListener: You must choose at least 3 continents before you can leave. Why? Because guessing between just the USA and Canada is too easy everyone is going to get it right… Image Size Scrollbar: Added a JScrollBar allowing players to scale the image sizes. Scroll down or up. Difficulty JMenu: A nice dropdown menu (Font.BOLD, 30) to swap between Easy, Medium, and Hard. Current Visual Bug: The continent checkboxes currently text-render in a terrifying new Color(183, 9, 9) (deep blood red) alongside a red warning label. The Country Info Panel: Players need a place to study up, so I built the CountryInfoPanel. It utilizes a try-catch block inside a custom fileIn() method to read a massive text file: countriesContinentHard.txt. It dumps all that text into a non-editable, word-wrapping JTextArea wrapped in a JScrollPane so you can scroll through hundreds of countries. The Aesthetic: On the left side, it renders a nice big sprite of planet Earth (Earth.png), while the data scrolls smoothly on the right. The Game Panel (The Brain of the Operation) Finally, I started prototyping the actual gameplay panel. It’s not fully rendered yet, but the logic infrastructure is going to be a lot! I will continue to work on this panel this week and make sure to follow along the game making!!!"}, {"post_id": 21667, "ts": "2026-07-03T19:03:46Z", "hours": 1.4492, "text": "Dev Log: Name That Nation Implementation of Core UI Panels (Start, Instructions, & Settings) Overview: Successfully built and structured the primary navigational and configuration panels for NameThatNation. Implemented Java Swing components across three core areas: the StartPanel (handling user onboarding and core navigation), the InstructionsPanel (displaying gameplay mechanics in a scrollable format), and the SettingsPanel (giving users control over gameplay parameters like difficulty, map sizes, background colors, and continent selection). Key Implementations: StartPanelUser Onboarding: Added a JTextField for name entry along with strict data validation. If the field is empty or left as default, a warning message (noName JLabel) triggers in red text, blocking gameplay progression. Animated Background: Integrated a javax.swing.Timer alongside a modified paintComponent method to alternate every 0.5 seconds between three unique world images (World1.png to World3.png), creating a smooth looping animation of a rotating Earth.CardLayout Navigation: Configured centralized action listeners (buttons and exitListener) to pass state data to the parent container, cleanly swapping panels or closing the application altogether. InstructionsPanelLayout & Scrolling: Used a BorderLayout to organize an informative overview of rules, score tallies, powerups, and level details. Scroll Mechanics: Embedded a heavy block of instruction text into a non-editable JTextArea wrapped in a JScrollPane, forcing explicit vertical navigation while keeping horizontal scrolling locked. Visual Assets: Overlaid a game preview snapshot (Game.png) on top of a custom backdrop image to give players context before starting. SettingsPanelRGB Customization: Implemented three distinct JSlider inputs (Red, Green, Blue) bound to a ColorHandler listener. This updates the player’s canvas background dynamically via the shared Information state object. Game Parameters: Combined a JScrollBar to control image scale thresholds, a JMenuBar with JMenuItem nodes for changing the match difficulty (Easy, Medium, Hard), and an array of JCheckBox fields representing all seven continents. Challenges: Absolute Layout Positioning: Managing explicit component bounds (setBounds) in the null-layout StartPanel requires highly specific coordinates that can scale poorly if window sizes are dramatically altered later. Validation Multi-threading: Syncing state requirements—such as throwing warnings when fewer than 3 continents are selected or managing name checks—requires seamless communication between panel instances and the core Information holder class. Next Steps: Enforce Continent Validation: Active counters ensuring the validation warning dynamically locks or unlocks the “Back” button if the 3-continent minimum isn’t met. Integrate Game Logic: Establish properties inside the GamePanel constructor that ingest the finalized values set by the sliders, checkboxes, and scrollbars from the configuration stage."}, {"post_id": 20985, "ts": "2026-07-02T18:41:17Z", "hours": 3.0508, "text": "Working on a game to allow people to get better at identifying countries based on the shape (will have powerups, customized settings, etc.). This project will be done in java through vscode! Feel free to give any feedback or advice on what I should add to the game. I currently only have the JPanels working for the settings panel as well as the start panel with buttons. Stay tuned for more updates!!! Issues encountered and fixed: panel switching setting JButtons in settings panel layouts -> placing components in the right location"}]...
|
Title: Name That Nation by @brlin888 | Stardance
Title: Name That Nation by @brlin888 | Stardance
Devlogs:
Working on a game to allow people to get better at identifying countries based on the shape (will have powerups, customized settings, etc.). This project will be done in java through vscode! Feel free to give any feedback or advice on what I should add to the game. I currently only have the JPanels working for the settings panel as well as the start panel with buttons. Stay tuned for more updates!!! Issues encountered and fixed: panel switching setting JButtons in settings panel layouts -> placing components in the right location
Dev Log: Name That Nation Implementation of Core UI Panels (Start, Instructions, & Settings) Overview: Successfully built and structured the primary navigational and configuration panels for NameThatNation. Implemented Java Swing components across three core areas: the StartPanel (handling user onboarding and core navigation), the InstructionsPanel (displaying gameplay mechanics in a scrollable format), and the SettingsPanel (giving users control over gameplay parameters like difficulty, map sizes, background colors, and continent selection). Key Implementations: StartPanelUser Onboarding: Added a JTextField for name entry along with strict data validation. If the field is empty or left as default, a warning message (noName JLabel) triggers in red text, blocking gameplay progression. Animated Background: Integrated a javax.swing.Timer alongside a modified paintComponent method to alternate every 0.5 seconds between three unique world images (World1.png to World3.png), creating a smooth looping animation of a rotating Earth.CardLayout Navigation: Configured centralized action listeners (buttons and exitListener) to pass state data to the parent container, cleanly swapping panels or closing the application altogether. InstructionsPanelLayout & Scrolling: Used a BorderLayout to organize an informative overview of rules, score tallies, powerups, and level details. Scroll Mechanics: Embedded a heavy block of instruction text into a non-editable JTextArea wrapped in a JScrollPane, forcing explicit vertical navigation while keeping horizontal scrolling locked. Visual Assets: Overlaid a game preview snapshot (Game.png) on top of a custom backdrop image to give players context before starting. SettingsPanelRGB Customization: Implemented three distinct JSlider inputs (Red, Green, Blue) bound to a ColorHandler listener. This updates the player’s canvas background dynamically via the shared Information state object. Game Parameters: Combined a JScrollBar to control image scale thresholds, a JMenuBar with JMenuItem nodes for changing the match difficulty (Easy, Medium, Hard), and an array of JCheckBox fields representing all seven continents. Challenges: Absolute Layout Positioning: Managing explicit component bounds (setBounds) in the null-layout StartPanel requires highly specific coordinates that can scale poorly if window sizes are dramatically altered later. Validation Multi-threading: Syncing state requirements—such as throwing warnings when fewer than 3 continents are selected or managing name checks—requires seamless communication between panel instances and the core Information holder class. Next Steps: Enforce Continent Validation: Active counters ensuring the validation warning dynamically locks or unlocks the “Back” button if the 3-continent minimum isn’t met. Integrate Game Logic: Establish properties inside the GamePanel constructor that ingest the finalized values set by the sliders, checkboxes, and scrollbars from the configuration stage.
Hey everyone! It’s been a massive day of coding on NameThatNation. If you’ve been following along, you know the goal: a game where you look at maps/images and guess the country before the timer runs out. Today, I wired up the core skeleton for the Settings Panel, Country Info Panel, and initialized the beast that is the Game Panel. Here is exactly what went down today: The Settings Panel: I wanted players to be able to customize their UI, but things got a little chaotic in the grid layouts. The RGB Sliders: Added JSlider controls for Red, Green, and Blue. Players can dynamically alter the theme color (info.setColor). The Continents Customization: Implemented checkboxes for all 7 continents. But I had to add a hard rule in the ButtonListener: You must choose at least 3 continents before you can leave. Why? Because guessing between just the USA and Canada is too easy everyone is going to get it right… Image Size Scrollbar: Added a JScrollBar allowing players to scale the image sizes. Scroll down or up. Difficulty JMenu: A nice dropdown menu (Font.BOLD, 30) to swap between Easy, Medium, and Hard. Current Visual Bug: The continent checkboxes currently text-render in a terrifying new Color(183, 9, 9) (deep blood red) alongside a red warning label. The Country Info Panel: Players need a place to study up, so I built the CountryInfoPanel. It utilizes a try-catch block inside a custom fileIn() method to read a massive text file: countriesContinentHard.txt. It dumps all that text into a non-editable, word-wrapping JTextArea wrapped in a JScrollPane so you can scroll through hundreds of countries. The Aesthetic: On the left side, it renders a nice big sprite of planet Earth (Earth.png), while the data scrolls smoothly on the right. The Game Panel (The Brain of the Operation) Finally, I started prototyping the actual gameplay panel. It’s not fully rendered yet, but the logic infrastructure is going to be a lot! I will continue to work on this panel this week and make sure to follow along the game making!!!
Continued to work on the project! Short Dev Log Today! finished settings and still working on instructions panel started working on game panel game hard to implement need to locate specific coordinates follow for more!
I know I haven’t posted a dev log for a long time… but here is it after 2 months and what I have been working on!!! After completely the country info and instructions panel, I started to work on the game panel which was definitely one of the hardest panels to complete. This is because working in Java JFrame/JPanel requires a lot of technical code to allow buttons to be clicked and change color when an answer choice is correct. Other than this, I had to download EVERY SINGLE COUNTRY’s image and add it to a folder which took over 2 hours to do (not included in the 6 hours) because I couldn’t find a website that had all of them. Other than that, the project is going extremely smoothly and I am currently working on adding different powerups that can aid the person playing the game. My only concern is converting this JFrame/JPanel game onto a demo website because the game is currently reading files from on my computer such as the images and files for instructions etc. If you guys have any suggestions, please feel free to leave it in the chat!
What is up everyone! If you haven’t checked my last devlog, my main issue is still converting my code to a website or mainly a way for you guys to play the game without downloading the source code. I add some improvements to the game, fixing a JButton error because all of the buttons kept on lighting up when I didn’t click any of them. I also added more countries to the country info panel, so I’m pretty sure I have all 198 countries for now in the game. Next up is still fixing the website issue and adding to the game! Stay tuned for more!!!!!!!!!!!!!!
NameThatNation!!! Hi all, for those that have been following along, there has been significant progress throughout the game. I have finally been able to get the gamepanel to work. I added powerups and different features such as lives count, hints, and changing colors on JButtons which utilizes a button listener to detect if the button clicked is correct. Although this may look simple, this project has taken me over several hours to what you see today. Java is an easy language to learn, but to implement it to this level is extremely hard, as image reading, file reading, JButtons, JCheckboxes, etc. are extremely technical and one wrong step will cause the entire program to not function. Tomorrow, I will finish the last panels which are the Achievements panel, and leaderboard panels. After that I will, post a demo of the project (as java is not compatible with online user websites and I am using read/write from files), and do my final commit before I ship my project!!! Thank you for those that have been following along!
Hi all, This will be the last devlog for Name That Nation. I am so excited for you guys to see what I have been able to accomplish throughout the summer. Since NameThatNation is coded in Java completely, it CANNOT be converted into a website. I have attached a video (took 2 hours to edit) to demonstrate how the game can be played, as well as attached the source code in github. The reason that it cannot be made into a website is that it reads and writes through specific files that is not possible on a website. Additionally, Java JPanel and JFrame is not compatible with websites, meaning that I would have to code the entire game again in another programming language in order for the game to function. Today I placed my finishing touches such as incorporating the achievements panel and added final touches/testings for the entire game. This game took over 20+ hours (not shown through Hackatime) because there was more time spent on individually downloading all 198 country images and organizing files to include all countries but maintain functionality. I hope this project finds you well and thanks for those that have been following along the journey!!! Hope you guys like my project!!!
Hi all, I thought my project would be finished but apparently there were some issues with shipping the project. To whoever is reading this or people that judge ships, I have edited my github to have a releases zip file which can be downloaded to test out my game. You may still see the youtube video still attached for my game demo, but you can now try out the game yourself in github by retrieving the required assets. Additionally, I added more clear instructions and descriptions on NameThatNation and its properties. Hopefully you guys go check it out and take into consideration when evaluating my ship!
Hi all, I have made a few changes for my project in order to fulfill the shipping request so hopefully whoever reviews my ship takes this into consideration @Jack_ . Just some further instructions on how to run my code: since I am using java in my project especially libraries that call for java JFrame and JPanel, java must be INSTALLED on the device for whoever is playing the game. In my github releases, I have updated with more clear instructions on how to download java JDK based on your device, then compiling my code. This is the only way, as converting into an executable still won’t run the code as whoever has the code doesn’t have the java libraries specific for my game pre-loaded. Thank you for reading this and hopefully my ship goes through successfully (I haven’t gotten an update in like 5 days…)!
Hi all, My project got rejected again… for using AI assets. After changing the images on canva and ensuring the game still works, hopefully this time my ship will go through. If you guys want to see the new changes made to my project, feel free to check out the github for Name That Nation. Hopefully @Amu or other shipwrights will consider these new changes made as it took me over 2 hrs+ to find images and individually change the assets that were AI generated. So now I am happy to say my project does not use a single AI generated image!
Hi everyone, i am continuing to build on my project for NameThatNation! Mainly this time focusing on organization for website as well as implementing more features and polishing my readme! also if any of you guys know when a manuel review submission for a ship will get approved, please let me know!
Hi all!!! Last week of stardance so I’m really grinding this project and trying to balance this with school work!!! Basically, I made the game look even better and improved functionality because I found some issues with the powerups. Basically, sometimes, they were activated even though the requirements aren’t met such as getting x-amount of questions right in a row. Additionally, I continued with improving the looks of the game such as making the powerups look pixelated too! I will probably do my ship in a day or two so it was fun doing this project (might do a 4th ship if I have time!)
Hi all, 5 Days left of Stardance, this truly has been an amazing experience here: Now to what I worked on, I continued to implement features that the feedback addressed such as fixing the naming issues and organization of the different panels. Additionally, the achievements panel had a few achievements that didn’t fully work, so testing each achievement was also what I worked on. I will probably ship this project in a bit, and again, if I have time will ship a fourth time to meet the 30 hours requirement!!! Good luck and thank you for following this project throughout this past few months!!!!!!!
Hi all, I just got my third ship back and it was not what I expected… I spent so much time adding and changing the UI of my project just for everyone to say I still need to make the project easy to be accessed instead of a file download. This is basically IMPOSSIBLE for a java JPanel/JFrame based project because you are READING/WRITING from your computer, so I think that was the main reason the multiplier was so low, but I still think my project did not deserve that low of a rating… Enough of that for now, this time I mainly focused on fixing the answer corrections panel. Basically, before updating this project, there were boxes that showed up for the questions you got wrong but I don’t think it was entirely accurate. I mainly checked that the color of the boxes outputted was correct and depending on if you activated a powerup before or after answering a question, the boxes changed respectively to that color. This was GENUINELY pretty difficult because keep in mind, this was done in Java, so I had to track many different variables through a variety of loops WITH NO AI HELP!!! Thank you for reading this and have a good day!!!
Hi all, 2nd devlog of the day, kinda rushing these devlogs lol! Over these short 16 minutes I mainly just focused on organizing the code so that if I were to find any bugs, it would be easier to do so. Additionally, I tested the game further such as getting more questions right in a row using a powerup (if you are trying my game really try using the powerups to see how long I spent on this code). Overall, this pretty much adds up my 30 hours so hopefully I get my certificate yippee! Have a great day!
Hi all, Another day another dev log! Today I worked mostly on organizing the leaderboard more where depending on whether you scored a high score in the hard, medium, or easy mode, your name and score would be saved in a variety of categories!!! This really works and it was pretty hard to implement as I was checking whether the score actually saved to the txt file properly!!! Thank you for reading!!!
Ships:
Hi all, this is my ship for Name That Nation! Name That Nation is a game I thought of that tests and trains a person’s ability of naming countries based on the shape of the country (all 198 countries). The game is made completely using Java, all coded line by line, with some images being AI generated. The most challenging part of this project was actually making sure the project worked, because Java is a really technical language. One missing semicolon, and you have to go back and manually fix it. Additionally, since there are a lot of JButtons and components I had to add, the formatting depended on individually testing and organizing in order for the project to look visually aesthetic. Lastly, one of the biggest challenges was reading/writing from multiple files, since there was hundreds of country image files I had to organize, as well as ensuring that each country was actually accounted for. Overall, the testing through each individual panel allowed me to slowly build up this project as a whole. One interesting thing I added was incorporating powerups and achievements, that would incentive players to continuously play to achieve a higher score. Players can customize their gaming experience on background color, font size, difficulty, etc. in the settings panel. There are hints present, a timer present, and three lives, but by utilizing the powerups, this will boost the scores an individual can set. After gameplay, players can see what they scored wrong on, save their score to the txt file which includes (and sorts) all names, as well as see what achievements they have accomplished. This pretty much sums up my project as a whole, over 20+ hours (from image downloads to testing which was not accounted for in the Hackatime hours) as well as over 2400 lines of code. Hope whoever is reading this enjoys this project!!!
Hi everyone or whoever is reviewing this ship! This is my #2 ship for NameThatNation. To recap, NameThatNation is a game that allows the user to learn more about different countries through answering questions. Overall, for these couple of hours I continued to work on this project. Based on the comments from the people that reviewed on my last ship, I mainly worked on organizing the images in my panels better and adjusting the panels to be more visually appealing. If you want a better experience while playing the game, make sure to check out the settings panel where you can customize your gaming experience. For this ship, I recreated the images in my panels so that they fit the game better, so I am proud so say there was NO AI used in creating any of the images! Just a note that if you want to check out this game, make sure to go to releases or click on the “try project” button which will direct you towards the github releases. Ensure that you have download Java JDK because this entire project is coded entirely in JAVA which is an extremely technical language, so organization wise and how this game works is limited to some extent (harder to organize because need to manually run and check program each time to ensure object is placed where you want it to be and components are have a limited size by Java). Hope you have fun reviewing my ship!
Hi all and whoever is reviewing this!!! This is my third ship (potentially will get another ship for this project)!!! Throughout these couple of hours, I mainly focused on implementing the different suggestions that people have told me which included fixing a name error (basically now you are unable to play the game if the box is kept as “Enter your name:”). Additionally, I made sure the achievements were looked better as people were suggesting the UI design should be better. For whoever is reviewing this, know that I PUT A LOT OF TIME IN DESIGNING THIS and Java is not an easy language to design your game properly. Unlike other gaming platforms, Java JPanel/JFrame components were extremely technical in where I placed the different components. Another suggestion I got was packaging into a website/online server type project, but again Java is not compatible with all sources/computers so this is not feasible to accomplish. Right now, if you want to try my project, please check out the try my project button and I have attached a video you can watch on the game tutorial. Lastly, over I also worked on making sure everything was functional and the game ran smoothly. I spent a couple of hours testing the project to ensure no obvious bugs were found and additionally, I added the part in the game where you are able to save your name to a txt file but that is only local on your computer. This was an extremely fun project to make and thank you for whoever is rating this or just reading this! It has been a wonderful journey and maybe I’ll do a 4th ship if I have the time lol! Thank you again and have a good day!!!!!!!!!!!
Hi all!!! Trying to aim for one ship a day lol!!! Over this simple hour, I mainly focused on applying the box color which is shown on the end panel I think. If you are trying my game, MAKE SURE TO TEST THIS THE MOST as it is the main focus of this ship. Additionally, I don’t want people to say in comments “you need to make this into a website/way for people to not download the game…” It is not that easy, as Java again, for those that are new here, is a really technical language and basically if you want to do that, you will need to rewrite every single line of code, basically redoing your project again. Additionally, my project involves reading and writing to files which I also kind of worked on, so that would also not work if you were to create this into a website type game (over 200+ images and NO AI USED)!!! I spend a lot of time on this project and it has truly been amazing even when I was extremely busy lol!!! Thank you for reviewing this project and have a good day!!! I will try to get my next ship out tomorrow probably one per day until Stardance ends!
Hi there!!! This is my fifth ship for Name That Nation. Thank you for all of you that worked on evaluating my project last time. During this hour, I mainly worked on applying the functionality for the project where users are able to save their score in a respective txt file. Unlike previously, this ship organizes the naming categories based on score from highest to lowest. And another FYI, Java is a really technical language just trying to emphasize on that which means that organization and aesthetic wise, the game is limited. So when evaluating this project, please keep this in mind as Java is so technical that the location of every single component requires continuous testing and errors are very hard to locate. Thank you for reviewing this project and have a good day!!!!!!...
|
1793339688.5675683
|
1793426088.5675683
|
|
43792
|
Teach Terminal by @Arsen | Stardance
|
Arsen
|
1
|
42.0
|
351
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T15:29:32Z", "hours": 42.0, "multiplier": 18.43, "payout": 351, "blessing": "neutral", "text": "Teach Terminal I made Teach Terminal - a browser-based Linux terminal simulator for learning basic Linux commands. The main problem I wanted to solve is that learning Linux from documentation can be very passive. You read what cd or chmod does, but you don’t really remember it until you use it yourself. Also, using a real Linux system can be a little scary for beginners because one wrong command can cause problems. Teach Terminal gives you a fake Linux filesystem where you can practice without breaking a real computer. You can log in, choose a mode, and start learning. There are 25 lessons in 5 sections: Introduction, Navigation, Files, Text & Redirection, and Permissions. Every lesson has a small lecture and then practice. In the practice you need to type commands yourself, for example pwd , ls -la , chmod 755 , or sudo chown root file.txt . The terminal gives output and errors similar to what you can get in a real Ubuntu terminal. Note: This is a simulation. It does not enforce all Linux permissions and security rules, so some commands may behave differently than on a real system. What was challenging The fake filesystem was one of the harder parts. I made two classes for it. FileSystem handles the filesystem tree and navigation, and file represents the individual files and folders. It also stores things like permissions, owner, size and modification date. Getting absolute paths working was also a little difficult. I needed to go from the current file or folder to its parents until I reach the root. It is kind of like following a linked list backwards. Another problem was checking commands in multi-step practices. For example, when a user runs sudo chown root file.txt , the practice checker needs to check the whole command and not only chown root file.txt . I also had problems with resetting the practice state. If I make a folder with mkdir projects and then start the same practice again, it will fail because the folder already exists. So I needed to reset the practice filesystem when starting it again. Things I am happy with The lesson engine is probably the part I worked most on. It handles the lecture, practice, success state, and the progress for each step. I also made the lesson window draggable and minimizable. Pressing Escape can toggle the window. The terminal currently supports 16 commands and some extra features like flags, redirection ( > , >> , < , 2> ), tab autocomplete, arrow-key command history, and sudo with password checking. I also added 3 themes: Ubuntu, Hacker and Kali. The themes are used across the different pages. How to test Open the demo link. Go to Settings and choose a theme: Ubuntu, Hacker, or Kali. Log in with a valid username, machine name and password. Choose Guided Path if you want to try the lessons, or Free Exploration if you just want to use the terminal. In a lesson, read the lecture and click Start Practice . Type the commands in the terminal and follow the steps. Some commands you can try: pwd ls -la mkdir test cd test touch file.txt chmod 755 file.txt sudo chown root file.txt The project is made with plain HTML, CSS and JavaScript. I didn’t use frameworks or external dependencies.", "repo": "https://github.com/Arsen-Gevorgyan/teach-terminal", "demo": "https://arsen-gevorgyan.github.io/teach-terminal/"}]...
|
[{"post_id": 75823, "ts": "202 [{"post_id": 75823, "ts": "2026-10-01T08:23:43Z", "hours": 4.2042, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I finished writing all 25 lessons and fixed several issues with the lesson system. The lessons are organized into 5 sections - Introduction, Navigation, Files, Text & Redirection, and Permissions - plus a final congratulations lesson. Each practice lesson has multiple steps, so instead of a single command to type, the user might create a file, change its permissions, and verify with ls -l . The window tracks progress with markers like [x] , [>] , and [ ] so it is clear where the user is. I also fixed bugs I found while testing the flow: The lesson window didn’t reset the filesystem between practices. If you completed mkdir projects once, replaying the lesson would fail because the folder already existed. Now the filesystem resets to a clean state at the start of every practice lesson. Sudo commands weren’t detected by the practice check. The checker only saw the inner command ( chown root file.txt ), not the full sudo chown root file.txt . Fixed by passing the full command through. Lesson 25 no longer has a practice - it just says “Congratulations! You finished Teach Terminal.” with a short message about what the user learned. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output, sudo flow command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 5 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , chmod , chown , sudo , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Add grep , head , tail Add pipes ( | ) and shell operators ( && , || , ; ) Wildcards and brace expansion Try It Live Demo"}, {"post_id": 74998, "ts": "2026-09-28T20:14:08Z", "hours": 2.3608, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lesson window - the floating panel that runs inside the terminal during lessons. This is the piece that connects the lessons page to the terminal itself. When a user picks a lesson from the overview, the terminal opens with ?lesson=N in the URL. The lesson window reads that number, finds the lesson in the data file, and appears in the top-right corner of the screen. The window has three states: Lecture - shows the lesson text explaining the concept. The user reads and clicks “Start Practice” (or “Complete” for intro lessons). Practice - the window changes visually. Its border and title switch to an amber color, and a “PRACTICE:” prefix appears in the title. This makes it obvious that it’s time to do something, not just read. The user types the command in the terminal below. Success - when the expected command is typed, the window shows the success message and a “Next Lesson” button appears. Clicking it swaps the window content to the next lesson without reloading the page. The window is also draggable by its title bar. The user can move it anywhere, minimize it with - , or close it with × (which returns to the lessons page). Pressing Escape hides and shows the window. I also added replay support. If a lesson is already complete, the user can open it again, read the lecture, and try the practice a second time. The window still shows the success message, but the lesson status stays DONE - it does not re-mark anything. Some issues I hit: The intro lessons blocked the “Next Lesson” button because they were being re-completed in a loop. I fixed this by tracking a showingSuccess variable that tells the code whether we’re on the success screen or the lecture. The practice mode class wasn’t being added because the flow checked lessonComplete before checking whether we were in the practice phase. I reordered the checks so practice renders correctly even for replayed lessons. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build chmod , chown , sudo for the Permissions section Write lesson content for lessons 21-24 Build the Final Mission with a timer and game-style objectives Try It Live Demo"}, {"post_id": 73734, "ts": "2026-09-25T20:12:13Z", "hours": 6.7292, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lessons system. This is the biggest step so far - the part that turns the terminal into a real teaching tool. The lessons system has three parts: The lessons overview page ( lessons.html ) shows all lessons organized into sections: Introduction Navigation Files Text & Redirection Permissions Final Mission Each lesson appears as a card with a status: START (unlocked), DONE (completed), or LOCK (not yet unlocked). Intro lessons are always open so users can read them or skip. Navigation lessons unlock one at a time. Later sections unlock when the previous section is finished. The lessons data file ( lessons-data.js ) stores all lesson content in one place. Each lesson has a lecture that explains the concept and a practice task with an expected command. The lesson engine ( lesson-window.js ) will run inside main.html . It opens a floating window with the current lesson, shows the lecture, then the practice. When the user types the correct command, the lesson completes and unlocks the next one. I also built the mode selection page ( mode.html ). After login, the user picks between two paths: Free Exploration : opens the terminal with no lessons Guided Path : opens the lessons overview Progress saves to localStorage so completed lessons stay completed. Some issues I hit: The unlock logic had a bug where Intro lessons blocked Navigation. I fixed it by skipping intro sections in the unlock check. CSS conflicts between .lesson-subtitle (used inside lesson cards) and .lessons-subtitle (used on the page). I renamed them to avoid mixing styles. The lessons page inherited overflow: hidden from the body, so it could not scroll. I added a body.lessons-page override. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson window inside main.html (lecture, practice, success phases) Make the window draggable and minimizable with an Escape key toggle Build the Final Mission with game-style objectives Add remaining commands ( grep , head , tail , chmod , chown ) Try It Live Demo"}, {"post_id": 72453, "ts": "2026-09-23T00:38:08Z", "hours": 8.2353, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I added redirection to the terminal. Commands can now read from files and write to them instead of only printing to the screen. The terminal now supports: > - write output to a file (overwrites) >> - append output to a file < - read input from a file 2> - redirect error output to a file I also connected < to cat so it can read from a file through stdin. To make this work, I had to refactor how commands run. The old processCommand returned output directly. I renamed it to executeCommand and wrote a new processCommand wrapper above it that parses redirection operators before the command runs, then decides where the output goes. The refactor was harder than expected. I hit several bugs - a typo in stderrMatch , a missing $ anchor in a regex, and a duplicate if block that used the wrong variable. I also had to fix catResults and lineNumber which I deleted during the refactor without realizing. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help With flags for most commands, redirection ( > , >> , < , 2> ), and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Command history (up/down arrow keys) Tab autocomplete history command, !! , !n Add grep , head , tail Add chmod , chown Wildcards, brace expansion, && , || Build the lesson system (lectures + practice missions) Try It Live Demo"}, {"post_id": 51663, "ts": "2026-08-21T13:49:47Z", "hours": 2.9792, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the fake filesystem and connected it to the terminal. The terminal now feels like a real Linux system. The filesystem supports: pwd - shows current directory ls - lists files and folders with colors (blue for directories, green for executables, white for files) ls -l - shows permissions, owner, group, and name cd - navigate with ~ , . , .. , and absolute paths mkdir - create folders touch - create files The prompt updates when navigating directories. It shows ~ for the home directory and the full path everywhere else. I also added realistic bash error messages. Invalid flags, missing arguments, and wrong paths all show proper errors like a real terminal would. The terminal now has 7 working commands with real filesystem behavior. Next step is building the lesson system that teaches these commands one by one. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, and navigation terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition ( help , pwd , clear , ls , cd , mkdir , touch ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson system (lectures + practice missions) Add more commands ( cat , rm , cp , mv , chmod , chown ) Add command history (up/down arrow keys) Add redirection ( > , >> , < ) Improve mobile experience Try It Live Demo"}, {"post_id": 45917, "ts": "2026-08-12T18:06:17Z", "hours": 3.5864, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the login page. It’s a page where the user enters their username, machine name, and password before entering the terminal. The form validates each field: Username must be 4–9 characters, start with a letter, and contain only letters and numbers Machine name follows the same rules Password must be 8–19 characters If something is wrong, an error message appears below the form showing what needs to be fixed. After all fields are entered correctly, the data is saved and the user is redirected to the terminal. The terminal itself is not fully finished yet — commands work, but there’s no filesystem and no lessons. That’s the next step. Completed index.html — Start menu with Start and Settings buttons settings.html — Settings page with three themes (Ubuntu, Hacker, Kali) login.html — Login page with username, machine name, and password validation main.html — Interactive terminal interface style.css — Main styling, animated gradients, glassmorphism UI, and theme colors login.css — Login page styling with themed backgrounds settings.js — Saves the selected theme using localStorage theme.js — Loads the saved theme and applies it automatically login.js — Form validation and redirect to terminal terminal.js — Terminal input handling, prompt display, line management commands.js — Command recognition ( help , pwd , clear , whoami , date , echo ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build a fake filesystem ( cd , ls , mkdir , touch ) Add file permissions ( chmod , chown , sudo ) Create lessons and practice missions Add command history (up/down arrow keys) Try It Live Demo"}, {"post_id": 40664, "ts": "2026-08-04T11:00:02Z", "hours": 13.4225, "text": "Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. What I Built I started the project by creating the basic structure of the website and the main navigation. Completed index.html — Start menu with Start and Settings buttons. settings.html — Settings page. main.html — Initial game page. style.css — Main styling, animated gradients, glassmorphism UI, and theme colors. settings.js — Saves the selected theme using localStorage . theme.js — Loads the saved theme and applies it automatically. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the interactive terminal. Add Linux commands and command processing. Create lessons and practice missions. Improve the mobile experience."}]...
|
Title: Teach Terminal by @Arsen | Stardance
Devlo Title: Teach Terminal by @Arsen | Stardance
Devlogs:
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. What I Built I started the project by creating the basic structure of the website and the main navigation. Completed index.html — Start menu with Start and Settings buttons. settings.html — Settings page. main.html — Initial game page. style.css — Main styling, animated gradients, glassmorphism UI, and theme colors. settings.js — Saves the selected theme using localStorage . theme.js — Loads the saved theme and applies it automatically. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the interactive terminal. Add Linux commands and command processing. Create lessons and practice missions. Improve the mobile experience.
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the login page. It’s a page where the user enters their username, machine name, and password before entering the terminal. The form validates each field: Username must be 4–9 characters, start with a letter, and contain only letters and numbers Machine name follows the same rules Password must be 8–19 characters If something is wrong, an error message appears below the form showing what needs to be fixed. After all fields are entered correctly, the data is saved and the user is redirected to the terminal. The terminal itself is not fully finished yet — commands work, but there’s no filesystem and no lessons. That’s the next step. Completed index.html — Start menu with Start and Settings buttons settings.html — Settings page with three themes (Ubuntu, Hacker, Kali) login.html — Login page with username, machine name, and password validation main.html — Interactive terminal interface style.css — Main styling, animated gradients, glassmorphism UI, and theme colors login.css — Login page styling with themed backgrounds settings.js — Saves the selected theme using localStorage theme.js — Loads the saved theme and applies it automatically login.js — Form validation and redirect to terminal terminal.js — Terminal input handling, prompt display, line management commands.js — Command recognition ( help , pwd , clear , whoami , date , echo ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build a fake filesystem ( cd , ls , mkdir , touch ) Add file permissions ( chmod , chown , sudo ) Create lessons and practice missions Add command history (up/down arrow keys) Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the fake filesystem and connected it to the terminal. The terminal now feels like a real Linux system. The filesystem supports: pwd - shows current directory ls - lists files and folders with colors (blue for directories, green for executables, white for files) ls -l - shows permissions, owner, group, and name cd - navigate with ~ , . , .. , and absolute paths mkdir - create folders touch - create files The prompt updates when navigating directories. It shows ~ for the home directory and the full path everywhere else. I also added realistic bash error messages. Invalid flags, missing arguments, and wrong paths all show proper errors like a real terminal would. The terminal now has 7 working commands with real filesystem behavior. Next step is building the lesson system that teaches these commands one by one. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, and navigation terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition ( help , pwd , clear , ls , cd , mkdir , touch ) Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson system (lectures + practice missions) Add more commands ( cat , rm , cp , mv , chmod , chown ) Add command history (up/down arrow keys) Add redirection ( > , >> , < ) Improve mobile experience Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I added redirection to the terminal. Commands can now read from files and write to them instead of only printing to the screen. The terminal now supports: > - write output to a file (overwrites) >> - append output to a file < - read input from a file 2> - redirect error output to a file I also connected < to cat so it can read from a file through stdin. To make this work, I had to refactor how commands run. The old processCommand returned output directly. I renamed it to executeCommand and wrote a new processCommand wrapper above it that parses redirection operators before the command runs, then decides where the output goes. The refactor was harder than expected. I hit several bugs - a typo in stderrMatch , a missing $ anchor in a regex, and a duplicate if block that used the wrong variable. I also had to fix catResults and lineNumber which I deleted during the refactor without realizing. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, and theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to terminal filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help With flags for most commands, redirection ( > , >> , < , 2> ), and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Command history (up/down arrow keys) Tab autocomplete history command, !! , !n Add grep , head , tail Add chmod , chown Wildcards, brace expansion, && , || Build the lesson system (lectures + practice missions) Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lessons system. This is the biggest step so far - the part that turns the terminal into a real teaching tool. The lessons system has three parts: The lessons overview page ( lessons.html ) shows all lessons organized into sections: Introduction Navigation Files Text & Redirection Permissions Final Mission Each lesson appears as a card with a status: START (unlocked), DONE (completed), or LOCK (not yet unlocked). Intro lessons are always open so users can read them or skip. Navigation lessons unlock one at a time. Later sections unlock when the previous section is finished. The lessons data file ( lessons-data.js ) stores all lesson content in one place. Each lesson has a lecture that explains the concept and a practice task with an expected command. The lesson engine ( lesson-window.js ) will run inside main.html . It opens a floating window with the current lesson, shows the lecture, then the practice. When the user types the correct command, the lesson completes and unlocks the next one. I also built the mode selection page ( mode.html ). After login, the user picks between two paths: Free Exploration : opens the terminal with no lessons Guided Path : opens the lessons overview Progress saves to localStorage so completed lessons stay completed. Some issues I hit: The unlock logic had a bug where Intro lessons blocked Navigation. I fixed it by skipping intro sections in the unlock check. CSS conflicts between .lesson-subtitle (used inside lesson cards) and .lessons-subtitle (used on the page). I renamed them to avoid mixing styles. The lessons page inherited overflow: hidden from the body, so it could not scroll. I added a body.lessons-page override. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output commands.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build the lesson window inside main.html (lecture, practice, success phases) Make the window draggable and minimizable with an Escape key toggle Build the Final Mission with game-style objectives Add remaining commands ( grep , head , tail , chmod , chown ) Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I built the lesson window - the floating panel that runs inside the terminal during lessons. This is the piece that connects the lessons page to the terminal itself. When a user picks a lesson from the overview, the terminal opens with ?lesson=N in the URL. The lesson window reads that number, finds the lesson in the data file, and appears in the top-right corner of the screen. The window has three states: Lecture - shows the lesson text explaining the concept. The user reads and clicks “Start Practice” (or “Complete” for intro lessons). Practice - the window changes visually. Its border and title switch to an amber color, and a “PRACTICE:” prefix appears in the title. This makes it obvious that it’s time to do something, not just read. The user types the command in the terminal below. Success - when the expected command is typed, the window shows the success message and a “Next Lesson” button appears. Clicking it swaps the window content to the next lesson without reloading the page. The window is also draggable by its title bar. The user can move it anywhere, minimize it with - , or close it with × (which returns to the lessons page). Pressing Escape hides and shows the window. I also added replay support. If a lesson is already complete, the user can open it again, read the lecture, and try the practice a second time. The window still shows the success message, but the lesson status stays DONE - it does not re-mark anything. Some issues I hit: The intro lessons blocked the “Next Lesson” button because they were being re-completed in a loop. I fixed this by tracking a showingSuccess variable that tells the code whether we’re on the success screen or the lecture. The practice mode class wasn’t being added because the flow checked lessonComplete before checking whether we were in the practice phase. I reordered the checks so practice renders correctly even for replayed lessons. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 6 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Build chmod , chown , sudo for the Permissions section Write lesson content for lessons 21-24 Build the Final Mission with a timer and game-style objectives Try It Live Demo
Teach Terminal A browser-based game that teaches Linux terminal commands through interactive lessons and missions. Today Today I finished writing all 25 lessons and fixed several issues with the lesson system. The lessons are organized into 5 sections - Introduction, Navigation, Files, Text & Redirection, and Permissions - plus a final congratulations lesson. Each practice lesson has multiple steps, so instead of a single command to type, the user might create a file, change its permissions, and verify with ls -l . The window tracks progress with markers like [x] , [>] , and [ ] so it is clear where the user is. I also fixed bugs I found while testing the flow: The lesson window didn’t reset the filesystem between practices. If you completed mkdir projects once, replaying the lesson would fail because the folder already existed. Now the filesystem resets to a clean state at the start of every practice lesson. Sudo commands weren’t detected by the practice check. The checker only saw the inner command ( chown root file.txt ), not the full sudo chown root file.txt . Fixed by passing the full command through. Lesson 25 no longer has a practice - it just says “Congratulations! You finished Teach Terminal.” with a short message about what the user learned. Completed index.html - Start menu with Start and Settings buttons settings.html - Settings page with three themes (Ubuntu, Hacker, Kali) login.html - Login page with username, machine name, and password validation mode.html - Mode selection: Free Exploration or Guided Path lessons.html - Course overview with sections and lesson cards main.html - Interactive terminal interface style.css - Main styling, animated gradients, glassmorphism UI, theme colors login.css - Login page styling with themed backgrounds settings.js - Saves the selected theme using localStorage theme.js - Loads the saved theme and applies it automatically login.js - Form validation and redirect to mode page filesystem.js - Fake Linux filesystem with files, folders, permissions, owners, groups, sizes, and modification times terminal.js - Terminal input handling, prompt display, line management, colored output, sudo flow command.js - Command recognition and execution lessons-data.js - All 25 lessons organized into 5 sections lesson.js - Renders the lessons page timeline lesson-window.js - Runs the lesson window inside the terminal Current Commands pwd , ls , cd , mkdir , touch , echo , cat , rm , cp , mv , chmod , chown , sudo , clear , help , history With flags for most commands, redirection ( > , >> , < , 2> ), Tab autocomplete, arrow-key history, !! and !n expansion, and per-command help. Goal My goal is to create a realistic Linux terminal that teaches beginners how to use common commands through interactive lessons instead of just reading documentation. Next Steps Add grep , head , tail Add pipes ( | ) and shell operators ( && , || , ; ) Wildcards and brace expansion Try It Live Demo
Ships:
Teach Terminal I made Teach Terminal - a browser-based Linux terminal simulator for learning basic Linux commands. The main problem I wanted to solve is that learning Linux from documentation can be very passive. You read what cd or chmod does, but you don’t really remember it until you use it yourself. Also, using a real Linux system can be a little scary for beginners because one wrong command can cause problems. Teach Terminal gives you a fake Linux filesystem where you can practice without breaking a real computer. You can log in, choose a mode, and start learning. There are 25 lessons in 5 sections: Introduction, Navigation, Files, Text & Redirection, and Permissions. Every lesson has a small lecture and then practice. In the practice you need to type commands yourself, for example pwd , ls -la , chmod 755 , or sudo chown root file.txt . The terminal gives output and errors similar to what you can get in a real Ubuntu terminal. Note: This is a simulation. It does not enforce all Linux permissions and security rules, so some commands may behave differently than on a real system. What was challenging The fake filesystem was one of the harder parts. I made two classes for it. FileSystem handles the filesystem tree and navigation, and file represents the individual files and folders. It also stores things like permissions, owner, size and modification date. Getting absolute paths working was also a little difficult. I needed to go from the current file or folder to its parents until I reach the root. It is kind of like following a linked list backwards. Another problem was checking commands in multi-step practices. For example, when a user runs sudo chown root file.txt , the practice checker needs to check the whole command and not only chown root file.txt . I also had problems with resetting the practice state. If I make a folder with mkdir projects and then start the same practice again, it will fail because the folder already exists. So I needed to reset the practice filesystem when starting it again. Things I am happy with The lesson engine is probably the part I worked most on. It handles the lecture, practice, success state, and the progress for each step. I also made the lesson window draggable and minimizable. Pressing Escape can toggle the window. The terminal currently supports 16 commands and some extra features like flags, redirection ( > , >> , < , 2> ), tab autocomplete, arrow-key command history, and sudo with password checking. I also added 3 themes: Ubuntu, Hacker and Kali. The themes are used across the different pages. How to test Open the demo link. Go to Settings and choose a theme: Ubuntu, Hacker, or Kali. Log in with a valid username, machine name and password. Choose Guided Path if you want to try the lessons, or Free Exploration if you just want to use the terminal. In a lesson, read the lecture and click Start Practice . Type the commands in the terminal and follow the steps. Some commands you can try: pwd ls -la mkdir test cd test touch file.txt chmod 755 file.txt sudo chown root file.txt The project is made with plain HTML, CSS and JavaScript. I didn’t use frameworks or external dependencies....
|
1793339670.9149792
|
1793426070.9149792
|
|
48619
|
Basic2DP by @VEX | Stardance
|
VEX
|
1
|
35.0
|
293
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T21:13:34Z", "hours": 35.0, "multiplier": 8.47, "payout": 293, "blessing": "neutral", "text": "I made a 2D physics engine which I named as Basic2DP (Basic 2 dimensional physics). It was made in C++ and uses SFML library for drawing the graphics. As for me he most challenging part was learning the actual math and physics to apply in the program. other than this the difficult part was keeping a track of code I often forget what I am supposed to do at what places :P. I am really proud of the fact that it is maybe the first project I have ever made that is this big I even had really fun in making it specially the theme feature was the most fun to work it for some reason, definitely enjoyed it and definitely learned a lot. If you are going to use this project then u can get it from the release section of my github repo but make sure to have 64bit windows and do not remove any of the dll files. Well thats all hope ya like this project :D", "repo": "https://github.com/VX7FAR/Basic2DP", "demo": "https://github.com/VX7FAR/Basic2DP/releases"}]...
|
[{"post_id": 69329, "ts": "202 [{"post_id": 69329, "ts": "2026-09-16T20:26:48Z", "hours": 1.9294, "text": "IT IS FINALLY DONE AAAAAGHHHHHHHH I AM READY TO SHIP THE PROJECT before that lets see what else I did all this time. I made the readme and made minor changes to the code to improve the program like adding a ‘help’ command to get quick help Also to get a proper guide on how things work I added a readme.html in folder of executable so the terminal doesnt feel very cluttered"}, {"post_id": 67451, "ts": "2026-09-13T15:42:13Z", "hours": 3.8656, "text": "sooooo i did a lot of things i completed the input method by taking information by getline() and parsing it and storing each infomation in a vector then it is decided what should be done by checking what is in vector at 0 index i also finished the option for themes and i also added some premade theme to have something to work it and u can even add you own themes. uhhhhh what else did i do…. yes decoration the terminal by default has white text and quickly it starts looking terrible and messy so what i did was i gave the text some colour now it is a bit more cleaner to navigate between different portions in terminal. i am gonna work on making the app capable of being exported and also add some small things here n there also yea the readme as well"}, {"post_id": 65676, "ts": "2026-09-10T23:59:20Z", "hours": 2.7953, "text": "Hmmmmmmmmmmm I did a lot of work today and my code looks very messy now and I am not even sure if it is messy or if it is supposed to look like this Well today I completed the CLI for my physics engine and even added themes so u can customize can look. Damn I thought I did a lot of work and now I cant even remember a single thing that I did Well I do know what I will be doing now I will add a way to save the theme in device at a specific folder this way if u make any theme and close the theme u will still be able to access the previously made theme and u wont have to make it again After that I will give it finishing touches and then README and then make a static version of this app then import then ship 🚢"}, {"post_id": 65084, "ts": "2026-09-09T23:28:06Z", "hours": 1.6919, "text": "I am working on CLI system for giving input to the app As of now I have added a couple of features like updatevelocity, applyforce, setgravity and exit I did not do a commit yet I will do it in the next session I will add more features into it and I currently I am adding a way to get some information from the app which I will tell about in the next devlog"}, {"post_id": 64476, "ts": "2026-09-08T22:03:44Z", "hours": 3.2383, "text": "AAAAAGHHHHHHHHHHH MY HANDDD all i did was some exercise and since then my hand hurts very bad which is why I can type properly just a bit of weird movement and it feels like its going to fall off soo i am gonna tell whatever I have done till now I am done with the physics and collision and now I need to make a CLI for user to do things For that at first I was going to pause the physics and then let the user enter but then I found out about threads Basically when we code everything happens in a straight manner like one step at a time, imagine this like a single assembly line for producing things. Now that I use thread I can do multiple tasks without having to stop the other task which is why I wont have to stop the physics process this is like having two assembly lines (i am not sure what that analogy means but I dont have a proper example , basically I can do things alongside other things without having to pause) Noww next devlog when I add something new and my hand gets better cya!!!"}, {"post_id": 62455, "ts": "2026-09-05T20:10:02Z", "hours": 5.5081, "text": "Dayum today’s time is kinda long cuz i was being a dumdum What happened was since in a physics system we have the graphics, collision and physics so I thought of making different classes which was not a good choice so I spent a REALLLLLLLLYYYYYYYYYYYYYYY long time making those classes and since I wanted it to be inherited the system got really messy and I just kept getting error and errors. So, I stopped and now I am no longer fighting for my life. But then I spent some time making the wall collision a bit better, I improved the logic and also the way positioning happens in it and now the collision is extremely smooth and good looking and it no longer overlaps. After that worked I added gravity which was simple unless you are like me who spent a lot of time but the solution was just one line away. I just had to decrease velocity as per gravity * dt because gravity is second derivative but I kinda tried to mix things and update the velocity and position as the same time. I also added a reference to delta time in main class this way the delta time stays consistent Now I am gonna add a position correction system for object to object collision and then I will be more than 60% done with my project (or so I hope)"}, {"post_id": 60217, "ts": "2026-09-02T13:27:42Z", "hours": 2.6572, "text": "Soo the COLLISION SYSTEM IS COMPLETE I can finally start working on the physics it could be easy I think. As for collision I followed this document: collision reponse Oh wait I need to add collision response for boxes as well I JUST REMMEBERED THIS AS I WAS WRITING THIS DEVLOG I am more cooked than the food when I cook it"}, {"post_id": 58347, "ts": "2026-08-30T18:51:40Z", "hours": 1.305, "text": "the collision system i am starting to understand it now well i cant really explain much in this session sooo i will explain everything in one go after this is done"}, {"post_id": 56906, "ts": "2026-08-28T22:28:07Z", "hours": 0.8483, "text": "for some reason i have been using things that need x and y components as different variables which i dont know why i was doing so i shrinked(if thats a word) them and joined everything info sf::vector2f other than that i spent the time trying to implement things that i did not properly understood gonna spend some time studying a bit better"}, {"post_id": 56282, "ts": "2026-08-27T23:57:28Z", "hours": 0.6497, "text": "well didnt do much today got busy here n there today i finally implemented the functions and classes and they are working smoothly rn, at first i did run into some weird errors which i fixed now i am gonna work on adding object to object collision now that i am done with the regular collision."}, {"post_id": 55503, "ts": "2026-08-27T12:05:55Z", "hours": 1.4981, "text": "I added header files and seperated things to make them cleaner to look at i havent updated the code to work with the headers they are seperate now but I will change it later uhh i forgot what else i had done cuz my hackatime was not working"}, {"post_id": 54752, "ts": "2026-08-25T20:53:12Z", "hours": 1.4792, "text": "MY EXAMS ARE OVERRRRRRRR and now im back on work and I will try to do a devlog almost everyday. I have been working on making the collision system for now i worked with the borders each time I will run into some problem like velocity being updated each frame time after it collides or getting garbage values because I forgot to initialize the variables. Now they are fixed and now I will work on implementing collsion with other physics objects and before that I noticed that the circle will sometimes do slightly behind the border which is what I will fix."}, {"post_id": 53307, "ts": "2026-08-23T19:33:54Z", "hours": 3.2986, "text": "Soo the last time I wrote the code everything was messy and since I had done not so much work I thought of doing everything from the beginning. So I did and this also helped me to understand and improve everything by making the code a bit cleaner and making some functions and classes I also made a struct vector for storing information of the entities. For now I am working on adding only when the objects are circles also since I am implementing only the translation for now thats why I dont think someone will be bothered by not having rotation cuz they probably wont notice any."}, {"post_id": 49952, "ts": "2026-08-18T22:58:51Z", "hours": 0.9917, "text": "I couldnt do much today my exams are going on. But I made some changes to the coordinate system before this the +Y was going downwards now it is upwards Now I have a better grid system such that every coordinate is positive and I wont have to deal with negative numbers"}, {"post_id": 49277, "ts": "2026-08-17T23:56:26Z", "hours": 1.3111, "text": "Soo I realised that making new shapes gets kinda lengthy sometimes so I added a class an object that will help me make a new shape Also before I make anything related to translation and collision I will have to design the grid system I am still thinking of how I should implement the grid and where I should keep the origin Also I specified a fixed size of the window and including the border it is 840x640 pixels and without the border it is 800x600 pixels"}, {"post_id": 48524, "ts": "2026-08-16T22:48:37Z", "hours": 1.5619, "text": "Soo I just started making things and I have never really used a graphics library before so I spent quite a lot of time learning about how I am supposed to be using this library Things went good and it was actually pretty easy to get used to From tomorrow I think I will probably work on implementing movement first or collision first……we will see"}]...
|
Title: Basic2DP by @VEX | Stardance
Devlogs:
Soo Title: Basic2DP by @VEX | Stardance
Devlogs:
Soo I just started making things and I have never really used a graphics library before so I spent quite a lot of time learning about how I am supposed to be using this library Things went good and it was actually pretty easy to get used to From tomorrow I think I will probably work on implementing movement first or collision first……we will see
Soo I realised that making new shapes gets kinda lengthy sometimes so I added a class an object that will help me make a new shape Also before I make anything related to translation and collision I will have to design the grid system I am still thinking of how I should implement the grid and where I should keep the origin Also I specified a fixed size of the window and including the border it is 840x640 pixels and without the border it is 800x600 pixels
I couldnt do much today my exams are going on. But I made some changes to the coordinate system before this the +Y was going downwards now it is upwards Now I have a better grid system such that every coordinate is positive and I wont have to deal with negative numbers
Soo the last time I wrote the code everything was messy and since I had done not so much work I thought of doing everything from the beginning. So I did and this also helped me to understand and improve everything by making the code a bit cleaner and making some functions and classes I also made a struct vector for storing information of the entities. For now I am working on adding only when the objects are circles also since I am implementing only the translation for now thats why I dont think someone will be bothered by not having rotation cuz they probably wont notice any.
MY EXAMS ARE OVERRRRRRRR and now im back on work and I will try to do a devlog almost everyday. I have been working on making the collision system for now i worked with the borders each time I will run into some problem like velocity being updated each frame time after it collides or getting garbage values because I forgot to initialize the variables. Now they are fixed and now I will work on implementing collsion with other physics objects and before that I noticed that the circle will sometimes do slightly behind the border which is what I will fix.
I added header files and seperated things to make them cleaner to look at i havent updated the code to work with the headers they are seperate now but I will change it later uhh i forgot what else i had done cuz my hackatime was not working
well didnt do much today got busy here n there today i finally implemented the functions and classes and they are working smoothly rn, at first i did run into some weird errors which i fixed now i am gonna work on adding object to object collision now that i am done with the regular collision.
for some reason i have been using things that need x and y components as different variables which i dont know why i was doing so i shrinked(if thats a word) them and joined everything info sf::vector2f other than that i spent the time trying to implement things that i did not properly understood gonna spend some time studying a bit better
the collision system i am starting to understand it now well i cant really explain much in this session sooo i will explain everything in one go after this is done
Soo the COLLISION SYSTEM IS COMPLETE I can finally start working on the physics it could be easy I think. As for collision I followed this document: collision reponse Oh wait I need to add collision response for boxes as well I JUST REMMEBERED THIS AS I WAS WRITING THIS DEVLOG I am more cooked than the food when I cook it
Dayum today’s time is kinda long cuz i was being a dumdum What happened was since in a physics system we have the graphics, collision and physics so I thought of making different classes which was not a good choice so I spent a REALLLLLLLLYYYYYYYYYYYYYYY long time making those classes and since I wanted it to be inherited the system got really messy and I just kept getting error and errors. So, I stopped and now I am no longer fighting for my life. But then I spent some time making the wall collision a bit better, I improved the logic and also the way positioning happens in it and now the collision is extremely smooth and good looking and it no longer overlaps. After that worked I added gravity which was simple unless you are like me who spent a lot of time but the solution was just one line away. I just had to decrease velocity as per gravity * dt because gravity is second derivative but I kinda tried to mix things and update the velocity and position as the same time. I also added a reference to delta time in main class this way the delta time stays consistent Now I am gonna add a position correction system for object to object collision and then I will be more than 60% done with my project (or so I hope)
AAAAAGHHHHHHHHHHH MY HANDDD all i did was some exercise and since then my hand hurts very bad which is why I can type properly just a bit of weird movement and it feels like its going to fall off soo i am gonna tell whatever I have done till now I am done with the physics and collision and now I need to make a CLI for user to do things For that at first I was going to pause the physics and then let the user enter but then I found out about threads Basically when we code everything happens in a straight manner like one step at a time, imagine this like a single assembly line for producing things. Now that I use thread I can do multiple tasks without having to stop the other task which is why I wont have to stop the physics process this is like having two assembly lines (i am not sure what that analogy means but I dont have a proper example , basically I can do things alongside other things without having to pause) Noww next devlog when I add something new and my hand gets better cya!!!
I am working on CLI system for giving input to the app As of now I have added a couple of features like updatevelocity, applyforce, setgravity and exit I did not do a commit yet I will do it in the next session I will add more features into it and I currently I am adding a way to get some information from the app which I will tell about in the next devlog
Hmmmmmmmmmmm I did a lot of work today and my code looks very messy now and I am not even sure if it is messy or if it is supposed to look like this Well today I completed the CLI for my physics engine and even added themes so u can customize can look. Damn I thought I did a lot of work and now I cant even remember a single thing that I did Well I do know what I will be doing now I will add a way to save the theme in device at a specific folder this way if u make any theme and close the theme u will still be able to access the previously made theme and u wont have to make it again After that I will give it finishing touches and then README and then make a static version of this app then import then ship 🚢
sooooo i did a lot of things i completed the input method by taking information by getline() and parsing it and storing each infomation in a vector then it is decided what should be done by checking what is in vector at 0 index i also finished the option for themes and i also added some premade theme to have something to work it and u can even add you own themes. uhhhhh what else did i do…. yes decoration the terminal by default has white text and quickly it starts looking terrible and messy so what i did was i gave the text some colour now it is a bit more cleaner to navigate between different portions in terminal. i am gonna work on making the app capable of being exported and also add some small things here n there also yea the readme as well
IT IS FINALLY DONE AAAAAGHHHHHHHH I AM READY TO SHIP THE PROJECT before that lets see what else I did all this time. I made the readme and made minor changes to the code to improve the program like adding a ‘help’ command to get quick help Also to get a proper guide on how things work I added a readme.html in folder of executable so the terminal doesnt feel very cluttered
Ships:
I made a 2D physics engine which I named as Basic2DP (Basic 2 dimensional physics). It was made in C++ and uses SFML library for drawing the graphics. As for me he most challenging part was learning the actual math and physics to apply in the program. other than this the difficult part was keeping a track of code I often forget what I am supposed to do at what places :P. I am really proud of the fact that it is maybe the first project I have ever made that is this big I even had really fun in making it specially the theme feature was the most fun to work it for some reason, definitely enjoyed it and definitely learned a lot. If you are going to use this project then u can get it from the release section of my github repo but make sure to have 64bit windows and do not remove any of the dll files. Well thats all hope ya like this project :D...
|
1793339662.5279858
|
1793426062.5279858
|
|
32485
|
SpideyOs by @Ari001 | Stardance
|
Ari001
|
1
|
13.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T19:29:25Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "so i finalized my webOs it meets all the requirement for the mission not only that it also has a very good readme file that you can read as well as it has several features that you spider man fanz will absolutely like and also can get a lil bit sad it has a lot of features some of them are still under construction tho i am shipping it and i will polish it on the next webOs2 mission . thanks for reading . Demo link - https://arpan832.github.io/SpideyOs/", "repo": "https://github.com/arpan832/SpideyOs", "demo": "https://arpan832.github.io/SpideyOs/"}]...
|
[{"post_id": 72552, "ts": "202 [{"post_id": 72552, "ts": "2026-09-23T06:07:25Z", "hours": 1.0567, "text": "update !!! its version (2.0) here i added multiple draggable windows with custom covers and also music player and a cool boot up screen and a lil mascot of spider man also a pop up screen on the left of the screen and now the webos 1 is done i spend nearly 2 months on this and now finally its here and i am going to ship it … thanks for reading"}, {"post_id": 72519, "ts": "2026-09-23T03:44:16Z", "hours": 1.3867, "text": "so update i nearly completed my spidey os its more than done i added daily bugle , notes app , settings app a terminal those are under construction but yeah i did that not only that i also added niomorphism style and the best part a Daily Bugle app where you can read news on your os"}, {"post_id": 32892, "ts": "2026-07-22T10:58:27Z", "hours": 2.425, "text": "So update!! i changed the whole ui and made it SpiderOs instead of ProtonOs i am very big fan of spiderman and it is inspired by that only i am working on this Os FEATURES - so i added two apps one calculator and a notepad the notepad is underconstruction i am writing this code from hand without using ai much so it would be helpful if you tell me how it looks Features to add next - A file manager and a taskbar is what i will head for the next time ( Thanks for reading, peace!!)"}, {"post_id": 32500, "ts": "2026-07-21T18:35:10Z", "hours": 3.9672, "text": "update on ProtonOS So today I finally made my first app a calculator for my OS. OMG, it was so hard and long to make a app i dont know how people are making os this fast oww … i am not using ai that much so it should take time haha .. well thanks for reading this devlog here is a nice picture of how the calculator looks"}, {"post_id": 31777, "ts": "2026-07-20T13:15:24Z", "hours": 2.1142, "text": "ProtonOS Update (v-6.5) Added a clean top bar with a live clock and date. Created a lightweight Calculator app using Flexbox. Added smooth Y-axis animations for UI elements. Learned and implemented CSS pseudo-elements and @keyframes animations. Standardized the app UI—future apps will reuse the same interface, with only layout positions and underlying logic changing. looking forward to (v-7.0)"}, {"post_id": 27832, "ts": "2026-07-13T18:31:40Z", "hours": 0.865, "text": "ProtonOS hit phase 0.6; I just added the boot screen, and after that I added a small top bar where you can see the time and also a cute desktop wallpaper. Now I will add apps and VFS (Virtual File system) for my OS … looking forward to phase 0.7"}, {"post_id": 26062, "ts": "2026-07-10T17:29:02Z", "hours": 1.1008, "text": "So i am working on my ProtonOS, and today i completed the phase 0.5 (THE BOOT ) section Resolutions – So for phase 1, I am thinking of adding wallpaper, a few apps with proper functions and a taskbar more and that will be the core of my phase 1 Current Situation — so for now its a boot section that when youe Browser window loads you can see the the name PROTON on the screen and it uses Typewriting logic and then when you click it a top bar with time appears fn it is the phase 0.5"}]...
|
Title: SpideyOs by @Ari001 | Stardance
Devlogs:
S Title: SpideyOs by @Ari001 | Stardance
Devlogs:
So i am working on my ProtonOS, and today i completed the phase 0.5 (THE BOOT ) section Resolutions – So for phase 1, I am thinking of adding wallpaper, a few apps with proper functions and a taskbar more and that will be the core of my phase 1 Current Situation — so for now its a boot section that when youe Browser window loads you can see the the name PROTON on the screen and it uses Typewriting logic and then when you click it a top bar with time appears fn it is the phase 0.5
ProtonOS hit phase 0.6; I just added the boot screen, and after that I added a small top bar where you can see the time and also a cute desktop wallpaper. Now I will add apps and VFS (Virtual File system) for my OS … looking forward to phase 0.7
ProtonOS Update (v-6.5) Added a clean top bar with a live clock and date. Created a lightweight Calculator app using Flexbox. Added smooth Y-axis animations for UI elements. Learned and implemented CSS pseudo-elements and @keyframes animations. Standardized the app UI—future apps will reuse the same interface, with only layout positions and underlying logic changing. looking forward to (v-7.0)
update on ProtonOS So today I finally made my first app a calculator for my OS. OMG, it was so hard and long to make a app i dont know how people are making os this fast oww … i am not using ai that much so it should take time haha .. well thanks for reading this devlog here is a nice picture of how the calculator looks
So update!! i changed the whole ui and made it SpiderOs instead of ProtonOs i am very big fan of spiderman and it is inspired by that only i am working on this Os FEATURES - so i added two apps one calculator and a notepad the notepad is underconstruction i am writing this code from hand without using ai much so it would be helpful if you tell me how it looks Features to add next - A file manager and a taskbar is what i will head for the next time ( Thanks for reading, peace!!)
so update i nearly completed my spidey os its more than done i added daily bugle , notes app , settings app a terminal those are under construction but yeah i did that not only that i also added niomorphism style and the best part a Daily Bugle app where you can read news on your os
update !!! its version (2.0) here i added multiple draggable windows with custom covers and also music player and a cool boot up screen and a lil mascot of spider man also a pop up screen on the left of the screen and now the webos 1 is done i spend nearly 2 months on this and now finally its here and i am going to ship it … thanks for reading
Ships:
so i finalized my webOs it meets all the requirement for the mission not only that it also has a very good readme file that you can read as well as it has several features that you spider man fanz will absolutely like and also can get a lil bit sad it has a lot of features some of them are still under construction tho i am shipping it and i will polish it on the next webOs2 mission . thanks for reading . Demo link - https://arpan832.github.io/SpideyOs/...
|
1793339650.1300952
|
1793426050.1300952
|
|
69470
|
Siyam-bot by @Siyam | Stardance
|
Siyam
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T16:53:44Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a slackbot. its running 24/7 in nest. it has 3 different commands like, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact Building was not so hard, but deploying it was a little bit hard. but i followed the guide and did it.", "repo": "https://github.com/Tanzil-Alam/Siyam-bot", "demo": "https://hackclub.slack.com/app_redirect?app=A0C9GQZUN1W"}]...
|
[{"post_id": 79265, "ts": "202 [{"post_id": 79265, "ts": "2026-10-13T08:14:55Z", "hours": 0.43, "text": "I have did everything according the mission guide and pushed to github. it has 3 commands and all of them works. the commands are, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact all of them are working well. iam just waiting to being approved in nest, then i will deploy and ship the project."}]...
|
Title: Siyam-bot by @Siyam | Stardance
Devlogs:
I Title: Siyam-bot by @Siyam | Stardance
Devlogs:
I have did everything according the mission guide and pushed to github. it has 3 commands and all of them works. the commands are, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact all of them are working well. iam just waiting to being approved in nest, then i will deploy and ship the project.
Ships:
This is a slackbot. its running 24/7 in nest. it has 3 different commands like, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact Building was not so hard, but deploying it was a little bit hard. but i followed the guide and did it....
|
1793339644.916768
|
1793426044.916768
|
|
38366
|
PyFi by @Choc0latesauce | Stardance
|
Choc0latesauce
|
1
|
23.0
|
339
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T21:33:25Z", "hours": 23.0, "multiplier": 14.54, "payout": 339, "blessing": "neutral", "text": "I want to preface this with the fact that I am so grateful for this community and what it does for getting kids into stem, I wish I knew about hack club earlier! Thank you so much for bothering to read this too reviewers! This is my first ever mega project, it took a lot of reading, learning, trial and error and many, many hours troubleshooting. But the end result is something I’m genuinely proud of, actually use and want to show to the world! So here’s the description I cooked up: The Pitch: Do you like listening to music? - Most likely. Are you fed up with money hungry billionaires pilfering your wallet in order for you to listen to your tracks in an accessible way? - Most Likely. Do you want to actually OWN your music but not have to faff around with awful UI and/or optical media? - Most Likely… Then you need PyFi! My Spotify or Apple Music esque mp3 player that allows you to listen to your music and actually own it all while having a sleek and intuitive user and familiar interface and is chocked full of useful features. The Features: 📱 Intuitive & customisable UI - Anything as long as it’s blue, red, yellow, pink, green, purple or turquoise! ♾️ Infinite upload potential - Upload single song or whole albums in one go, all of which are cataloged by the: 🖼️ PyFi meta ripper™ - Pulls album info, artist info and thumbnails from your tracks in order to organise them automatically. 🔀 Shuffle - Pretty self explanatory, shuffles songs innit… 🔁 Song looper - Loops songs! 🔊 Volume slider - Easy In-App audio control 🎼 Current playlist viewer - Allows you to see upcoming songs and reorder them by dragging them 📌 Pin window - Pin the window ontop of others which goes well with: 🪟 Scalable window - Have as much or as little info as you want, go from a full Spotify like view to a minimal one - more later. 📚 Library view - View your uploaded albums in an easy format and load their tracks or play your custom playlist made using: 💖 The favourite button - Favourite your songs in order to add them to a custom playlist that you can use at any point. 🎵 EQ mode - Wanna change how your music sounds? Choose from 20 custom EQ presets. 💾 Persistence - PyFi makes use of .json files in order to save your settings and media between sessions. 🗄️ External storage support - Allows you to use external storage including USB sticks and NAS servers, saving between disconnects. 🌐 Multi Language support - Almost full translations of both Spanish and Swedish", "repo": "https://github.com/Choc0latesauce/PyFi", "demo": "https://github.com/Choc0latesauce/PyFi/releases"}]...
|
[{"post_id": 65608, "ts": "202 [{"post_id": 65608, "ts": "2026-09-10T20:58:24Z", "hours": 0.6931, "text": "Wait? That wasn’t the final devlog?!?! 😱 I fixed a couple of last minute bugs and worked on multiple ways for you to download and use PyFi! IT’S ABOUT TO RELEASE OMG I’M SO EXCITED Don’t really have an image so here’s a blahaj"}, {"post_id": 65258, "ts": "2026-09-10T08:11:57Z", "hours": 3.7553, "text": "The final update!!! So what’s new? I have massively optimised PyFi, speeding up initial launch times and preventing crashes. fully implemented the favourite tracks function so a user can easily make a custom playlist. Which ties into the album viewer, allowing the user to view their uploaded albums, select and play them specifically or play their favourite / all tracks. All of which is saved to a .json file making it persistent between app launches. I’m very very happy that PyFi is now complete and I’m very excited to see what you guys think! Known bugs?!? -> A couple of the Ui elements haven’t been translated, this will come in a later update as I pride myself on having actual human translators, but at the same time I’m kinda rushing to get this out lol."}, {"post_id": 62904, "ts": "2026-09-06T13:17:35Z", "hours": 6.0633, "text": "After A long hiatus I have produced the biggest update to PyFi so far! Coming with ui improvements, dynamic song location saving and persistence (allowing it to read songs from a network drive or USB stick, etc, and saves the locations in such a way that at any point in the future you can reconnect the storage and it will auto load the songs again), the framework for album creation and viewing, language improvements and refinement as well as the ability to drag songs to reorder them in the playlist viewer plus a bunch of other stuff I did a while ago that I quite frankly, cannot remember lol. I’m very excited as PyFi is almost feature complete!"}, {"post_id": 50476, "ts": "2026-08-19T17:17:57Z", "hours": 3.9461, "text": "Absolutely gargantuan update today! First of all, I fixed formatting and text for the labels and volume slider. Fixed a few bugs surrounding the album art being displayed. Added in a playlist viewer like Spotify and such which displays the tracks, album art and artists. I added a settings json file that PyFi saves to in order to save all of your settings to in order to make them persistent between sessions. Another feature / happy coincidence, Pyfi is compatible with Network Attached Storage, being able to pull and do playback from one. I want to add the ability for song locations to be saved between sessions so you don’t have to upload the songs every time you launch, fixed the formatting of album art, make it so the playlist viewer actually tells you what track is selected and a full album uploader / viewer incorporating the Favourite button."}, {"post_id": 48413, "ts": "2026-08-16T19:06:41Z", "hours": 3.7608, "text": "A big update this time! While this isn’t the best example, PyFi is now able to pull album art from mp3s and other such formats and display it like Spotify or Apple Music. I have also added various other new features such as the ability to change the Ui language within PyFi to English, Spanish, French, Hungarian or Swedish currently supported and translated accurately (not by translate!). The user is now able to select from a wide range of Ui colour options to style PyFi to their liking with font styles possibly being an option in the future. I have also added support for EQ settings and presets, allowing the user to select from a wide range of options such as Classical, Techno, Bass boost and many, many more to customise their listening experience to their exact preference. A minor change but I have changed the next and previous buttons to be icons until you hover over them, at which point they display text telling the user what the button does. Finally and most importantly I have added a playback scrubber and playtime, allowing users to select specific parts of their songs to listen to and track how long is left."}, {"post_id": 46587, "ts": "2026-08-13T22:29:51Z", "hours": 1.0794, "text": "PyFi now actually plays audio files! Using vlc as a framework, the user is able to provide an audio file (of almost any variety) and PyFi can play it back, even with a functional volume slider."}, {"post_id": 46540, "ts": "2026-08-13T20:46:01Z", "hours": 2.8436, "text": "Improving on ui design and scalability, including adding support for a dynamic amount of frames and window sizes. Improved the outputs from the buttons and tickboxes and buttons as well as making it so the play/pause button actually changes text whenever you click it to represent what it will do. I also added in window pinning functionality that allows the user to pin PyFi above all of their other apps easily and unpin it all the same."}, {"post_id": 35287, "ts": "2026-07-26T16:25:21Z", "hours": 1.1694, "text": "I am creating a python based music and mp3 listening software that is a from the ground up remake of a basic mp3 player I made a year or 2 ago with increased functionality and an updated, modern UI. Here I am practicing and blocking out the UI with customtkinter, something that I have never used before (I used pygame for the last one) but am finding very intuitive and useful. I am able to add check boxes and buttons that can have custom outputs as shown in the terminal, I can’t wait to do more! The UI also scales perfectly to any resolution and window size, something I learnt was very important from my first html project lol"}]...
|
Title: PyFi by @Choc0latesauce | Stardance
Devlog Title: PyFi by @Choc0latesauce | Stardance
Devlogs:
I am creating a python based music and mp3 listening software that is a from the ground up remake of a basic mp3 player I made a year or 2 ago with increased functionality and an updated, modern UI. Here I am practicing and blocking out the UI with customtkinter, something that I have never used before (I used pygame for the last one) but am finding very intuitive and useful. I am able to add check boxes and buttons that can have custom outputs as shown in the terminal, I can’t wait to do more! The UI also scales perfectly to any resolution and window size, something I learnt was very important from my first html project lol
Improving on ui design and scalability, including adding support for a dynamic amount of frames and window sizes. Improved the outputs from the buttons and tickboxes and buttons as well as making it so the play/pause button actually changes text whenever you click it to represent what it will do. I also added in window pinning functionality that allows the user to pin PyFi above all of their other apps easily and unpin it all the same.
PyFi now actually plays audio files! Using vlc as a framework, the user is able to provide an audio file (of almost any variety) and PyFi can play it back, even with a functional volume slider.
A big update this time! While this isn’t the best example, PyFi is now able to pull album art from mp3s and other such formats and display it like Spotify or Apple Music. I have also added various other new features such as the ability to change the Ui language within PyFi to English, Spanish, French, Hungarian or Swedish currently supported and translated accurately (not by translate!). The user is now able to select from a wide range of Ui colour options to style PyFi to their liking with font styles possibly being an option in the future. I have also added support for EQ settings and presets, allowing the user to select from a wide range of options such as Classical, Techno, Bass boost and many, many more to customise their listening experience to their exact preference. A minor change but I have changed the next and previous buttons to be icons until you hover over them, at which point they display text telling the user what the button does. Finally and most importantly I have added a playback scrubber and playtime, allowing users to select specific parts of their songs to listen to and track how long is left.
Absolutely gargantuan update today! First of all, I fixed formatting and text for the labels and volume slider. Fixed a few bugs surrounding the album art being displayed. Added in a playlist viewer like Spotify and such which displays the tracks, album art and artists. I added a settings json file that PyFi saves to in order to save all of your settings to in order to make them persistent between sessions. Another feature / happy coincidence, Pyfi is compatible with Network Attached Storage, being able to pull and do playback from one. I want to add the ability for song locations to be saved between sessions so you don’t have to upload the songs every time you launch, fixed the formatting of album art, make it so the playlist viewer actually tells you what track is selected and a full album uploader / viewer incorporating the Favourite button.
After A long hiatus I have produced the biggest update to PyFi so far! Coming with ui improvements, dynamic song location saving and persistence (allowing it to read songs from a network drive or USB stick, etc, and saves the locations in such a way that at any point in the future you can reconnect the storage and it will auto load the songs again), the framework for album creation and viewing, language improvements and refinement as well as the ability to drag songs to reorder them in the playlist viewer plus a bunch of other stuff I did a while ago that I quite frankly, cannot remember lol. I’m very excited as PyFi is almost feature complete!
The final update!!! So what’s new? I have massively optimised PyFi, speeding up initial launch times and preventing crashes. fully implemented the favourite tracks function so a user can easily make a custom playlist. Which ties into the album viewer, allowing the user to view their uploaded albums, select and play them specifically or play their favourite / all tracks. All of which is saved to a .json file making it persistent between app launches. I’m very very happy that PyFi is now complete and I’m very excited to see what you guys think! Known bugs?!? -> A couple of the Ui elements haven’t been translated, this will come in a later update as I pride myself on having actual human translators, but at the same time I’m kinda rushing to get this out lol.
Wait? That wasn’t the final devlog?!?! 😱 I fixed a couple of last minute bugs and worked on multiple ways for you to download and use PyFi! IT’S ABOUT TO RELEASE OMG I’M SO EXCITED Don’t really have an image so here’s a blahaj
Ships:
I want to preface this with the fact that I am so grateful for this community and what it does for getting kids into stem, I wish I knew about hack club earlier! Thank you so much for bothering to read this too reviewers! This is my first ever mega project, it took a lot of reading, learning, trial and error and many, many hours troubleshooting. But the end result is something I’m genuinely proud of, actually use and want to show to the world! So here’s the description I cooked up: The Pitch: Do you like listening to music? - Most likely. Are you fed up with money hungry billionaires pilfering your wallet in order for you to listen to your tracks in an accessible way? - Most Likely. Do you want to actually OWN your music but not have to faff around with awful UI and/or optical media? - Most Likely… Then you need PyFi! My Spotify or Apple Music esque mp3 player that allows you to listen to your music and actually own it all while having a sleek and intuitive user and familiar interface and is chocked full of useful features. The Features: 📱 Intuitive & customisable UI - Anything as long as it’s blue, red, yellow, pink, green, purple or turquoise! ♾️ Infinite upload potential - Upload single song or whole albums in one go, all of which are cataloged by the: 🖼️ PyFi meta ripper™ - Pulls album info, artist info and thumbnails from your tracks in order to organise them automatically. 🔀 Shuffle - Pretty self explanatory, shuffles songs innit… 🔁 Song looper - Loops songs! 🔊 Volume slider - Easy In-App audio control 🎼 Current playlist viewer - Allows you to see upcoming songs and reorder them by dragging them 📌 Pin window - Pin the window ontop of others which goes well with: 🪟 Scalable window - Have as much or as little info as you want, go from a full Spotify like view to a minimal one - more later. 📚 Library view - View your uploaded albums in an easy format and load their tracks or play your custom playlist made using: 💖 The favourite button - Favourite your songs in order to add them to a custom playlist that you can use at any point. 🎵 EQ mode - Wanna change how your music sounds? Choose from 20 custom EQ presets. 💾 Persistence - PyFi makes use of .json files in order to save your settings and media between sessions. 🗄️ External storage support - Allows you to use external storage including USB sticks and NAS servers, saving between disconnects. 🌐 Multi Language support - Almost full translations of both Spanish and Swedish...
|
1793339635.831957
|
1793426035.831957
|
|
16010
|
A simple pygame creation by @CharlesTang | Stardan A simple pygame creation by @CharlesTang | Stardance...
|
CharlesTang
|
1
|
27.07
|
35
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T23:57:44Z", "hours": 26.0, "multiplier": 1.36, "payout": 35, "blessing": "neutral", "text": "What we have here is a simple little game you can play with one, or two players. It is made with pygame, so it isn’t fancy, but thats all part of the process. While designing, I found this philosophy useful: “Keep it simple, Stupid” I think this project is very important because it taught me github, and how to use A*. This is the first of many programming projects I will attempt to create, and I worked all summer on this. It doesn’t really matter if it doesn’t do bad, I improved at programming, thats what matters.", "repo": "https://github.com/Tupolev114/Square_game", "demo": "https://github.com/Tupolev114/Square_game/releases/tag/V1.5"}]...
|
[{"post_id": 78500, "ts": "202 [{"post_id": 78500, "ts": "2026-10-11T00:17:25Z", "hours": 1.0694, "text": "Chapter II: Square Game Reborn has officially started! based on some feedback given by others, I decided to take square game to the next level by added more UI, visual effects, and increase Playability. Hope you all enjoy! Square Game reborn is essentially just the original square game, but better."}, {"post_id": 71264, "ts": "2026-09-20T15:26:57Z", "hours": 2.0075, "text": "Houston we have landed! Its been a great journey and I learned how to use github, its not a complex project but I like it."}, {"post_id": 62236, "ts": "2026-09-05T14:39:50Z", "hours": 8.1878, "text": "Release 1.3 is out! No more lag and I fixed many bugs, website also updated."}, {"post_id": 48985, "ts": "2026-08-17T15:58:18Z", "hours": 4.6469, "text": "Release 1.2 is officially out! I added shields, and cooldown displays for UI, as well as fixed dashing. Stay tuned for 1.3, where the PvE mode will feel more human!"}, {"post_id": 44140, "ts": "2026-08-09T18:19:45Z", "hours": 2.2258, "text": "After many weeks, I now have a reliable, working navigation system for PvE. it even works on diagonals (red squares were for debugging)"}, {"post_id": 41603, "ts": "2026-08-05T22:08:15Z", "hours": 3.2619, "text": "Houston, I now officially have a website to play the game on! It took me a while to figure out Github and everything else but I learned that patience is more important than knowing Github. Overall it was a learning experience."}, {"post_id": 37576, "ts": "2026-07-30T12:24:43Z", "hours": 0.8433, "text": "I learned A* with the help of AI and made a semi-working A* algorithm. Its not perfect but its getting somewhere"}, {"post_id": 36047, "ts": "2026-07-27T21:27:26Z", "hours": 3.0744, "text": "I spent a bit of time debugging, and made some progress on A*, but there are still things that need to be fixed"}, {"post_id": 35225, "ts": "2026-07-26T15:01:54Z", "hours": 1.5647, "text": "Devlog #1: Houston we are ready for liftoff! I got my documents verified and time tracked, so now I will work on A* for PvE mode."}]...
|
Title: A simple pygame creation by @CharlesTang | Title: A simple pygame creation by @CharlesTang | Stardance
Devlogs:
Devlog #1: Houston we are ready for liftoff! I got my documents verified and time tracked, so now I will work on A* for PvE mode.
I spent a bit of time debugging, and made some progress on A*, but there are still things that need to be fixed
I learned A* with the help of AI and made a semi-working A* algorithm. Its not perfect but its getting somewhere
Houston, I now officially have a website to play the game on! It took me a while to figure out Github and everything else but I learned that patience is more important than knowing Github. Overall it was a learning experience.
After many weeks, I now have a reliable, working navigation system for PvE. it even works on diagonals (red squares were for debugging)
Release 1.2 is officially out! I added shields, and cooldown displays for UI, as well as fixed dashing. Stay tuned for 1.3, where the PvE mode will feel more human!
Release 1.3 is out! No more lag and I fixed many bugs, website also updated.
Houston we have landed! Its been a great journey and I learned how to use github, its not a complex project but I like it.
Chapter II: Square Game Reborn has officially started! based on some feedback given by others, I decided to take square game to the next level by added more UI, visual effects, and increase Playability. Hope you all enjoy! Square Game reborn is essentially just the original square game, but better.
Ships:
What we have here is a simple little game you can play with one, or two players. It is made with pygame, so it isn’t fancy, but thats all part of the process. While designing, I found this philosophy useful: “Keep it simple, Stupid” I think this project is very important because it taught me github, and how to use A*. This is the first of many programming projects I will attempt to create, and I worked all summer on this. It doesn’t really matter if it doesn’t do bad, I improved at programming, thats what matters....
|
1793339630.797909
|
1793426030.797909
|
|
30941
|
Mati by @Joschi | Stardance
|
Joschi
|
1
|
228.73
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T12:33:31Z", "hours": 228.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Welcome to MATI Discover MATI, a simple and relaxing Sudoku-inspired puzzle game designed to challenge your number-solving skills without putting you under pressure. Your goal is simple: Find the right numbers and complete every row and column correctly. MATI is designed to be fun and stress-free: No Time Pressure: Disable the timer whenever you want and play at your own pace. No Mistakes to Fear: MATI doesn’t punish you for incorrect entries. Simply correct them whenever you notice a mistake. 4 Different Sizes: Choose from four puzzle sizes to match your preferred challenge. Built-in Terminal: Prefer an old-school experience? Play MATI directly in its integrated terminal. Full Keyboard Support: No mouse or trackpad? No problem! MATI can be controlled entirely with your keyboard. ! Development Notice! MATI is still under active development. More features, improvements, and refinements are planned for future updates. Thank you for checking out MATI!", "repo": "https://github.com/JKfromHMS/Mati", "demo": "https://github.com/JKfromHMS/Mati/releases/tag/Mati"}]...
|
[{"post_id": 71221, "ts": "202 [{"post_id": 71221, "ts": "2026-09-20T14:03:17Z", "hours": 0.7347, "text": "Fixed the Read-Me After I got noticed that my Read-Me is not quite what it has to be, I have done a new version that should fit better into the requirements."}, {"post_id": 70074, "ts": "2026-09-18T12:15:17Z", "hours": 5.6108, "text": "Probably the last devlog on this project After more than 220 hours of coding and more and another 200 hours of deciding what to do and talking to other developers about how I could make this program run and do it good, I finally think that it is on a point at which I can think about shipping it. It runs, has no crucial bugs I noticed and is efficient enough to not take several hours just for the export of an mp4 video. Maybe I will add more features later, so do not be shy to comment what you like and what I should change and of course, please tell me if you have found any bug or unnatural behavior. OS Declaration Even though my goal was to make MATI run on every of the big 3 (Mac-OS, Linux, Windows) the current version just runs as wanted on Windows, due to different handling with graphic, which just means, that not every text is placed wright and that the overall look is scratched on Linux and Mac-OS. PS: The picture is the app icon."}, {"post_id": 67290, "ts": "2026-09-13T11:20:20Z", "hours": 9.3047, "text": "Tutorial I added a tutorial that shows the player how the game mainly works and give him the information about the shortcuts. Also I added a function to make the clock a reopen point for a small explanation what the program can do."}, {"post_id": 65414, "ts": "2026-09-10T15:09:37Z", "hours": 7.2906, "text": "Finalizing basic functions My goal is the finish the app as soon as possible. So I am know fixing the last few bugs and add the last missing feature that the program should have. This devlog should just let you know, that the last days were full of deciding what could I do to improve the program and were the bugs are. (Poorly most of this sort of spend time is not count toward the project.) The provided screenshots shows a thing I am currently trying to do better, the extended settings, because like you see, the design is very bad."}, {"post_id": 61761, "ts": "2026-09-04T20:25:16Z", "hours": 9.6339, "text": "Better Structure, Same Simplicity The last (many) hours I spend with one thing. Making sure the codes run even with new and better structure internal. This was also really important, because it made it easier to integrate multiple new things. One thing is, that now into the nearly same and reliable stats design comes buttons. This buttons are basically the headers, means size, mode, games … . If you click on them they basically sort the stats after this header. Furthermore the terminal got a big upgrade, because now it has three new ways to get deeper into your game. At first you can now easily check if you have paused matches. Also you can check your export history, which new feature made it actually also possible to get warned if you export a single match multiple times. And last but not least analysis. Because the game now got a deeper understanding of how you are playing and what are your trends and you can view all of this by the terminals history. (And I was shocked how good it worked with my recent 150 matches.) I hope, I didn’t overwhelmed you with all these information and that you are as curious for the new version as I am."}, {"post_id": 60773, "ts": "2026-09-03T11:24:14Z", "hours": 2.2931, "text": "Chapters I added with the help of AI the possibility to have chapters into my game. So you now can go exactly to the start of every action like you do in the game itself. And even though I know that this do not make that much of the decision how good the program is, it is still another thing that I now know how to do and I think that this is also really important."}, {"post_id": 59881, "ts": "2026-09-01T21:22:44Z", "hours": 9.7594, "text": "System remake It took a while and I forgot a little the time it used, but I did it. Now the whole game runs more efficient threw the new system that handles buttons separate and keeps them cached, so they do not have to be completely calculated every frame new. Also some designs changed slightly."}, {"post_id": 58281, "ts": "2026-08-30T17:28:26Z", "hours": 7.7617, "text": "Bug fixing and redesign Over the last thew versions, even though I spend a lot of time in debugging, many little bugs appear. Sometimes they comes just from moving a function or mistyping and sometimes deeper. So with this version I fixed again many of them, like wrong time show in the achievements and many others. Furthermore I worked and correcting and redesigning the whole terminal help logic, giving the main achievements new names and, like you see in the picture, modified the general achievements screen so that it not just looks better, but also feels better in reason of an improved algorithm to hide the mouse and navigation buttons. PS: If you use it and find a bug, it would be really nice if you could comment it."}, {"post_id": 57627, "ts": "2026-08-29T20:40:59Z", "hours": 7.5722, "text": "Code split and missing feature give With the latest version the game has grown to 14 game and 3 language constructor files, because I a made clearer structure in the code itself, that means I grabbed my screens file and extracted everything that was in there but with questionable reason. So the new files helpers and alt_hover was created. The task of alt_hover is explicit to handle everything containing the keyboard navigation possibilities. Helpers on the other hand is made for everything that is like a config but little more. (I know, that my config still is more as it should, I’ll try to change this as soon as possible.) Also I added with this update missing features that already should be in there like that the keyboard navigation also works in the advanced settings or that like you see in the picture the buttons in settings have an own color palette to make sure that it is clear that they at first are toggle buttons and have an associated color for each of their states. Furthermore I fixed a few little bugs, like that the back jump to the achievement button is not working with the up going higher than to the full-screen button. I hope you enjoy version 0.6.1"}, {"post_id": 56788, "ts": "2026-08-28T18:19:14Z", "hours": 4.5989, "text": "New Design and better language including Now the Achievements have this existing new design that not just looks better but also provides you more easy the needed information. I also made the language better fitting to the shown elements and changed some slightly to make it also look better. Furthermore I fixed a few little bugs like that you could not select ctrl and key shortcuts by yourself or that the pause text has not reacted to that."}, {"post_id": 55614, "ts": "2026-08-27T16:05:18Z", "hours": 9.0169, "text": "Languages and Efficiency The last few hours I used to refresh my school knowledge in French and Spanish to create language packets for my game in this two languages. What I did a little bit earlier is to work again on video exporting efficiency and now it gone really fast. Exporting a video in normal scale takes less time then playing it, in twice the resolution it takes usually around the play time or a little longer and in the highest settings still long. But overall it is now much faster and with less possible problems. PS: The export time are different depending on the hardware of your computer."}, {"post_id": 54404, "ts": "2026-08-25T12:23:33Z", "hours": 8.4808, "text": "Language and Efficiency After many hours I finally made it to add a second language to my game, beside English you know can have German texts in the game. Furthermore I took a little time to made the game as video export more efficient so that it takes 6 seconds less to export my test game."}, {"post_id": 51927, "ts": "2026-08-21T21:03:36Z", "hours": 8.6083, "text": "Languages What I used the last few hours for is what I probably will have to do for some more. Go threw the code and replace everything that generates an output the user could see with the new method that translate this. For this I also need to add the translations. As I needed a break I made the new design for the advanced settings, and now its like I wanted it to be. Furthermore the history in terminal supports now more sort options and - in front to change the meaning for this it has a new system that transfers everything with the same meaning into the same internal command."}, {"post_id": 51317, "ts": "2026-08-20T22:01:43Z", "hours": 8.9794, "text": "Added Advanced Settings It took long and still look not that great and do not work all over, but the base is set. To explain it, the game now has variable sound volume. Also you can now change the language, even though I do not have already created a fully second language. Furthermore navigation keys and ultra input order are now choose able, so if you prefer it different you can now make it so. PS: This devlog is made just in reason off time, at the moment none of this get pushed to GitHub, because it is still in developing."}, {"post_id": 49668, "ts": "2026-08-18T15:35:52Z", "hours": 6.5797, "text": "Fixed Bugs Now the game have finally also in terminal’s ultra game the option to pause the game and take a break. I also added a mechanism for players who want to be really fast that allows the program to submit commands automatically to reduce the submit click every action. Furthermore the achievement screen now has a two way navigation what means that you could either press the left/right arrow keys of your keyboard or click with your mouse on the magic appearing buttons. PS: V0.5.1 is out, it is an update mostly about bug fixing and just this little new features from witch 2 already should work in version beyond this."}, {"post_id": 48338, "ts": "2026-08-16T17:28:07Z", "hours": 4.4836, "text": "Achievements and clear up I added a new achievements show way that is based on multiple pages and every has his specific achievements on. I also cleared up the code a little bit, means I put fast added constants into the config, do little efficiency things and stuff like that. Furthermore I made scrollbars not just be better shown threw all menus, but also work better (more accurate). Now V0.5.0 is on GitHub, if you find bugs, please comment them under this devlog."}, {"post_id": 47395, "ts": "2026-08-15T09:45:19Z", "hours": 7.1794, "text": "Sort and filter system I added an advanced sort and filter system to the history in the terminal. Furthermore the history detail video export is now way faster and the exported videos just need the up to the half of the capacity they have needed before in the same quality level."}, {"post_id": 46868, "ts": "2026-08-14T12:38:24Z", "hours": 8.1706, "text": "Achievements and Design Now the game has an achievement system that show you something like tasks you could do. I also fixed like always some bugs from which are way to much in there and also redesigned the history detail grid position for every size."}, {"post_id": 45396, "ts": "2026-08-11T20:31:36Z", "hours": 4.8586, "text": "New jump system I added a new jump system for the setting, history detail, the Hannah Easter eggs and history view. This enabled the possibility to jump right back and not every time to the start and so you can navigate way faster threw this systems. I also fixed some bugs for example the bug that make the upscale from the exports video not work right. And like always, please comment under this if you notice a bug so that I can fix it."}, {"post_id": 44875, "ts": "2026-08-10T22:18:07Z", "hours": 7.9992, "text": "Efficiency and little changes Threw match case the code got little faster. I also corrected some weird keyboard navigation hover bugs fixed. Furthermore the terminal now got a clock and settings have a complete new look. The last really nameable thing is about that now, if you undo an action, this action is actually marked as undone (if not undone with the button), so you better reflect in the history detail view how the game was."}, {"post_id": 43391, "ts": "2026-08-08T16:33:15Z", "hours": 8.9786, "text": "Scrollbars and bug fix Now, finally, the scrollbars are really working and can be dragged as wished. I also added a version of the stats to the normal view and a version of the history and the settings to the terminal. Furthermore I worked on a way to scale the game up for the mp4 export and to make it harder to cheat. And, like always: If you test it (the newest versions code will be on GitHub in a few days) and should find any bug, please comment them so I can fix it."}, {"post_id": 41376, "ts": "2026-08-05T15:30:23Z", "hours": 6.8236, "text": "Efficiency I worked on the efficiency of the mp4 export and made sure that every sound is played correctly and every state is shown as wished."}, {"post_id": 38859, "ts": "2026-08-01T12:52:03Z", "hours": 5.6961, "text": "MP4 export Now you have the possibility to export a played game as a mp4 video file. With this method you can share your games with others."}, {"post_id": 37646, "ts": "2026-07-30T15:14:02Z", "hours": 7.1558, "text": "Fixed non working features Until now the program got a few things half implemented or even fully in the game but not use able because of mistakes. So know you finally see the scrollbars and you can navigate threw the terminal. You input line finally got moveable from left to right and right to left and buttons got a little new positioning. Also I made the code a little more efficient again."}, {"post_id": 36394, "ts": "2026-07-28T13:58:30Z", "hours": 5.6106, "text": "Efficiency and bug fix Underneath a list of what that means: Now you can see your stats threw the terminal again. Now only games in which you have done something are saved as paused games you can continue. Now also the ultra games are saved correctly and with every action. Now you can write play out again in the terminal. Now the wrong unknown command c message after resuming a game in ultra mode is removed. Now it does not matter anymore if a command has spaces in between or not (at least for those this is wanted). Now the check for play starts threw terminal, normal and ultra, and also for leaving the terminal is way more efficient thank to hash. Now the time code is more simplified. Now you can find a second Easter egg. Now you can with ptl (play time long) see, even over a minute, your playtime on milliseconds in terminal. Now you have a new stats looks that changes itself automatically to the number of your number of games. Now you automatically are on continue when you pause the game. Now Strg/Cmd n activates new match, like you would pressed the button. Now every in game terminal is closed correctly when wanted. Now Strg/Cmd m brings you back to menu everywhere you are. Now you can use up and down arrow to navigate threw your command history in terminal. Now stats show your real data and do not calculate the minutes out. Now terminal input are way more efficient. Now ultra games are way more efficient. Now terminal commands are way more efficient"}, {"post_id": 35778, "ts": "2026-07-27T12:52:18Z", "hours": 1.2631, "text": "Easter Egg #2 The photo show all things I changed in the last version now that everything is working. The game has still a few bugs and even threw the new algorithm even more so it will be a 0.3.2 expected next to fix these bugs as well. If you find one, please write it to me."}, {"post_id": 35735, "ts": "2026-07-27T11:16:54Z", "hours": 8.0969, "text": "Easter Egg and New Code structure After I was ill for a few days I now finished to implement a first planned Easter egg. I also restructured the code, but more about what I done exactly I will publish, when this version got completely working and got published on Git-Hub."}, {"post_id": 31862, "ts": "2026-07-20T16:17:02Z", "hours": 7.1044, "text": "Keyboard Control and Data The first thing I added is that know levels also can be generated with a system and not just based on luck. Also I added with a .smati file type the possibility to save and load the settings what means that when you change a setting this change will continue being there even after you restarted the game. Also you now can see your stats out of the terminal. The coolest new feature I think is the keyboard control option. That means that you now are able to navigate with your keyboard threw the normal mode instead of using the mouse."}, {"post_id": 30924, "ts": "2026-07-18T22:19:27Z", "hours": 1.9275, "text": "Ultra Mode and safety Added a filter system for the ultra mode, which is only visible if a ultra game was played and saved. I also added a question view, that you do not delete files without noticing."}, {"post_id": 30854, "ts": "2026-07-18T20:00:21Z", "hours": 5.2992, "text": "Terminal and Ultra Mode I added a terminal and a ultra mode in the terminal. The ultra mode is basically the normal game but with the different, that you have to type in what you want to do instead of clicking on the cell. The ultra mode also has a play time, the availability to get you time of the match, the restart it, to use a hint and it is also saved like the normal played matches. In the terminal you also can get the time on the second accurate."}, {"post_id": 29740, "ts": "2026-07-16T20:41:01Z", "hours": 3.0444, "text": "Bug fix and design V0.1.2 was exclusively for bug fix and design. Between the old versions I noticed bugs which I fixed to an high amount. Also I redesigned some things like the main menu or the pause menu and the design for the 7x7 grid. Now the code runs smoother and if we ignore the resize option the code is free from unwanted possibilities. If you find one, please say it, that I can fix it as well."}, {"post_id": 29464, "ts": "2026-07-16T13:08:05Z", "hours": 1.1544, "text": "Bug Fix Now you can see every dimmed cell correctly"}, {"post_id": 29433, "ts": "2026-07-16T11:42:57Z", "hours": 7.7711, "text": "Fullscreen, Resize and look and more With the new version you can put the game into fullscreen or just resize it in any way you like as long as you do not make it to small. Also you now can make the sounds be not there anymore. Furthermore you have a new version of the history and history-detail view with enables it for you to filter your games or see your games action by action"}, {"post_id": 27200, "ts": "2026-07-12T15:23:32Z", "hours": 1.3675, "text": "Audio Added an audio files which generates tones so that the game has in game sounds without copyright problems"}, {"post_id": 26125, "ts": "2026-07-10T18:47:20Z", "hours": 0.3211, "text": "Bug Fixes The Bugs was found and corrected. (Thanks to AI, that found the bugs and suggested fixes.) The Bugs were mostly just miss tips like a . instead of a , of a big letter instead of a little."}, {"post_id": 26112, "ts": "2026-07-10T18:16:47Z", "hours": 9.7158, "text": "Splitting I have started to split the game into several files, so each has a task and is better readable. Within the same I added new features like hints or a undo button, a 7x7 grid and overall a little overwork, so the code is overall better. But now are still bugs in there. (The only reason I update the project now is, because of the time I already needed and will need more.)"}, {"post_id": 23520, "ts": "2026-07-06T15:22:33Z", "hours": 3.2831, "text": "Time and Save Know you can enable to see a timer in the game. I also added a option to save your games as a history, but this still needs a lot of work, because the one file type is a bit of trickier than the last times I remembered."}, {"post_id": 22951, "ts": "2026-07-05T16:45:47Z", "hours": 0.7586, "text": "Settings and corrections The Game has no settings with an about Also I fixed a bug, which made the auto dim stop working."}, {"post_id": 22930, "ts": "2026-07-05T15:56:24Z", "hours": 0.7944, "text": "Dimming With a right click you can now dim a cell and if a cell is filled it dim automatically. Also I fixed a bug, which appeared in 0.0.4 with the 6x6."}, {"post_id": 22873, "ts": "2026-07-05T14:31:10Z", "hours": 1.1981, "text": "Expanded game modes and better marking Know you can choose between 4x4 5x5 and 6x6 game grid. Also the grid got a border and you can see if a row or column is solved, because they get marked then."}, {"post_id": 22802, "ts": "2026-07-05T11:53:20Z", "hours": 1.0408, "text": "Added a Main Screen You have now a main screen, from which you can start the game."}, {"post_id": 22764, "ts": "2026-07-05T10:45:32Z", "hours": 1.875, "text": "Created first Version it has no menu and just starts the game for one run"}]...
|
Title: Mati by @Joschi | Stardance
Devlogs:
Creat Title: Mati by @Joschi | Stardance
Devlogs:
Created first Version it has no menu and just starts the game for one run
Added a Main Screen You have now a main screen, from which you can start the game.
Expanded game modes and better marking Know you can choose between 4x4 5x5 and 6x6 game grid. Also the grid got a border and you can see if a row or column is solved, because they get marked then.
Dimming With a right click you can now dim a cell and if a cell is filled it dim automatically. Also I fixed a bug, which appeared in 0.0.4 with the 6x6.
Settings and corrections The Game has no settings with an about Also I fixed a bug, which made the auto dim stop working.
Time and Save Know you can enable to see a timer in the game. I also added a option to save your games as a history, but this still needs a lot of work, because the one file type is a bit of trickier than the last times I remembered.
Splitting I have started to split the game into several files, so each has a task and is better readable. Within the same I added new features like hints or a undo button, a 7x7 grid and overall a little overwork, so the code is overall better. But now are still bugs in there. (The only reason I update the project now is, because of the time I already needed and will need more.)
Bug Fixes The Bugs was found and corrected. (Thanks to AI, that found the bugs and suggested fixes.) The Bugs were mostly just miss tips like a . instead of a , of a big letter instead of a little.
Audio Added an audio files which generates tones so that the game has in game sounds without copyright problems
Fullscreen, Resize and look and more With the new version you can put the game into fullscreen or just resize it in any way you like as long as you do not make it to small. Also you now can make the sounds be not there anymore. Furthermore you have a new version of the history and history-detail view with enables it for you to filter your games or see your games action by action
Bug Fix Now you can see every dimmed cell correctly
Bug fix and design V0.1.2 was exclusively for bug fix and design. Between the old versions I noticed bugs which I fixed to an high amount. Also I redesigned some things like the main menu or the pause menu and the design for the 7x7 grid. Now the code runs smoother and if we ignore the resize option the code is free from unwanted possibilities. If you find one, please say it, that I can fix it as well.
Terminal and Ultra Mode I added a terminal and a ultra mode in the terminal. The ultra mode is basically the normal game but with the different, that you have to type in what you want to do instead of clicking on the cell. The ultra mode also has a play time, the availability to get you time of the match, the restart it, to use a hint and it is also saved like the normal played matches. In the terminal you also can get the time on the second accurate.
Ultra Mode and safety Added a filter system for the ultra mode, which is only visible if a ultra game was played and saved. I also added a question view, that you do not delete files without noticing.
Keyboard Control and Data The first thing I added is that know levels also can be generated with a system and not just based on luck. Also I added with a .smati file type the possibility to save and load the settings what means that when you change a setting this change will continue being there even after you restarted the game. Also you now can see your stats out of the terminal. The coolest new feature I think is the keyboard control option. That means that you now are able to navigate with your keyboard threw the normal mode instead of using the mouse.
Easter Egg and New Code structure After I was ill for a few days I now finished to implement a first planned Easter egg. I also restructured the code, but more about what I done exactly I will publish, when this version got completely working and got published on Git-Hub.
Easter Egg #2 The photo show all things I changed in the last version now that everything is working. The game has still a few bugs and even threw the new algorithm even more so it will be a 0.3.2 expected next to fix these bugs as well. If you find one, please write it to me.
Efficiency and bug fix Underneath a list of what that means: Now you can see your stats threw the terminal again. Now only games in which you have done something are saved as paused games you can continue. Now also the ultra games are saved correctly and with every action. Now you can write play out again in the terminal. Now the wrong unknown command c message after resuming a game in ultra mode is removed. Now it does not matter anymore if a command has spaces in between or not (at least for those this is wanted). Now the check for play starts threw terminal, normal and ultra, and also for leaving the terminal is way more efficient thank to hash. Now the time code is more simplified. Now you can find a second Easter egg. Now you can with ptl (play time long) see, even over a minute, your playtime on milliseconds in terminal. Now you have a new stats looks that changes itself automatically to the number of your number of games. Now you automatically are on continue when you pause the game. Now Strg/Cmd n activates new match, like you would pressed the button. Now every in game terminal is closed correctly when wanted. Now Strg/Cmd m brings you back to menu everywhere you are. Now you can use up and down arrow to navigate threw your command history in terminal. Now stats show your real data and do not calculate the minutes out. Now terminal input are way more efficient. Now ultra games are way more efficient. Now terminal commands are way more efficient
Fixed non working features Until now the program got a few things half implemented or even fully in the game but not use able because of mistakes. So know you finally see the scrollbars and you can navigate threw the terminal. You input line finally got moveable from left to right and right to left and buttons got a little new positioning. Also I made the code a little more efficient again.
MP4 export Now you have the possibility to export a played game as a mp4 video file. With this method you can share your games with others.
Efficiency I worked on the efficiency of the mp4 export and made sure that every sound is played correctly and every state is shown as wished.
Scrollbars and bug fix Now, finally, the scrollbars are really working and can be dragged as wished. I also added a version of the stats to the normal view and a version of the history and the settings to the terminal. Furthermore I worked on a way to scale the game up for the mp4 export and to make it harder to cheat. And, like always: If you test it (the newest versions code will be on GitHub in a few days) and should find any bug, please comment them so I can fix it.
Efficiency and little changes Threw match case the code got little faster. I also corrected some weird keyboard navigation hover bugs fixed. Furthermore the terminal now got a clock and settings have a complete new look. The last really nameable thing is about that now, if you undo an action, this action is actually marked as undone (if not undone with the button), so you better reflect in the history detail view how the game was.
New jump system I added a new jump system for the setting, history detail, the Hannah Easter eggs and history view. This enabled the possibility to jump right back and not every time to the start and so you can navigate way faster threw this systems. I also fixed some bugs for example the bug that make the upscale from the exports video not work right. And like always, please comment under this if you notice a bug so that I can fix it.
Achievements and Design Now the game has an achievement system that show you something like tasks you could do. I also fixed like always some bugs from which are way to much in there and also redesigned the history detail grid position for every size.
Sort and filter system I added an advanced sort and filter system to the history in the terminal. Furthermore the history detail video export is now way faster and the exported videos just need the up to the half of the capacity they have needed before in the same quality level.
Achievements and clear up I added a new achievements show way that is based on multiple pages and every has his specific achievements on. I also cleared up the code a little bit, means I put fast added constants into the config, do little efficiency things and stuff like that. Furthermore I made scrollbars not just be better shown threw all menus, but also work better (more accurate). Now V0.5.0 is on GitHub, if you find bugs, please comment them under this devlog.
Fixed Bugs Now the game have finally also in terminal’s ultra game the option to pause the game and take a break. I also added a mechanism for players who want to be really fast that allows the program to submit commands automatically to reduce the submit click every action. Furthermore the achievement screen now has a two way navigation what means that you could either press the left/right arrow keys of your keyboard or click with your mouse on the magic appearing buttons. PS: V0.5.1 is out, it is an update mostly about bug fixing and just this little new features from witch 2 already should work in version beyond this.
Added Advanced Settings It took long and still look not that great and do not work all over, but the base is set. To explain it, the game now has variable sound volume. Also you can now change the language, even though I do not have already created a fully second language. Furthermore navigation keys and ultra input order are now choose able, so if you prefer it different you can now make it so. PS: This devlog is made just in reason off time, at the moment none of this get pushed to GitHub, because it is still in developing.
Languages What I used the last few hours for is what I probably will have to do for some more. Go threw the code and replace everything that generates an output the user could see with the new method that translate this. For this I also need to add the translations. As I needed a break I made the new design for the advanced settings, and now its like I wanted it to be. Furthermore the history in terminal supports now more sort options and - in front to change the meaning for this it has a new system that transfers everything with the same meaning into the same internal command.
Language and Efficiency After many hours I finally made it to add a second language to my game, beside English you know can have German texts in the game. Furthermore I took a little time to made the game as video export more efficient so that it takes 6 seconds less to export my test game.
Languages and Efficiency The last few hours I used to refresh my school knowledge in French and Spanish to create language packets for my game in this two languages. What I did a little bit earlier is to work again on video exporting efficiency and now it gone really fast. Exporting a video in normal scale takes less time then playing it, in twice the resolution it takes usually around the play time or a little longer and in the highest settings still long. But overall it is now much faster and with less possible problems. PS: The export time are different depending on the hardware of your computer.
New Design and better language including Now the Achievements have this existing new design that not just looks better but also provides you more easy the needed information. I also made the language better fitting to the shown elements and changed some slightly to make it also look better. Furthermore I fixed a few little bugs like that you could not select ctrl and key shortcuts by yourself or that the pause text has not reacted to that.
Code split and missing feature give With the latest version the game has grown to 14 game and 3 language constructor files, because I a made clearer structure in the code itself, that means I grabbed my screens file and extracted everything that was in there but with questionable reason. So the new files helpers and alt_hover was created. The task of alt_hover is explicit to handle everything containing the keyboard navigation possibilities. Helpers on the other hand is made for everything that is like a config but little more. (I know, that my config still is more as it should, I’ll try to change this as soon as possible.) Also I added with this update missing features that already should be in there like that the keyboard navigation also works in the advanced settings or that like you see in the picture the buttons in settings have an own color palette to make sure that it is clear that they at first are toggle buttons and have an associated color for each of their states. Furthermore I fixed a few little bugs, like that the back jump to the achievement button is not working with the up going higher than to the full-screen button. I hope you enjoy version 0.6.1
Bug fixing and redesign Over the last thew versions, even though I spend a lot of time in debugging, many little bugs appear. Sometimes they comes just from moving a function or mistyping and sometimes deeper. So with this version I fixed again many of them, like wrong time show in the achievements and many others. Furthermore I worked and correcting and redesigning the whole terminal help logic, giving the main achievements new names and, like you see in the picture, modified the general achievements screen so that it not just looks better, but also feels better in reason of an improved algorithm to hide the mouse and navigation buttons. PS: If you use it and find a bug, it would be really nice if you could comment it.
System remake It took a while and I forgot a little the time it used, but I did it. Now the whole game runs more efficient threw the new system that handles buttons separate and keeps them cached, so they do not have to be completely calculated every frame new. Also some designs changed slightly.
Chapters I added with the help of AI the possibility to have chapters into my game. So you now can go exactly to the start of every action like you do in the game itself. And even though I know that this do not make that much of the decision how good the program is, it is still another thing that I now know how to do and I think that this is also really important.
Better Structure, Same Simplicity The last (many) hours I spend with one thing. Making sure the codes run even with new and better structure internal. This was also really important, because it made it easier to integrate multiple new things. One thing is, that now into the nearly same and reliable stats design comes buttons. This buttons are basically the headers, means size, mode, games … . If you click on them they basically sort the stats after this header. Furthermore the terminal got a big upgrade, because now it has three new ways to get deeper into your game. At first you can now easily check if you have paused matches. Also you can check your export history, which new feature made it actually also possible to get warned if you export a single match multiple times. And last but not least analysis. Because the game now got a deeper understanding of how you are playing and what are your trends and you can view all of this by the terminals history. (And I was shocked how good it worked with my recent 150 matches.) I hope, I didn’t overwhelmed you with all these information and that you are as curious for the new version as I am.
Finalizing basic functions My goal is the finish the app as soon as possible. So I am know fixing the last few bugs and add the last missing feature that the program should have. This devlog should just let you know, that the last days were full of deciding what could I do to improve the program and were the bugs are. (Poorly most of this sort of spend time is not count toward the project.) The provided screenshots shows a thing I am currently trying to do better, the extended settings, because like you see, the design is very bad.
Tutorial I added a tutorial that shows the player how the game mainly works and give him the information about the shortcuts. Also I added a function to make the clock a reopen point for a small explanation what the program can do.
Probably the last devlog on this project After more than 220 hours of coding and more and another 200 hours of deciding what to do and talking to other developers about how I could make this program run and do it good, I finally think that it is on a point at which I can think about shipping it. It runs, has no crucial bugs I noticed and is efficient enough to not take several hours just for the export of an mp4 video. Maybe I will add more features later, so do not be shy to comment what you like and what I should change and of course, please tell me if you have found any bug or unnatural behavior. OS Declaration Even though my goal was to make MATI run on every of the big 3 (Mac-OS, Linux, Windows) the current version just runs as wanted on Windows, due to different handling with graphic, which just means, that not every text is placed wright and that the overall look is scratched on Linux and Mac-OS. PS: The picture is the app icon.
Fixed the Read-Me After I got noticed that my Read-Me is not quite what it has to be, I have done a new version that should fit better into the requirements.
Ships:
Welcome to MATI Discover MATI, a simple and relaxing Sudoku-inspired puzzle game designed to challenge your number-solving skills without putting you under pressure. Your goal is simple: Find the right numbers and complete every row and column correctly. MATI is designed to be fun and stress-free: No Time Pressure: Disable the timer whenever you want and play at your own pace. No Mistakes to Fear: MATI doesn’t punish you for incorrect entries. Simply correct them whenever you notice a mistake. 4 Different Sizes: Choose from four puzzle sizes to match your preferred challenge. Built-in Terminal: Prefer an old-school experience? Play MATI directly in its integrated terminal. Full Keyboard Support: No mouse or trackpad? No problem! MATI can be controlled entirely with your keyboard. ! Development Notice! MATI is still under active development. More features, improvements, and refinements are planned for future updates. Thank you for checking out MATI!...
|
1793339627.5924606
|
1793426027.5924606
|
|
20289
|
My awesome macropad! by @anshpatel9720 | Stardance
|
anshpatel9720
|
0
|
0.64
|
0
|
[]
|
[{"post_id": 10784, "ts": "202 [{"post_id": 10784, "ts": "2026-06-17T18:14:19Z", "hours": 0.335, "text": "now i m making pcb"}, {"post_id": 10607, "ts": "2026-06-17T13:26:56Z", "hours": 0.3008, "text": "learning"}]...
|
Title: My awesome macropad! by @anshpatel9720 | St Title: My awesome macropad! by @anshpatel9720 | Stardance
Devlogs:
learning
now i m making pcb...
|
1792562027.3837063
|
1793426027.3837063
|
|
39965
|
My own site! by @kanda | Stardance
|
kanda
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T00:09:27Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website that was about me. It was difficult to debug when i madde syntax errors. I liked the javascript feature I added. I am most proud of attaching the links such as visit my Github.", "repo": "https://github.com/git-adit/My-Personal-Website", "demo": "https://git-adit.github.io/My-Personal-Website/#contact"}]...
|
[{"post_id": 35999, "ts": "202 [{"post_id": 35999, "ts": "2026-07-27T20:05:30Z", "hours": 0.6264, "text": "It’s my personal website with my GitHub link, what I like, my hobbies, and some projects I made."}]...
|
Title: My own site! by @kanda | Stardance
Devlogs Title: My own site! by @kanda | Stardance
Devlogs:
It’s my personal website with my GitHub link, what I like, my hobbies, and some projects I made.
Ships:
I made a website that was about me. It was difficult to debug when i madde syntax errors. I liked the javascript feature I added. I am most proud of attaching the links such as visit my Github....
|
1793339626.4187593
|
1793426026.4187593
|
|
950
|
Volvo API playground by @Kl | Stardance
|
Kl
|
2
|
150.0
|
2165
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T23:32:30Z", "hours": 36.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Second ship Huraaay! Here we go again! What new to test out? New car dashboard (there’s a button in the old one). Scopes. New energy and location APIs. Persistent storage. OAuth access token expiration (see the endpoint for faster expiration. It’s time-based, but waiting for expiration is tiring). A few words about them New dashboard I’m not an artist, ok? If you want to make better assets, let me know! Persistent storage Persistent storage = SQL database. In the past, all data was stored in memory (in a dictionary). Now you can choose SQLite or MySQL. The main server uses the memory dict. The backup will use MySQL to show that it works. I need time to set it up, so don’t use the backup. Any questions? If you don’t have problems with not being anonymous, then you can contact me on Slack. I will keep everything to myself. Future? For now, I will focus on smaller projects. But this project isn’t on hold; updates will just be slower. The Stardance PATH is still waiting.", "repo": "https://github.com/klswar0/Volvo-API-playground", "demo": "https://playground.kls.hackclub.app/"}, {"ship_num": 2, "ts": "2026-09-06T20:19:02Z", "hours": 114.0, "multiplier": 19.09, "payout": 2165, "blessing": "neutral", "text": "A Milestone Welcome everybody to the first ship of this project. What is this project? This project simulates how the Volvo API works. Why was this project created in the first place? So it’s easier to create and test your app that uses the Volvo API without using ready-made libraries. I can’t find the features you mentioned in the devlog? Check the scope branch or the upcoming dev branch. What I’m proud of: I learned a lot of things (this is my first big public project): Tailwind Python stuff (I started with C++) Writing documentation (Markdown) I also learned the basics of OAuth2 and how APIs work. Making a project with all the features needed to get started. I created an additional document for you, Stardancers: Stardance PATH What is still on the TODO list? More APIs Scopes docker image See the roadmap . What to see? error logger recreated endpoints dashboard web socket realtime changes internal endpints interactivity of the car", "repo": "https://github.com/klswar0/Volvo-API-playground", "demo": "https://playground.kls.hackclub.app/"}]...
|
[{"post_id": 84632, "ts": "202 [{"post_id": 84632, "ts": "2026-10-29T23:29:50Z", "hours": 3.5136, "text": "#Devlog The end New dashboard A lot of small changes have been made since the last devlog. Added new subsections to the dashboard. Added fuel and battery subsections. Added a button to switch to the new dashboard. Added /v2 to the new dashboard URL. Added a new white version of the car. It looks a little better, I think. Added windows to the visualiser. Fixes A fast FIX with AI Fixed tests. Other Merged the dev branch into main and updated uv.lock."}, {"post_id": 83920, "ts": "2026-10-28T21:46:57Z", "hours": 6.3775, "text": "Devlog The not the last 😄 (I’m not happy about this). Art? I did some art or tried to? https://lapse.hackclub.com/timelapse/s89hZFt0iVb5 15 min of pain. If you want to make some assets dm me or something New dashboard I worked hard to make a new dashboard. The old dashboard really just works. What works? A proof of concept of a car visualiser. Photo 1 I checked how it can look (design picture, not working thing). Photo 2 A small problem with my function. It was completely rewritten, sooo don’t look into it. Photo 3 A working iframe with my visualiser. Photo 4 Current state of what I wanted to build (goal: something like in Photo 1). Photo 5 My VS Code started breaking. It’s still broken a little. I could only add 4 photos and im too tired to upload somewhere and add a link Docs Started updating docs so they aren’t for the main or dev branch, something in the middle."}, {"post_id": 83102, "ts": "2026-10-26T21:45:37Z", "hours": 8.4633, "text": "Devlog Changes More readable errors from SQL. Regeneration function added for all built-in values. Fixed regeneration function. Added a purge option. Fixed a need for a database even if the memory database was used. Fixed adding and removing cars from the SQL database. Added an option to disable debug info from the SQL database. Fixed proxy for normal API calls (fixed the refresh function, conversion, and get item). Added a refresh configuration (it can refresh always or only when data changes). Fixed pytest. Easter egg look for it WIP Columns I changed from using a column containing JSON to a column for every attribute. Pluses: You can easily edit data in database software or using SQL commands. But: The app was designed around dictionaries, so it needs all of the columns always. So that’s something to do in the future. It doesn’t fit on my screen in phpMyAdmin 😂 Testing I added pytest for required proxy functions (only the main database). The additional database I found that the working additional database worked because I forgot to change it in different files, so it still used the dictionary to store data. A first version of the fix is there, but wait for an better one. TODO force the pytest to use dict for most tests update docs finish easter egg finish the additional database for SQL add more pytests misc helpful pages? I’m still thinking Planning to ship at the end of 28th."}, {"post_id": 79861, "ts": "2026-10-15T17:17:04Z", "hours": 7.19, "text": "Devlog A very long time no see. I have made a lot of progress on adding an SQL database. Testing on MySQL The backup server provider gives me access to one. SQL changes A lot of BIG changes. The reason why I haven’t posted for so long is that I didn’t want to post about something that doesn’t work. Created new classes to intercept data changes, both in case of direct dict changes and when going through the SQL model library. (I didn’t change much in the code, just imported it under the same name as the old database.) And it works! At the start, only reading data worked, but now it can send data back to the database. Added a regen function to make sure built-in API keys are always the same after a restart. Fixed the car creation function (but when I started storing the additional data in SQL, it broke AGAIN). Added configuration attributes. At first, just the database type, but then all the information needed to connect to a MySQL database. Fixed the scenario readconfig (wasn’t it updated in the past?). A really small number of things I added? Yes, but the amount of debugging and changing built-in functions in classes took me so long. (Could be because of school and not having time to do everything in one sitting.) But I learned how to make a dummy dict with a class, as I called it in the commit: proxy . Problems The SQL database can’t create new cars. Need to check all internal endpoints to make sure they work. Still haven’t merged the DEV branch (TODO). All information is stored in one column as JSON. It works, buuuut I don’t like it that way. Need to clean up the proxy classes. updating docs What failed this time? The second photo attached shows it. Have a look before reading more. _contains__ If you see it, congrats! But if you have a screen full of code, it’s harder to spot. It should be __contains__ , and I spent, I think, two days debugging why all in statements just didn’t work. I was so happy when I finally found it! XAMPP and Apple Silicon The manager app doesn’t open after a restart, so after consulting Google and AI, I found a command that I use: sudo /Applications/XAMPP/xamppfiles/xampp start xampp If someone is asking why I didn’t use the server provided one it just wasn’t practical for now."}, {"post_id": 73730, "ts": "2026-09-25T19:56:38Z", "hours": 4.9217, "text": "Devlog A lot of breaking changes later and getting closer to PR and going to 2 ship Token lifetime WORKS made time when token is expired is rounded to int endpoint for invalidating token possibility for enabling expiring token for a specific token when it’s disabled for all in config file misc pytest for location and energy API fix the url for the enrgy API (it started with connectivity url not wi the energy api) cleanup import created new files to make the code more readable dashboard added location values added capabilities and values auto token generation and expiration in dashboard"}, {"post_id": 69307, "ts": "2026-09-16T19:32:57Z", "hours": 5.58, "text": "Read till the end PLEASE 🥺 Devlog A lot of changes from the last devlog only 5 hrs Mostly bc I add stuff on top of but I will suffer in the future (See dev branch for these changes) Change all connectivity API to start with /connected-vehicle/v2/ to make room for different APIs After that I fixed pytest to reflect that I added a location API with a ONE endpoint There were few iterations Added scopes for this API location:read If I remember correctly Unique error responses (because location error look like old (v1) connectivity API Fixed that operationID could be a constant Added a config option to use longer API keys About here I Fixed the url for location api because it used the connectivity scheme Started working on energy API I added all data from it to this project In short one endpoints says what this car is capable of And the other says the values TODO: add its unique error its half done Scopes corresponding to energy API Fixed that some values and capabilities had the same name (bc of that some bool values where number so a it was important) WIP Oauth2 update: JWT tokens for access tokens WIP token can expire! what are JWT token? There consist of three parts header payload and signature The two first is important for my project the 3 isn’t . They store info about issuer, when token is active, scopes… A lot of useless data for this project or useful? We will see Life Bc of school I didn’t have a lot of time to write devlog (and write code) but I try to do my best before the end of stardance The next ship is planned for 28 September BIRTHDAY TODAY (16 September) Im celebrating my birthday 😄 If you write me a few good words It would be motivating for me."}, {"post_id": 63130, "ts": "2026-09-06T19:20:58Z", "hours": 1.6119, "text": "Devlog MAIN added a startup baner fixed snapshots not saving if website was used scope If you didn’t follow from start this branch contains the experimental scope support which is mostly done but I can guarantee stability that’s why it isn’t pushed to main in fist ship made the scope page work added a back button added button to scope on main page fixed snapshots loading/saving"}, {"post_id": 61052, "ts": "2026-09-03T19:22:00Z", "hours": 2.8836, "text": "Long time no see… The school started aaand I didn’t have time I had low motivation The only thing to do before first ship is docs but I could find time to finish them. Buut I back now. AND I promise to ship it before 7 of September. If you are voting on this project PLEASE do not skip. I have my birthday coming and if the shipwrights doesn’t have a long list it could mean this project payout could be my birthday gift. If I ofc ship it 😅 devlog Small marketing changes everywhere to say that this project doesn’t have any ready code to use Added info about error logger on the landing page Scopes A long way from last devlog Fixed pytest ( A second time) TEMPORARY FIX added so the scope error doesn’t - throw just internal error FIXed the Oauth2 endpoint at least 3 times Added a WIP endpoint to edit scope data from API Fixed how cars are created so they work with both - Oauth and scopes stuff Only looking dashboard page for scopes compare I think I forgot to say something in last devlog config file if you would like to use different instance Toml oillevel to oilLever AI disclaimer that I used this project to learn tailwind Make the doors have different statuses in mean time Untracked WIKI Redo the home page Started working on stardance path A lot of misc that I don’t remember other I created a small modified volvo example app to show that my app works like the real one"}, {"post_id": 55226, "ts": "2026-08-26T20:27:11Z", "hours": 4.2503, "text": "Devlog Error logger added colors to the terminal print out using: \\033[31m \\033[0m Good to know that it is so easy to add colors to text added timestamps to log file and - between errors Changes how it reads body once again and fixed url encoded requests logging My additional information I put in detail in the json response (the real API can send it like that buttty I didn’t see it. info from docs ) additional changes: New scenarios mostly about service warnings You can add notes to the website thru config files Scopes I started working on scopes. What are they? They are really permissions (you can know them from discord bots or if you login thru GitHub etc.) I don’t want to put them in this first ship but I needed to work on something (while I work on wiki) and I CAN’T guarantee every thing works after adding them. You can see it in the scopes branch. what is done: I have made preparation so the additional database (dict) I use for OAuth can store more data have updated website func to work with changes and also pytest added all possible conve (connectivity API) scopes WIKI when I add everything to them I will finally try making a ship added the error logger page updated the sidebar scenario and snapshots page a lot of misc Bonus photos from vacation on baltic sea"}, {"post_id": 49931, "ts": "2026-08-18T21:59:53Z", "hours": 3.1625, "text": "Devlog There was a small (or big) problem in my playground. If an error was returned in the response, you could only see it if your app handled it or by printing the response. That’s why I added an error logger. It can show errors in two ways: Terminal Log file How it works There were two ways of doing it (from what I learned): Middleware that captures all responses (this could be helpful in the future). Exception handlers (this is what I chose). I use two handlers: @app.exception_handler(RequestValidationError) @app.exception_handler(HTTPException) It was a horrible time searching for why it didn’t work. At first, I worked in a separate file, but I couldn’t get the (fastapi) app variable into those functions. So I copied them into main file to make them work first. I had to change some JSON responses to HTTPException to make the second handler work. After I captured the first request and printed it, I worked on one function that writes a log and another that prints to the terminal. I also created a class to store useful data. It works like this: Exception handler-> ->Put data into class -> ->Create response -> ->Return response ->Create a background task that logs the error I create a background task so the response doesn’t wait or even worse fails In the end I found that I can wrap these func with this simple func to make them work in different file def setup_error_logging(app: FastAPI): Added a config option: To disable it completely. To disable only the log file. It also bypasses all internal endpoints to make the logs more readable. The best fail… 😅 I returned an exception instead of raising it. I spent a good 15 minutes wondering why the response had status code 200 with a JSON body saying status code 400 . response changes I also checked how the authorization errors look and added two new ones: Missing Authorization header. Invalid vcc-api-key header. WIKI (not counted) I focus on making a GitHub wiki (new docs) After ending them and the error logger. Its time for the first ship !!!!!!! Nest instability: I made a backup server : https://frog01-21185.wykr.es/ Its not ideal one, bc some asian countries are blocked but its shouldn’t have any downtime (I hope so) If an Admin read it why I must copy enter from different text input 😭"}, {"post_id": 48444, "ts": "2026-08-16T19:51:20Z", "hours": 2.5061, "text": "Devlog SITE changes I found that some number inputs didn’t use the utility classes. I gave them inputText because they are really the same; the only difference is the HTML type . I also forgot to update the reloadable fuel section. It now uses the shorter utility class. Made sure that all text in the header is the same size (they weren’t). I copied all changes back to the main branch. config changes Then I added a config file using the configparser library. also added an option to disable the FastAPI docs. I started working on Wiki: reworking docs.md into a GitHub Wiki with up to date information. Error logger, so you can see what’s wrong without printing the API response in your code. I had some problems with catching the fastapi automatic response but I will leave it for next devlog"}, {"post_id": 46236, "ts": "2026-08-13T10:31:45Z", "hours": 4.6508, "text": "Devlog I forgot to add that I worked on the tests in the test branch, not the main one. OAuth2 PKCE testing. Helped me find an error where, if the code was used (it was reset to \"\" ), it was accepted as \"\" . Now it correctly returns an error. OAuth2 flow testing. Warnings and diagnostics now have some simple checks too. And I merged it into main . Then I started cleaning up the Tailwind CSS. NOTE: they are in new branch dashboard/cleanup Why? Because I used the Play CDN in the past, so I couldn’t create utility classes in a CSS file. Soooo I didn’t. Andddd there were a lot of Tailwind classes that didn’t fit on my screen. Now that I started precompiling it, I could add them. I added 5 unique utility classes. All of them combined are used around ~120 times across all HTMLs. The longest one: @utility inputSelection { @apply w-full px-4 py-2 .5 bg-zinc-950 border border-zinc-800 rounded-xl text-zinc-100 focus : outline-none focus : ring-2 focus : ring-blue-300 focus : border-transparent transition-all appearance-none text-center [ text-align-last : center ] cursor-pointer ; } I also minified the CSS file. If I understand it, it removes anything the browser doesn’t need to understand the CSS (new lines, unnecessary spaces…). It’s better because those characters are still sent over the network, and fewer bytes mean less traffic. While using the new utility classes, I tried to preserve the layout, so everything should look the same as before."}, {"post_id": 44802, "ts": "2026-08-10T20:28:29Z", "hours": 3.765, "text": "Devlog Working hard on pytest tests. I learn how assert works and how to name . I never used or created test in any language so I think they aren’t perfect (not like they should),but they work😄. I looked like AI made few and how other people and read some stuff online Tests created for these endpoints Around 25 of them List cars About car Engine info Engine start/stop Climate start/stop Windows Doors Lock/Unlock Reduced Guard Lock Flash, Honk, and Combination Tyres Statistics Fuel Odometer Engine diagnostics Brakes Command accessibility Still to do Warnings and diagnostics Commands More changes The tests helped me find and clean up several issues: Documentation updates. The honk endpoint was ../horn but should be /honk . Some values ( odometer , fuel ) are int , just like in the OpenAPI specification, not as described in the official docs. Fixed spelling mistakes: - oillevel to oilLevel - coolantLever to coolantLevel Want to help and has access to volvo with active VOC I need to test engine and climate endpoints but I don’t have an access to a car with it. Soooo if you can contact me on slack"}, {"post_id": 42512, "ts": "2026-08-07T09:41:54Z", "hours": 4.2411, "text": "Devlog Tracking headers implemented : There are two vcc-api-operationId - UUID traceparent - W3C traceparent (for now only sends it back) dashboard should look good on small screen (its very long but I don’t want to redesign it now) This is the reason why I there is much time in this devlog. It was a lot of try and error before something looked good both on mobile and desktop and I liked it . But at least it works know 🙃. some small cleanup of comments I worked again on internal updates endpoint (hopefully works now) started working on pytests (but I will talk about in next devlog (I gave my self 2 days for it) I really want to get the first ship out, so it isn’t going to be perfect. I still have a lot of features and improvements I’d like to add."}, {"post_id": 40711, "ts": "2026-08-04T12:41:43Z", "hours": 4.4231, "text": "Devlog I had a problem when I wanted to rewrite the scenario system. It only changed the local version of the Car (It means it really didn’t update anything). I wanted to update a backup version first, and only if everything was correct, replace the original with the backup. In the end, I used an already created function to first test and then apply to the car . Main PKCE misspelling fixed. Added a landing page with an option to disable it and redirect directly to the login screen (like in the last devlog I have photos of making it). Worked on the lights section. Fixed the docs URLs. Dashboard and WebSocket toggles now work. Rewrote and enabled the updates endpoint. Validation now catches values that can’t be converted to int . Scenario loading into a car instance should now be more consistent with the other functions. Improved mobile responsiveness (and then fixed the desktop one). Some elements were outside the screen on mobile (nothing important, but it didn’t look good). NOTE: the dashboard with car attributes still needs to be adapted. Added windows (because I forgot to 😅) to the dashboard and organised the lighting section. OAuth2 and Snapshots buttons should now always be centred. TODO Debug and tracing headers (from the real API). Additional instructions. Then I think it’s finally ready for the first ship. There are still a lot of things I want to add, but I can’t work indefinitely. Compare The compare app now has the Content-Type fix enabled (like the official API). Compiled the Tailwind CSS for the compare app. NOTE: I will add here more screenshots as link later Also thinking about adding it frictionless mission but I’m not sure."}, {"post_id": 39642, "ts": "2026-08-02T19:24:37Z", "hours": 3.62, "text": "Devlog Snapshots loading page (screenshots while I worked. I had more but the limit was 4). As suggested by the Tailwind CSS tools, changed some classes to more canonical ones. You can now delete cars through both the API and the dashboard. Snapshot corruption (when the app is force quit) should be fixed. Started working on the landing page, but I’ll leave it for the next devlog (mostly because I have on my other laptop). Fixes to do Sometimes the new OAuth2 and Snapshots buttons are off-center. Compare app needs fixing (need to enable the Content-Type fix from the official API). PKCE spelling in the internal API."}, {"post_id": 37827, "ts": "2026-07-30T19:39:54Z", "hours": 4.1028, "text": "Devlog The Content-Type problem is SOLVED …… What was the problem? (My reading skills? ) there are two headers with application/json : Content-Type (POST) Accept (GET) The Accept header isn’t required ( can be */* , application/* or application/json ). So the Content-Type mystery is mostly FIXED but I still need to check with a real Volvo car if Content-Type is actually required. (I’ll do it tomorrow.) Changes: Accept is now handled by my API like in the official API. Added Content-Type checks (like the docs say, meaning it’s required). While proofreading the docs, I found that PKCE is written as PCKE in one internal endpoint. (Not fixed yet.) Small README update (I try to keep it up to date). Scenario page: You can now load a scenario using the GUI. Recompiled the Tailwind CSS. I attached screenshots showing it (you can also see snapshot button but its not implemented YET)"}, {"post_id": 36608, "ts": "2026-07-28T20:31:07Z", "hours": 0.5122, "text": "The comparison app is now online! Comparison app: https://compareplay.kls.hackclub.app/ I also updated the main app with the new dashboard design: https://playground.kls.hackclub.app/internal/welcome devlog Tailwind CSS is no longer loaded from the CDN. I think its now precompiled. Note to others: Remember to update your banner to feature your app (see #stardance on Slack). Otherwise, your ship will be rejected. EDIT: A lot of bots try to connect to my apps do you think I should make a honeypot?"}, {"post_id": 36297, "ts": "2026-07-28T09:47:40Z", "hours": 3.2881, "text": "Devlog I found another way to hide the fuel stat when it isn’t useful for a particular type of car: the HTML hidden attribute. At first, I thought I should add or remove the element hidden, but that turned out to be more complicated than I expected. I think using hidden is still a cleaner solution but I still using templates files. While working on the dashboard, I wanted to add units like km , L , and % to some values. Instead of handling that in Python, I added another div with some margins and, in a few places, used flex so everything stays on the same line without adding more backend logic. Added more page changes thru HTMX (nearly all pages use it). Creating a new car now refreshes the page. when an error occurs, I use HX-Reswap and the HX-Retarget response header (when creating new car as proof of concept). Added HTMX transitions to the OAuth2 settings page.(all pages have transitions) What to do before the first release (Mostly a checklist for myself 😅) Content-Type checks. Scenario and snapshot system support in the dashboard. Main showcase page. Finish the remaining documentation. Two READMEs: one for the main repository and one for the companion app repository. I’m thinking about having one technical README and another one that’s easier to understand for people who don’t code. Better error handling in the dashboard. Right now, most errors are just displayed as plain text instead of being part of the page. deploy updated version on nest I wanted to add a video but MacOS made me a half gig and I don’t think stardance would handle"}, {"post_id": 35043, "ts": "2026-07-26T06:29:01Z", "hours": 5.5947, "text": "Devlog Most of my time was spent working on the dashboard with Tailwind CSS. It took a lot of experimenting to find a design I actually like. I also changed how HTMX updates the dashboard through WebSockets. Before: A dedicated template was rendered every time to update that part of the dashboard. Now: Only the text containing the updated value is replaced. That said, in the future it won’t always be just text. For example, if the fuel type changes from hybrid to electric , the fuel level should disappear from the dashboard instead of just changing its value. While working on this, I found a bug caused by HTMX sending boolean values as strings. This caused climate settings to be marked as invalid. I need to distinguish between an invalid value and an invalid attribute instead of always treating the entire attribute as invalid. Note to myself Add transitions. Make all HTML pages use the same CSS file from now on. Update the version on nest server and make a public companion instance Aaand that’s all. Making websites is painfully slow."}, {"post_id": 33472, "ts": "2026-07-23T13:34:25Z", "hours": 4.2786, "text": "Devlog I don’t know if I mentioned it before, but for now the Content-Type checks are disabled. I need to learn more about them and implement better validation. Created an updated OAuth2 settings page and a car selection screen (with Tailwind CSS, of course). Started experimenting with a new dashboard. It’s still a work in progress, but it will most likely become the main design. I’m also thinking about adding a second dashboard style, although I’m not sure if I’ll do that before the first release. I definitely want to clean up the HTML/Tailwind code by moving repeated styles into reusable classes or something similar. I’m also thinking about using more HTMX so that more pages can update data without needing a full page reload. Wrote more documentation. I still need to verify the fuel endpoint because I don’t remember whether it handles different engine types correctly. ( The new OAuth2 settings page and the car selection screen. For next develop I think I will make a video of how everything works)"}, {"post_id": 32303, "ts": "2026-07-21T11:58:32Z", "hours": 2.6278, "text": "Devlog Companion app I said it was finished for now, but I forgot to add one more thing (the one on the left in the screenshots): a dashboard redirect. Main app I’m still investigating the Content-Type problem. I verified that the official Volvo API behaves correctly, so I’m working on matching that behavior. Added work-in-progress Content-Type checks. Started reworking the CSS using Tailwind CSS. It’s still mixed with some plain CSS for now. Enabled support for the reduced guard lock command. You have to manually mark it as supported, and for now it behaves the same as the normal lock command. Let me know which design you like more: the new one (center) or the old one (right)."}, {"post_id": 31979, "ts": "2026-07-20T20:18:13Z", "hours": 3.7667, "text": "Devlog I’m mainly focused on finishing the companion app. I started working on the CSS. Most of my time was spent learning Tailwind CSS (so I didn’t track it). I think it’s a better fit for me than writing plain CSS. Added Tailwind CSS to all pages of the companion app. (I think I need to redo the main app now. 😅) Added a small README with information about the main app. I think it done now but I will come back to it before first ship Main app While working on the companion app, I found another issue. The Content-Type: application/json behavior doesn’t match the official API. I verified that the official API works as expected, checks for it mine doesn’t (I think)"}, {"post_id": 30890, "ts": "2026-07-18T21:12:58Z", "hours": 3.2169, "text": "Devlog Companion app Added manual mode for comparison. Engine start/stop now works in normal mode. Before pushing, I forgot to fix one thing: { \"error\" : \"Failed to retrieve data from unofficial API.\" , \"detail\" :{ \"detail\" :[{ \"type\" : \"dict_type\" , \"loc\" :[ \"body\" ], \"msg\" : \"Input should be a valid dictionary\" , \"input\" : \"{ \\\" runtimeMinutes \\\" : 10}\" }]}} The fix was simple: I forgot to use json.loads() . I pushed a quick fix commit right after. The photo shows the manual comparison page. I’m still working on the comparison logic, which is why it doesn’t have any CSS yet. Sorry for not adding Volvo API keys so you can see the differences between both APIs, but that would have taken too much time today. Its also the reason why Im creating this app Main app Worked on the documentation. The notifier now supports more than one updated attribute at the same time. It’s not the best implementation, but I’ll improve it after the first ship. Fixed snapshot loading and added exception handling. Scenario loading now reports malformed JSON files. Fixed a dashboard bug where tire information was shown three times. I think I planned to add more data there… and then forgot. I should probably test everything before making a devlog or committing, but I also don’t want my devlogs to have to much time."}, {"post_id": 29435, "ts": "2026-07-16T11:46:44Z", "hours": 0.5936, "text": "A public online demo!!!!! The project is finally available online! https://playground.kls.hackclub.app/internal/welcome Please don’t be the bad guy and fight with other people over access. ❤️ That’s all I wanted to say because this is a really big milestone for me. There will also be another commit today to make sure everyone can run their own instance of the project. I found a few issues that only appeared outside of my local environment: Some WebSocket features break when using HTTPS. The dashboard had problems when the instance wasn’t running on the same computer. Those should be fixed in today’s commit. If you find any errors please comment or contact me on slack Also thanks to nest hackclub for hosting"}, {"post_id": 29164, "ts": "2026-07-15T21:37:24Z", "hours": 2.8483, "text": "Devlog Authorization was my mistake. It should have been accessToken , not Authorization . Why I thought that? I have no idea. No it was good before I was sleepy I think when I did that The snapshots system now works. Why it didn’t work as expected: I forgot to use copy(deep=True) . One of the small dictionaries was written incorrectly. Added saving and loading snapshots from a file. The scenarios system now works and has been tested. Difference between snapshots and scenarios Snapshots copy all data about a car. They are persistent and can be saved to a file. Scenarios only change selected attributes. They are designed to be created and edited manually in a JSON file. Main app The main app is mostly ready. Before the first release, I still need to: Finish the documentation. Add a roadmap with future updates. Verify error responses against the real API. Finish the comparison feature in the companion app. Add more ready-to-use scenarios and API keys. Companion app Manual login now works, so only the comparison logic is left. I found a bug where api_key_p was None because one endpoint redirected using api_key instead. Started working on the comparison feature. PS: A photo of why the api_key_p was none"}, {"post_id": 27883, "ts": "2026-07-13T19:57:06Z", "hours": 3.8994, "text": "Devlog Writing documentation is a good way to check whether the code you wrote actually works. I already found four bugs while documenting the project. For example, I forgot to pass the redirect URI in a function in main.py , even though it was already implemented in internal.py . I also fixed a bug where notifications could sometimes contain an older value. The dashboard has been moved into a separate file. Snapshots currently have a problem. They are very similar to the Car class, so I’ll debug it and explain what the issue was in the next devlog. Companion app The companion app is meant to showcase the differences between my implementation and the official Volvo Demo Car Sandbox. It also makes testing easier, since you don’t have to write your own application just to try the API. I had a problem with the built-in LibreSSL because one of the dependencies didn’t support it. I had to reinstall Python so that uv would detect the new OpenSSL installation. After that, I was finally able to start the app and get it working. Auto-login and automatic creation of a test car are now working. There’s is no css but I will do it after logic works One more thing: the reason the devlogs have been quieter recently is that I’ve been dealing with some administrative paperwork. I’ll get back to posting them more regularly once that’s sorted out."}, {"post_id": 25868, "ts": "2026-07-10T10:58:56Z", "hours": 4.3936, "text": "Devlog How I don’t like web development… did I already say that? I’ll say it again. I’m working on the OAuth2 settings, and I had a problem where one of the query parameters wasn’t reaching the backend. I still don’t know what actually fixed it. Then I had another problem. I have a function that changes values in the backend, but only one button worked while everything else didn’t. It turned out to be because I debugged the first problem with AI. Always trust your own mind before trusting AI. The problem was hx-trigger . I also had problems applying CSS through HTMX. In the end, I solved it by using hx-redirect . But in the end everything works (you can see it one the phtoto) I also worked on the scenario system, which loads scenarios from a JSON file. It isn’t tested yet, and I still need to work on state snapshots. The idea is that you’ll be able to save a moment in time and restore it later, so you can test the same scenario as many times as you want without setting up all the data again. I also started working on a companion app to showcase the differences between my implementation and the official demo car sandbox. I’ll write more about it in the next devlog."}, {"post_id": 24338, "ts": "2026-07-07T20:58:43Z", "hours": 3.7069, "text": "Devlog A small error from the last devlog: it’s PKCE , not PCKE . I had to rename a lot of variables because of that. More customizable data Gearbox Model year More diagnostic data for lights (hazard, fog, brake, high beam, low beam, and more) Other additions Added a new default API key with 3 cars, each having different values. Wrote more docs. Started working on scenarios (templates for new or existing cars to make setup faster). I’m thinking about loading them from a file so users can create their own. Started working on setting up OAuth2 through the dashboard. Fixed most command responses because when I first created them, I forgot to wrap everything inside { \"data\": {} } . Added light options to the dashboard. Working: PKCE How does it work? The application generates a random secret. Before redirecting the user to the login page, it sends only a hashed version of that secret. After the user logs in, the application receives an authorization code. When exchanging the code for tokens, it sends the original secret. The server checks whether it matches the previously received hash. If it does, the tokens are issued. It normally protects from having the tokens stolen New promoting picture I made in canva have a look"}, {"post_id": 23100, "ts": "2026-07-05T20:54:08Z", "hours": 3.3289, "text": "Devlog Small additions to the new documentation. changes how the api handles errors BIG ADDITION OAuth2 without PKCE. I started working on PKCE, but I thought I should write a devlog before adding it. Added a login website (I know I mentioned it last time). Added a way to enable and disable OAuth2. Authentication now checks whether OAuth2 is enabled. If it is, requests are authenticated using OAuth2. Tokens don’t expire yet, but that will be added soon. Added endpoints for refreshing tokens and exchanging an authorization code for tokens. How does OAuth2 work? The app redirects the user to a login page. After logging in, the website redirects the user back to the callback URL provided by the app. The app receives an authorization code, which it exchanges for two tokens: a long-lived refresh token and a short-lived access token. When the access token expires, the app can use the refresh endpoint to obtain a new access token. What is PKCE? I’ll write more about it once it’s added to the project. In short, PKCE protects the authorization flow by ensuring that only the application that started the login process can exchange the authorization code for tokens. The application first generates a random secret (called a code verifier). Before the login request is sent, a hashed version of that secret (the code challenge) is sent to the server. Later, when exchanging the authorization code for tokens, the application sends the original secret. The server verifies that it matches the previously received hash before issuing any tokens. I’ll explain the complete flow in the next devlog."}, {"post_id": 20221, "ts": "2026-07-01T19:28:27Z", "hours": 5.3022, "text": "Devlog This devlog will be a short one because I’ve been focusing on implementing OAuth 2.0. I’ll cover that in more detail in the next update but I will add photo of a “login” screen that I created for it (it looks bad on purpose). What’s new The terminal now works with more than one static car. The dashboard can (once again) create new cars. The codebase has been split into multiple files instead of a single large file: main still contains the public API endpoints. internal contains the dashboard logic and internal API endpoints. database will contain multiple predefined car scenarios. I also started writing a new manual that documents the quirks of the Volvo API and my implementation ( and edge cases). I will write more about in next 2 devlogs What’s left before the first ship An example application demonstrating the differences between the official Volvo Sandbox and this project. OAuth 2.0 with PKCE (it would be great to have before the first ship). Documentation. A major code cleanup and refactoring."}, {"post_id": 17924, "ts": "2026-06-28T21:18:15Z", "hours": 2.7358, "text": "Devlog I added two static (for now) endpoints: statistics and warning . The statistics endpoint mostly returns data, so there isn’t much to test. The warning endpoint has a very large response that would require a lot of new code, and for now I don’t want to implement all of it. I started working on adding cars through the dashboard (you could already see part of it in the last devlog), but I found out it doesn’t work, so I need to fix it before the next devlog. Climate and engine STOP commands now respond correctly. In the last invoice update, they incorrectly returned RUNNING . Added checks for the new command endpoints to verify whether the car supports a given command. Added a small terminal page that outputs changes. In the future, you’ll be able to choose whether to display only Volvo changes, all changes, or all information (for example, if you checked whether the windows status). I also used it to verify that the normal WebSocket status works. Added the foundations for disabling WebSockets on startup. Only a configuration file is left to implement. Added UNAVAILABLE reason invoice logic mostly something like this: If the reason is NO_INTERNET , the invoice becomes CONNECTION_FAILURE . If the reason is POWER_SAVING_MODE , the invoice becomes VEHICLE_IN_SLEEP . Made some improvements to the dashboard’s appearance."}, {"post_id": 15774, "ts": "2026-06-25T17:19:10Z", "hours": 7.1422, "text": "Devlog A funny story: I built the invoice system but didn’t always assign values correctly, so the values got mixed up. I spent a long time debugging before realizing that was the cause. { \"error\" : { \"message\" : \"VALUE_ERROR\" , \"description\" : \" \\\" Car \\\" object has no field \\\" 123 \\\" \" } } I also spent a lot of time on CSS. Most of that time went into learning: classes IDs box shadows CSS Grid The reason it took so long since the last devlog is CSS. As I said before, I don’t really like web development, so my motivation was pretty low. I used some AI, but I worked hard to remove most of the generated code. At this point, most of the site’s design looks the way I want it to and will probably stay that way until the end of the project. Made invoices have some logic instead of always sending the same value. That means: If no invoice status is set, it sends COMPLETED or RUNNING depending on whether the engine or climate is running. Loc like actions can’t have a RUNNING invoice status. Added a distinction between successful and failed invoices. PS: Always remember to stop the server with Ctrl+C , not Ctrl+Z , because Ctrl+Z can leave the process running and keep the port blocked."}, {"post_id": 14241, "ts": "2026-06-23T07:56:55Z", "hours": 6.0522, "text": "Devlog It has been a long time since my last devlog, but I was more focused on learning than adding new stuff. Right now, I am focusing on learning HTML, htmx, and Jinja. The welcome page logic is mostly working. I had some problems with it because I used htmx to add new code, but the JavaScript from the is not reloaded with that. Now, I use the HX-Redirect response. I also learned how WebSockets work with FastAPI and htmx. I also designed how the dashboard will look (I attached my drawings. Good luck reading them!)."}, {"post_id": 11274, "ts": "2026-06-18T13:16:22Z", "hours": 3.5742, "text": "Devlog centralLock is called carLocked in the docs. The docs seem to be outdated. I think the OpenAPI specification is more accurate and contains fewer errors. I added a way to validate data using class functions. Implemented timestamps. Using datetime function from python Added tyre endpoints. Added a way to generate new API keys and create new cars (I used python secrets). (getting ready to make first public running version) Roadmap.md file with status of this project What is next to do Start using the updated method for changing data. Update the dashboard to reflect and modify the new data. Add WebSocket support. Add the remaining 2 vehicle and warning endpoints. Create an example app for testers. Redesign dashboard. It looks awful I had a 2 days off because I was on school trip but I back. Next thing on my list is an updated dashboard"}, {"post_id": 9202, "ts": "2026-06-15T13:28:28Z", "hours": 1.9225, "text": "Devlog You can edit data through the dashboard now. It’s not the best solution, and I want to change how it works (probably start from scratch), but not now. Diagnostics endpoints. I had a very good time with them today. Why? Because of the “/diagnostics” docs. I attached a screenshot showing an example from the official website and data from a real car (left: real API, right: docs). If you look at them, you can see two errors and one very small issue that you would only notice if you read the whole documentation: In serviceWarning, you can see the value is NORMAL, but NORMAL is not a valid value for it. It should be NO_WARNING. This is the small one. In engineHoursToService, the API response contains a unit, but the docs don’t mention it at all. And the worst one (and the only real error): there is no information about washerFluidLevelWarning in the docs, but it appears in the data from the car. What do you think I should do? Should I write to them about it? I think you can comment on the post, so let me know what you think."}, {"post_id": 8961, "ts": "2026-06-14T22:15:21Z", "hours": 1.7606, "text": "Devlog Added odometer and fuel endpoints. Funny thing is that Volvo sends in what unit the data is, but the docs say that only metric units are valid, so it really sends always the same unit. Most likely they wanted to add imperial later, or they left it like this for simplicity. Added first version of dashboard. For now, it’s using polling every 5 seconds (I have planned to change it to WebSocket). It only displays some information and can’t edit anything. Also, I wrote some HTML and JavaScript. I never liked web development, so I don’t know a lot (I’m learning while I code 😅). It could be that it will look very rough till the end because I don’t have any patience for HTML and CSS. I “will” do it when I have a very good day, or AI will do it? I would like not to use AI in this way, but I will see. Edit: Forgot to push the updated version to GitHub I will do it tomorrow because it’s late (it’s tomorrow )"}, {"post_id": 8322, "ts": "2026-06-13T20:45:50Z", "hours": 2.8264, "text": "Devlog Added a command accessibility endpoint (it tells if the car can receive commands). I refactored duplicate code in the climate endpoint. Added engine endpoints (they aren’t perfect, but this isn’t the final code). It was also a frustrating day because I repeatedly forgot to save my code before testing (my bad). A photo of the error that cost me way too much time today. (I changed it to “/vehicles/{VIN}/engine-status”, but I didn’t save the file.)"}, {"post_id": 7410, "ts": "2026-06-12T10:41:57Z", "hours": 0.9136, "text": "I setup my codespace and started working on first few endpoints. Additionally I looked how most of Volvos apis looks that gave me direction to go. That was all time I had today. Also I could add screenshot here because of macOS :("}]...
|
Title: Volvo API playground by @Kl | Stardance
De Title: Volvo API playground by @Kl | Stardance
Devlogs:
I setup my codespace and started working on first few endpoints. Additionally I looked how most of Volvos apis looks that gave me direction to go. That was all time I had today. Also I could add screenshot here because of macOS :(
Devlog Added a command accessibility endpoint (it tells if the car can receive commands). I refactored duplicate code in the climate endpoint. Added engine endpoints (they aren’t perfect, but this isn’t the final code). It was also a frustrating day because I repeatedly forgot to save my code before testing (my bad). A photo of the error that cost me way too much time today. (I changed it to “/vehicles/{VIN}/engine-status”, but I didn’t save the file.)
Devlog Added odometer and fuel endpoints. Funny thing is that Volvo sends in what unit the data is, but the docs say that only metric units are valid, so it really sends always the same unit. Most likely they wanted to add imperial later, or they left it like this for simplicity. Added first version of dashboard. For now, it’s using polling every 5 seconds (I have planned to change it to WebSocket). It only displays some information and can’t edit anything. Also, I wrote some HTML and JavaScript. I never liked web development, so I don’t know a lot (I’m learning while I code 😅). It could be that it will look very rough till the end because I don’t have any patience for HTML and CSS. I “will” do it when I have a very good day, or AI will do it? I would like not to use AI in this way, but I will see. Edit: Forgot to push the updated version to GitHub I will do it tomorrow because it’s late (it’s tomorrow )
Devlog You can edit data through the dashboard now. It’s not the best solution, and I want to change how it works (probably start from scratch), but not now. Diagnostics endpoints. I had a very good time with them today. Why? Because of the “/diagnostics” docs. I attached a screenshot showing an example from the official website and data from a real car (left: real API, right: docs). If you look at them, you can see two errors and one very small issue that you would only notice if you read the whole documentation: In serviceWarning, you can see the value is NORMAL, but NORMAL is not a valid value for it. It should be NO_WARNING. This is the small one. In engineHoursToService, the API response contains a unit, but the docs don’t mention it at all. And the worst one (and the only real error): there is no information about washerFluidLevelWarning in the docs, but it appears in the data from the car. What do you think I should do? Should I write to them about it? I think you can comment on the post, so let me know what you think.
Devlog centralLock is called carLocked in the docs. The docs seem to be outdated. I think the OpenAPI specification is more accurate and contains fewer errors. I added a way to validate data using class functions. Implemented timestamps. Using datetime function from python Added tyre endpoints. Added a way to generate new API keys and create new cars (I used python secrets). (getting ready to make first public running version) Roadmap.md file with status of this project What is next to do Start using the updated method for changing data. Update the dashboard to reflect and modify the new data. Add WebSocket support. Add the remaining 2 vehicle and warning endpoints. Create an example app for testers. Redesign dashboard. It looks awful I had a 2 days off because I was on school trip but I back. Next thing on my list is an updated dashboard
Devlog It has been a long time since my last devlog, but I was more focused on learning than adding new stuff. Right now, I am focusing on learning HTML, htmx, and Jinja. The welcome page logic is mostly working. I had some problems with it because I used htmx to add new code, but the JavaScript from the is not reloaded with that. Now, I use the HX-Redirect response. I also learned how WebSockets work with FastAPI and htmx. I also designed how the dashboard will look (I attached my drawings. Good luck reading them!).
Devlog A funny story: I built the invoice system but didn’t always assign values correctly, so the values got mixed up. I spent a long time debugging before realizing that was the cause. { "error" : { "message" : "VALUE_ERROR" , "description" : " \" Car \" object has no field \" 123 \" " } } I also spent a lot of time on CSS. Most of that time went into learning: classes IDs box shadows CSS Grid The reason it took so long since the last devlog is CSS. As I said before, I don’t really like web development, so my motivation was pretty low. I used some AI, but I worked hard to remove most of the generated code. At this point, most of the site’s design looks the way I want it to and will probably stay that way until the end of the project. Made invoices have some logic instead of always sending the same value. That means: If no invoice status is set, it sends COMPLETED or RUNNING depending on whether the engine or climate is running. Loc like actions can’t have a RUNNING invoice status. Added a distinction between successful and failed invoices. PS: Always remember to stop the server with Ctrl+C , not Ctrl+Z , because Ctrl+Z can leave the process running and keep the port blocked.
Devlog I added two static (for now) endpoints: statistics and warning . The statistics endpoint mostly returns data, so there isn’t much to test. The warning endpoint has a very large response that would require a lot of new code, and for now I don’t want to implement all of it. I started working on adding cars through the dashboard (you could already see part of it in the last devlog), but I found out it doesn’t work, so I need to fix it before the next devlog. Climate and engine STOP commands now respond correctly. In the last invoice update, they incorrectly returned RUNNING . Added checks for the new command endpoints to verify whether the car supports a given command. Added a small terminal page that outputs changes. In the future, you’ll be able to choose whether to display only Volvo changes, all changes, or all information (for example, if you checked whether the windows status). I also used it to verify that the normal WebSocket status works. Added the foundations for disabling WebSockets on startup. Only a configuration file is left to implement. Added UNAVAILABLE reason invoice logic mostly something like this: If the reason is NO_INTERNET , the invoice becomes CONNECTION_FAILURE . If the reason is POWER_SAVING_MODE , the invoice becomes VEHICLE_IN_SLEEP . Made some improvements to the dashboard’s appearance.
Devlog This devlog will be a short one because I’ve been focusing on implementing OAuth 2.0. I’ll cover that in more detail in the next update but I will add photo of a “login” screen that I created for it (it looks bad on purpose). What’s new The terminal now works with more than one static car. The dashboard can (once again) create new cars. The codebase has been split into multiple files instead of a single large file: main still contains the public API endpoints. internal contains the dashboard logic and internal API endpoints. database will contain multiple predefined car scenarios. I also started writing a new manual that documents the quirks of the Volvo API and my implementation ( and edge cases). I will write more about in next 2 devlogs What’s left before the first ship An example application demonstrating the differences between the official Volvo Sandbox and this project. OAuth 2.0 with PKCE (it would be great to have before the first ship). Documentation. A major code cleanup and refactoring.
Devlog Small additions to the new documentation. changes how the api handles errors BIG ADDITION OAuth2 without PKCE. I started working on PKCE, but I thought I should write a devlog before adding it. Added a login website (I know I mentioned it last time). Added a way to enable and disable OAuth2. Authentication now checks whether OAuth2 is enabled. If it is, requests are authenticated using OAuth2. Tokens don’t expire yet, but that will be added soon. Added endpoints for refreshing tokens and exchanging an authorization code for tokens. How does OAuth2 work? The app redirects the user to a login page. After logging in, the website redirects the user back to the callback URL provided by the app. The app receives an authorization code, which it exchanges for two tokens: a long-lived refresh token and a short-lived access token. When the access token expires, the app can use the refresh endpoint to obtain a new access token. What is PKCE? I’ll write more about it once it’s added to the project. In short, PKCE protects the authorization flow by ensuring that only the application that started the login process can exchange the authorization code for tokens. The application first generates a random secret (called a code verifier). Before the login request is sent, a hashed version of that secret (the code challenge) is sent to the server. Later, when exchanging the authorization code for tokens, the application sends the original secret. The server verifies that it matches the previously received hash before issuing any tokens. I’ll explain the complete flow in the next devlog.
Devlog A small error from the last devlog: it’s PKCE , not PCKE . I had to rename a lot of variables because of that. More customizable data Gearbox Model year More diagnostic data for lights (hazard, fog, brake, high beam, low beam, and more) Other additions Added a new default API key with 3 cars, each having different values. Wrote more docs. Started working on scenarios (templates for new or existing cars to make setup faster). I’m thinking about loading them from a file so users can create their own. Started working on setting up OAuth2 through the dashboard. Fixed most command responses because when I first created them, I forgot to wrap everything inside { "data": {} } . Added light options to the dashboard. Working: PKCE How does it work? The application generates a random secret. Before redirecting the user to the login page, it sends only a hashed version of that secret. After the user logs in, the application receives an authorization code. When exchanging the code for tokens, it sends the original secret. The server checks whether it matches the previously received hash. If it does, the tokens are issued. It normally protects from having the tokens stolen New promoting picture I made in canva have a look
Devlog How I don’t like web development… did I already say that? I’ll say it again. I’m working on the OAuth2 settings, and I had a problem where one of the query parameters wasn’t reaching the backend. I still don’t know what actually fixed it. Then I had another problem. I have a function that changes values in the backend, but only one button worked while everything else didn’t. It turned out to be because I debugged the first problem with AI. Always trust your own mind before trusting AI. The problem was hx-trigger . I also had problems applying CSS through HTMX. In the end, I solved it by using hx-redirect . But in the end everything works (you can see it one the phtoto) I also worked on the scenario system, which loads scenarios from a JSON file. It isn’t tested yet, and I still need to work on state snapshots. The idea is that you’ll be able to save a moment in time and restore it later, so you can test the same scenario as many times as you want without setting up all the data again. I also started working on a companion app to showcase the differences between my implementation and the official demo car sandbox. I’ll write more about it in the next devlog.
Devlog Writing documentation is a good way to check whether the code you wrote actually works. I already found four bugs while documenting the project. For example, I forgot to pass the redirect URI in a function in main.py , even though it was already implemented in internal.py . I also fixed a bug where notifications could sometimes contain an older value. The dashboard has been moved into a separate file. Snapshots currently have a problem. They are very similar to the Car class, so I’ll debug it and explain what the issue was in the next devlog. Companion app The companion app is meant to showcase the differences between my implementation and the official Volvo Demo Car Sandbox. It also makes testing easier, since you don’t have to write your own application just to try the API. I had a problem with the built-in LibreSSL because one of the dependencies didn’t support it. I had to reinstall Python so that uv would detect the new OpenSSL installation. After that, I was finally able to start the app and get it working. Auto-login and automatic creation of a test car are now working. There’s is no css but I will do it after logic works One more thing: the reason the devlogs have been quieter recently is that I’ve been dealing with some administrative paperwork. I’ll get back to posting them more regularly once that’s sorted out.
Devlog Authorization was my mistake. It should have been accessToken , not Authorization . Why I thought that? I have no idea. No it was good before I was sleepy I think when I did that The snapshots system now works. Why it didn’t work as expected: I forgot to use copy(deep=True) . One of the small dictionaries was written incorrectly. Added saving and loading snapshots from a file. The scenarios system now works and has been tested. Difference between snapshots and scenarios Snapshots copy all data about a car. They are persistent and can be saved to a file. Scenarios only change selected attributes. They are designed to be created and edited manually in a JSON file. Main app The main app is mostly ready. Before the first release, I still need to: Finish the documentation. Add a roadmap with future updates. Verify error responses against the real API. Finish the comparison feature in the companion app. Add more ready-to-use scenarios and API keys. Companion app Manual login now works, so only the comparison logic is left. I found a bug where api_key_p was None because one endpoint redirected using api_key instead. Started working on the comparison feature. PS: A photo of why the api_key_p was none
A public online demo!!!!! The project is finally available online! https://playground.kls.hackclub.app/internal/welcome Please don’t be the bad guy and fight with other people over access. ❤️ That’s all I wanted to say because this is a really big milestone for me. There will also be another commit today to make sure everyone can run their own instance of the project. I found a few issues that only appeared outside of my local environment: Some WebSocket features break when using HTTPS. The dashboard had problems when the instance wasn’t running on the same computer. Those should be fixed in today’s commit. If you find any errors please comment or contact me on slack Also thanks to nest hackclub for hosting
Devlog Companion app Added manual mode for comparison. Engine start/stop now works in normal mode. Before pushing, I forgot to fix one thing: { "error" : "Failed to retrieve data from unofficial API." , "detail" :{ "detail" :[{ "type" : "dict_type" , "loc" :[ "body" ], "msg" : "Input should be a valid dictionary" , "input" : "{ \" runtimeMinutes \" : 10}" }]}} The fix was simple: I forgot to use json.loads() . I pushed a quick fix commit right after. The photo shows the manual comparison page. I’m still working on the comparison logic, which is why it doesn’t have any CSS yet. Sorry for not adding Volvo API keys so you can see the differences between both APIs, but that would have taken too much time today. Its also the reason why Im creating this app Main app Worked on the documentation. The notifier now supports more than one updated attribute at the same time. It’s not the best implementation, but I’ll improve it after the first ship. Fixed snapshot loading and added exception handling. Scenario loading now reports malformed JSON files. Fixed a dashboard bug where tire information was shown three times. I think I planned to add more data there… and then forgot. I should probably test everything before making a devlog or committing, but I also don’t want my devlogs to have to much time.
Devlog I’m mainly focused on finishing the companion app. I started working on the CSS. Most of my time was spent learning Tailwind CSS (so I didn’t track it). I think it’s a better fit for me than writing plain CSS. Added Tailwind CSS to all pages of the companion app. (I think I need to redo the main app now. 😅) Added a small README with information about the main app. I think it done now but I will come back to it before first ship Main app While working on the companion app, I found another issue. The Content-Type: application/json behavior doesn’t match the official API. I verified that the official API works as expected, checks for it mine doesn’t (I think)
Devlog Companion app I said it was finished for now, but I forgot to add one more thing (the one on the left in the screenshots): a dashboard redirect. Main app I’m still investigating the Content-Type problem. I verified that the official Volvo API behaves correctly, so I’m working on matching that behavior. Added work-in-progress Content-Type checks. Started reworking the CSS using Tailwind CSS. It’s still mixed with some plain CSS for now. Enabled support for the reduced guard lock command. You have to manually mark it as supported, and for now it behaves the same as the normal lock command. Let me know which design you like more: the new one (center) or the old one (right).
Devlog I don’t know if I mentioned it before, but for now the Content-Type checks are disabled. I need to learn more about them and implement better validation. Created an updated OAuth2 settings page and a car selection screen (with Tailwind CSS, of course). Started experimenting with a new dashboard. It’s still a work in progress, but it will most likely become the main design. I’m also thinking about adding a second dashboard style, although I’m not sure if I’ll do that before the first release. I definitely want to clean up the HTML/Tailwind code by moving repeated styles into reusable classes or something similar. I’m also thinking about using more HTMX so that more pages can update data without needing a full page reload. Wrote more documentation. I still need to verify the fuel endpoint because I don’t remember whether it handles different engine types correctly. ( The new OAuth2 settings page and the car selection screen. For next develop I think I will make a video of how everything works)
Devlog Most of my time was spent working on the dashboard with Tailwind CSS. It took a lot of experimenting to find a design I actually like. I also changed how HTMX updates the dashboard through WebSockets. Before: A dedicated template was rendered every time to update that part of the dashboard. Now: Only the text containing the updated value is replaced. That said, in the future it won’t always be just text. For example, if the fuel type changes from hybrid to electric , the fuel level should disappear from the dashboard instead of just changing its value. While working on this, I found a bug caused by HTMX sending boolean values as strings. This caused climate settings to be marked as invalid. I need to distinguish between an invalid value and an invalid attribute instead of always treating the entire attribute as invalid. Note to myself Add transitions. Make all HTML pages use the same CSS file from now on. Update the version on nest server and make a public companion instance Aaand that’s all. Making websites is painfully slow.
Devlog I found another way to hide the fuel stat when it isn’t useful for a particular type of car: the HTML hidden attribute. At first, I thought I should add or remove the element hidden, but that turned out to be more complicated than I expected. I think using hidden is still a cleaner solution but I still using templates files. While working on the dashboard, I wanted to add units like km , L , and % to some values. Instead of handling that in Python, I added another div with some margins and, in a few places, used flex so everything stays on the same line without adding more backend logic. Added more page changes thru HTMX (nearly all pages use it). Creating a new car now refreshes the page. when an error occurs, I use HX-Reswap and the HX-Retarget response header (when creating new car as proof of concept). Added HTMX transitions to the OAuth2 settings page.(all pages have transitions) What to do before the first release (Mostly a checklist for myself 😅) Content-Type checks. Scenario and snapshot system support in the dashboard. Main showcase page. Finish the remaining documentation. Two READMEs: one for the main repository and one for the companion app repository. I’m thinking about having one technical README and another one that’s easier to understand for people who don’t code. Better error handling in the dashboard. Right now, most errors are just displayed as plain text instead of being part of the page. deploy updated version on nest I wanted to add a video but MacOS made me a half gig and I don’t think stardance would handle
The comparison app is now online! Comparison app: https://compareplay.kls.hackclub.app/ I also updated the main app with the new dashboard design: https://playground.kls.hackclub.app/internal/welcome devlog Tailwind CSS is no longer loaded from the CDN. I think its now precompiled. Note to others: Remember to update your banner to feature your app (see #stardance on Slack). Otherwise, your ship will be rejected. EDIT: A lot of bots try to connect to my apps do you think I should make a honeypot?
Devlog The Content-Type problem is SOLVED …… What was the problem? (My reading skills? ) there are two headers with application/json : Content-Type (POST) Accept (GET) The Accept header isn’t required ( can be */* , application/* or application/json ). So the Content-Type mystery is mostly FIXED but I still need to check with a real Volvo car if Content-Type is actually required. (I’ll do it tomorrow.) Changes: Accept is now handled by my API like in the official API. Added Content-Type checks (like the docs say, meaning it’s required). While proofreading the docs, I found that PKCE is written as PCKE in one internal endpoint. (Not fixed yet.) Small README update (I try to keep it up to date). Scenario page: You can now load a scenario using the GUI. Recompiled the Tailwind CSS. I attached screenshots showing it (you can also see snapshot button but its not implemented YET)
Devlog Snapshots loading page (screenshots while I worked. I had more but the limit was 4). As suggested by the Tailwind CSS tools, changed some classes to more canonical ones. You can now delete cars through both the API and the dashboard. Snapshot corruption (when the app is force quit) should be fixed. Started working on the landing page, but I’ll leave it for the next devlog (mostly because I have on my other laptop). Fixes to do Sometimes the new OAuth2 and Snapshots buttons are off-center. Compare app needs fixing (need to enable the Content-Type fix from the official API). PKCE spelling in the internal API.
Devlog I had a problem when I wanted to rewrite the scenario system. It only changed the local version of the Car (It means it really didn’t update anything). I wanted to update a backup version first, and only if everything was correct, replace the original with the backup. In the end, I used an already created function to first test and then apply to the car . Main PKCE misspelling fixed. Added a landing page with an option to disable it and redirect directly to the login screen (like in the last devlog I have photos of making it). Worked on the lights section. Fixed the docs URLs. Dashboard and WebSocket toggles now work. Rewrote and enabled the updates endpoint. Validation now catches values that can’t be converted to int . Scenario loading into a car instance should now be more consistent with the other functions. Improved mobile responsiveness (and then fixed the desktop one). Some elements were outside the screen on mobile (nothing important, but it didn’t look good). NOTE: the dashboard with car attributes still needs to be adapted. Added windows (because I forgot to 😅) to the dashboard and organised the lighting section. OAuth2 and Snapshots buttons should now always be centred. TODO Debug and tracing headers (from the real API). Additional instructions. Then I think it’s finally ready for the first ship. There are still a lot of things I want to add, but I can’t work indefinitely. Compare The compare app now has the Content-Type fix enabled (like the official API). Compiled the Tailwind CSS for the compare app. NOTE: I will add here more screenshots as link later Also thinking about adding it frictionless mission but I’m not sure.
Devlog Tracking headers implemented : There are two vcc-api-operationId - UUID traceparent - W3C traceparent (for now only sends it back) dashboard should look good on small screen (its very long but I don’t want to redesign it now) This is the reason why I there is much time in this devlog. It was a lot of try and error before something looked good both on mobile and desktop and I liked it . But at least it works know 🙃. some small cleanup of comments I worked again on internal updates endpoint (hopefully works now) started working on pytests (but I will talk about in next devlog (I gave my self 2 days for it) I really want to get the first ship out, so it isn’t going to be perfect. I still have a lot of features and improvements I’d like to add.
Devlog Working hard on pytest tests. I learn how assert works and how to name . I never used or created test in any language so I think they aren’t perfect (not like they should),but they work😄. I looked like AI made few and how other people and read some stuff online Tests created for these endpoints Around 25 of them List cars About car Engine info Engine start/stop Climate start/stop Windows Doors Lock/Unlock Reduced Guard Lock Flash, Honk, and Combination Tyres Statistics Fuel Odometer Engine diagnostics Brakes Command accessibility Still to do Warnings and diagnostics Commands More changes The tests helped me find and clean up several issues: Documentation updates. The honk endpoint was ../horn but should be /honk . Some values ( odometer , fuel ) are int , just like in the OpenAPI specification, not as described in the official docs. Fixed spelling mistakes: - oillevel to oilLevel - coolantLever to coolantLevel Want to help and has access to volvo with active VOC I need to test engine and climate endpoints but I don’t have an access to a car with it. Soooo if you can contact me on slack
Devlog I forgot to add that I worked on the tests in the test branch, not the main one. OAuth2 PKCE testing. Helped me find an error where, if the code was used (it was reset to "" ), it was accepted as "" . Now it correctly returns an error. OAuth2 flow testing. Warnings and diagnostics now have some simple checks too. And I merged it into main . Then I started cleaning up the Tailwind CSS. NOTE: they are in new branch dashboard/cleanup Why? Because I used the Play CDN in the past, so I couldn’t create utility classes in a CSS file. Soooo I didn’t. Andddd there were a lot of Tailwind classes that didn’t fit on my screen. Now that I started precompiling it, I could add them. I added 5 unique utility classes. All of them combined are used around ~120 times across all HTMLs. The longest one: @utility inputSelection { @apply w-full px-4 py-2 .5 bg-zinc-950 border border-zinc-800 rounded-xl text-zinc-100 focus : outline-none focus : ring-2 focus : ring-blue-300 focus : border-transparent transition-all appearance-none text-center [ text-align-last : center ] cursor-pointer ; } I also minified the CSS file. If I understand it, it removes anything the browser doesn’t need to understand the CSS (new lines, unnecessary spaces…). It’s better because those characters are still sent over the network, and fewer bytes mean less traffic. While using the new utility classes, I tried to preserve the layout, so everything should look the same as before.
Devlog SITE changes I found that some number inputs didn’t use the utility classes. I gave them inputText because they are really the same; the only difference is the HTML type . I also forgot to update the reloadable fuel section. It now uses the shorter utility class. Made sure that all text in the header is the same size (they weren’t). I copied all changes back to the main branch. config changes Then I added a config file using the configparser library. also added an option to disable the FastAPI docs. I started working on Wiki: reworking docs.md into a GitHub Wiki with up to date information. Error logger, so you can see what’s wrong without printing the API response in your code. I had some problems with catching the fastapi automatic response but I will leave it for next devlog
Devlog There was a small (or big) problem in my playground. If an error was returned in the response, you could only see it if your app handled it or by printing the response. That’s why I added an error logger. It can show errors in two ways: Terminal Log file How it works There were two ways of doing it (from what I learned): Middleware that captures all responses (this could be helpful in the future). Exception handlers (this is what I chose). I use two handlers: @app.exception_handler(RequestValidationError) @app.exception_handler(HTTPException) It was a horrible time searching for why it didn’t work. At first, I worked in a separate file, but I couldn’t get the (fastapi) app variable into those functions. So I copied them into main file to make them work first. I had to change some JSON responses to HTTPException to make the second handler work. After I captured the first request and printed it, I worked on one function that writes a log and another that prints to the terminal. I also created a class to store useful data. It works like this: Exception handler-> ->Put data into class -> ->Create response -> ->Return response ->Create a background task that logs the error I create a background task so the response doesn’t wait or even worse fails In the end I found that I can wrap these func with this simple func to make them work in different file def setup_error_logging(app: FastAPI): Added a config option: To disable it completely. To disable only the log file. It also bypasses all internal endpoints to make the logs more readable. The best fail… 😅 I returned an exception instead of raising it. I spent a good 15 minutes wondering why the response had status code 200 with a JSON body saying status code 400 . response changes I also checked how the authorization errors look and added two new ones: Missing Authorization header. Invalid vcc-api-key header. WIKI (not counted) I focus on making a GitHub wiki (new docs) After ending them and the error logger. Its time for the first ship !!!!!!! Nest instability: I made a backup server : https://frog01-21185.wykr.es/ Its not ideal one, bc some asian countries are blocked but its shouldn’t have any downtime (I hope so) If an Admin read it why I must copy enter from different text input 😭
Devlog Error logger added colors to the terminal print out using: \033[31m \033[0m Good to know that it is so easy to add colors to text added timestamps to log file and - between errors Changes how it reads body once again and fixed url encoded requests logging My additional information I put in detail in the json response (the real API can send it like that buttty I didn’t see it. info from docs ) additional changes: New scenarios mostly about service warnings You can add notes to the website thru config files Scopes I started working on scopes. What are they? They are really permissions (you can know them from discord bots or if you login thru GitHub etc.) I don’t want to put them in this first ship but I needed to work on something (while I work on wiki) and I CAN’T guarantee every thing works after adding them. You can see it in the scopes branch. what is done: I have made preparation so the additional database (dict) I use for OAuth can store more data have updated website func to work with changes and also pytest added all possible conve (connectivity API) scopes WIKI when I add everything to them I will finally try making a ship added the error logger page updated the sidebar scenario and snapshots page a lot of misc Bonus photos from vacation on baltic sea
Long time no see… The school started aaand I didn’t have time I had low motivation The only thing to do before first ship is docs but I could find time to finish them. Buut I back now. AND I promise to ship it before 7 of September. If you are voting on this project PLEASE do not skip. I have my birthday coming and if the shipwrights doesn’t have a long list it could mean this project payout could be my birthday gift. If I ofc ship it 😅 devlog Small marketing changes everywhere to say that this project doesn’t have any ready code to use Added info about error logger on the landing page Scopes A long way from last devlog Fixed pytest ( A second time) TEMPORARY FIX added so the scope error doesn’t - throw just internal error FIXed the Oauth2 endpoint at least 3 times Added a WIP endpoint to edit scope data from API Fixed how cars are created so they work with both - Oauth and scopes stuff Only looking dashboard page for scopes compare I think I forgot to say something in last devlog config file if you would like to use different instance Toml oillevel to oilLever AI disclaimer that I used this project to learn tailwind Make the doors have different statuses in mean time Untracked WIKI Redo the home page Started working on stardance path A lot of misc that I don’t remember other I created a small modified volvo example app to show that my app works like the real one
Devlog MAIN added a startup baner fixed snapshots not saving if website was used scope If you didn’t follow from start this branch contains the experimental scope support which is mostly done but I can guarantee stability that’s why it isn’t pushed to main in fist ship made the scope page work added a back button added button to scope on main page fixed snapshots loading/saving
Read till the end PLEASE 🥺 Devlog A lot of changes from the last devlog only 5 hrs Mostly bc I add stuff on top of but I will suffer in the future (See dev branch for these changes) Change all connectivity API to start with /connected-vehicle/v2/ to make room for different APIs After that I fixed pytest to reflect that I added a location API with a ONE endpoint There were few iterations Added scopes for this API location:read If I remember correctly Unique error responses (because location error look like old (v1) connectivity API Fixed that operationID could be a constant Added a config option to use longer API keys About here I Fixed the url for location api because it used the connectivity scheme Started working on energy API I added all data from it to this project In short one endpoints says what this car is capable of And the other says the values TODO: add its unique error its half done Scopes corresponding to energy API Fixed that some values and capabilities had the same name (bc of that some bool values where number so a it was important) WIP Oauth2 update: JWT tokens for access tokens WIP token can expire! what are JWT token? There consist of three parts header payload and signature The two first is important for my project the 3 isn’t . They store info about issuer, when token is active, scopes… A lot of useless data for this project or useful? We will see Life Bc of school I didn’t have a lot of time to write devlog (and write code) but I try to do my best before the end of stardance The next ship is planned for 28 September BIRTHDAY TODAY (16 September) Im celebrating my birthday 😄 If you write me a few good words It would be motivating for me.
Devlog A lot of breaking changes later and getting closer to PR and going to 2 ship Token lifetime WORKS made time when token is expired is rounded to int endpoint for invalidating token possibility for enabling expiring token for a specific token when it’s disabled for all in config file misc pytest for location and energy API fix the url for the enrgy API (it started with connectivity url not wi the energy api) cleanup import created new files to make the code more readable dashboard added location values added capabilities and values auto token generation and expiration in dashboard
Devlog A very long time no see. I have made a lot of progress on adding an SQL database. Testing on MySQL The backup server provider gives me access to one. SQL changes A lot of BIG changes. The reason why I haven’t posted for so long is that I didn’t want to post about something that doesn’t work. Created new classes to intercept data changes, both in case of direct dict changes and when going through the SQL model library. (I didn’t change much in the code, just imported it under the same name as the old database.) And it works! At the start, only reading data worked, but now it can send data back to the database. Added a regen function to make sure built-in API keys are always the same after a restart. Fixed the car creation function (but when I started storing the additional data in SQL, it broke AGAIN). Added configuration attributes. At first, just the database type, but then all the information needed to connect to a MySQL database. Fixed the scenario readconfig (wasn’t it updated in the past?). A really small number of things I added? Yes, but the amount of debugging and changing built-in functions in classes took me so long. (Could be because of school and not having time to do everything in one sitting.) But I learned how to make a dummy dict with a class, as I called it in the commit: proxy . Problems The SQL database can’t create new cars. Need to check all internal endpoints to make sure they work. Still haven’t merged the DEV branch (TODO). All information is stored in one column as JSON. It works, buuuut I don’t like it that way. Need to clean up the proxy classes. updating docs What failed this time? The second photo attached shows it. Have a look before reading more. _contains__ If you see it, congrats! But if you have a screen full of code, it’s harder to spot. It should be __contains__ , and I spent, I think, two days debugging why all in statements just didn’t work. I was so happy when I finally found it! XAMPP and Apple Silicon The manager app doesn’t open after a restart, so after consulting Google and AI, I found a command that I use: sudo /Applications/XAMPP/xamppfiles/xampp start xampp If someone is asking why I didn’t use the server provided one it just wasn’t practical for now.
Devlog Changes More readable errors from SQL. Regeneration function added for all built-in values. Fixed regeneration function. Added a purge option. Fixed a need for a database even if the memory database was used. Fixed adding and removing cars from the SQL database. Added an option to disable debug info from the SQL database. Fixed proxy for normal API calls (fixed the refresh function, conversion, and get item). Added a refresh configuration (it can refresh always or only when data changes). Fixed pytest. Easter egg look for it WIP Columns I changed from using a column containing JSON to a column for every attribute. Pluses: You can easily edit data in database software or using SQL commands. But: The app was designed around dictionaries, so it needs all of the columns always. So that’s something to do in the future. It doesn’t fit on my screen in phpMyAdmin 😂 Testing I added pytest for required proxy functions (only the main database). The additional database I found that the working additional database worked because I forgot to change it in different files, so it still used the dictionary to store data. A first version of the fix is there, but wait for an better one. TODO force the pytest to use dict for most tests update docs finish easter egg finish the additional database for SQL add more pytests misc helpful pages? I’m still thinking Planning to ship at the end of 28th.
Devlog The not the last 😄 (I’m not happy about this). Art? I did some art or tried to? https://lapse.hackclub.com/timelapse/s89hZFt0iVb5 15 min of pain. If you want to make some assets dm me or something New dashboard I worked hard to make a new dashboard. The old dashboard really just works. What works? A proof of concept of a car visualiser. Photo 1 I checked how it can look (design picture, not working thing). Photo 2 A small problem with my function. It was completely rewritten, sooo don’t look into it. Photo 3 A working iframe with my visualiser. Photo 4 Current state of what I wanted to build (goal: something like in Photo 1). Photo 5 My VS Code started breaking. It’s still broken a little. I could only add 4 photos and im too tired to upload somewhere and add a link Docs Started updating docs so they aren’t for the main or dev branch, something in the middle.
#Devlog The end New dashboard A lot of small changes have been made since the last devlog. Added new subsections to the dashboard. Added fuel and battery subsections. Added a button to switch to the new dashboard. Added /v2 to the new dashboard URL. Added a new white version of the car. It looks a little better, I think. Added windows to the visualiser. Fixes A fast FIX with AI Fixed tests. Other Merged the dev branch into main and updated uv.lock.
Ships:
A Milestone Welcome everybody to the first ship of this project. What is this project? This project simulates how the Volvo API works. Why was this project created in the first place? So it’s easier to create and test your app that uses the Volvo API without using ready-made libraries. I can’t find the features you mentioned in the devlog? Check the scope branch or the upcoming dev branch. What I’m proud of: I learned a lot of things (this is my first big public project): Tailwind Python stuff (I started with C++) Writing documentation (Markdown) I also learned the basics of OAuth2 and how APIs work. Making a project with all the features needed to get started. I created an additional document for you, Stardancers: Stardance PATH What is still on the TODO list? More APIs Scopes docker image See the roadmap . What to see? error logger recreated endpoints dashboard web socket realtime changes internal endpints interactivity of the car
Second ship Huraaay! Here we go again! What new to test out? New car dashboard (there’s a button in the old one). Scopes. New energy and location APIs. Persistent storage. OAuth access token expiration (see the endpoint for faster expiration. It’s time-based, but waiting for expiration is tiring). A few words about them New dashboard I’m not an artist, ok? If you want to make better assets, let me know! Persistent storage Persistent storage = SQL database. In the past, all data was stored in memory (in a dictionary). Now you can choose SQLite or MySQL. The main server uses the memory dict. The backup will use MySQL to show that it works. I need time to set it up, so don’t use the backup. Any questions? If you don’t have problems with not being anonymous, then you can contact me on Slack. I will keep everything to myself. Future? For now, I will focus on smaller projects. But this project isn’t on hold; updates will just be slower. The Stardance PATH is still waiting....
|
1793339620.8337193
|
1793426020.8337193
|
|
37722
|
asteroid hunter by @layerblayerplus | Stardance
|
layerblayerplus
|
1
|
86.0
|
837
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T19:43:08Z", "hours": 86.0, "multiplier": 9.79, "payout": 837, "blessing": "neutral", "text": "this is my game asteriod hunter a game where you shoot down asteriods to gain materials to make your own space base this ship is part 1 of the game this is also the first game I ever made (mobile mode doesn’t work right now that will be fixed in ship 2)", "repo": "https://github.com/layerblayerplus-lgtm/asteriod-hunter", "demo": "https://microstudio.io/layerbylayer/astreroidhunter3/YD5AWCT2/"}]...
|
[{"post_id": 73721, "ts": "202 [{"post_id": 73721, "ts": "2026-09-25T19:37:54Z", "hours": 0.7925, "text": "I did some final game testing also mobile mode is not finished yet I will do that in next ship so only test on computors pls"}, {"post_id": 73466, "ts": "2026-09-25T04:57:32Z", "hours": 1.0242, "text": "i fixed some bug and made mobile control more straight forward -game link pls play test and give feedback https://microstudio.io/layerbylayer/astreroidhunter3/YD5AWCT2/"}, {"post_id": 72980, "ts": "2026-09-24T04:49:33Z", "hours": 2.4158, "text": "I worked on adding a health bar effect to the asteriod which will slowly crack after each hit"}, {"post_id": 71952, "ts": "2026-09-21T20:46:18Z", "hours": 1.0011, "text": "I did some final gametesting and added end/win condition- get 10 methane - if you do this then part 1 of the game is over"}, {"post_id": 69793, "ts": "2026-09-17T20:00:50Z", "hours": 0.9675, "text": "i worked on making the github repo for the game"}, {"post_id": 68965, "ts": "2026-09-16T03:57:58Z", "hours": 2.1344, "text": "THE MOBILE UPDATE I made the game work on mobile devices when the game starts you can choose mobile mode if you are on a phone or iPad ect In this mode every input has a button on the screen the buttons I have made so far left (turn turret left) right (turn turret right) space (shoots laser) shop button(goes into shop mode) resume button(goes out of shop mode)"}, {"post_id": 68446, "ts": "2026-09-15T04:16:14Z", "hours": 1.5678, "text": "I decided to fix the bug that caused asteroids that are destroyed from not dropping materials I did that because it was becoming to common Made every hit make sound but made last hit make bigger sound -Made asteroid hitting ground sound better"}, {"post_id": 67856, "ts": "2026-09-14T04:15:04Z", "hours": 1.3503, "text": "RANDOM FIXES I added the repair system for the Sabatier reactor because I forgot to do that previously Resized click boxes for buying upgrades to fit the text better BUGS - Fixed problem where clicking on empty screen in shop mode could cause accidental upgrades purchases Fixed a major bug where asteroids would disappear mid-air sometimes after being shot down. Now it always show a destruction animation, but I kept the part of the bug which made the asteroid have a small chance to not give you any materials as a new feature"}, {"post_id": 67072, "ts": "2026-09-13T03:44:00Z", "hours": 1.8433, "text": "BUGS I fixed A bug where you couldn’t buy upgrades anymore this was caused by a variable for tutorial mode never turning off as I reset the games values before turning tutorial mode off I also fixed many minor bugs caused by the tutorial update I added two new sounds The sound the laser in the carbon burner upgrade The sound of combustion from the Sabatier reactor I also fixed the sound that the side lasers make when charging the megalaserbeem I also made two small sprites the sprites were added to the starting Ui so the (tutorial) and (click here to start) buttons look nice instead of just being some floating text"}, {"post_id": 66360, "ts": "2026-09-12T04:46:07Z", "hours": 2.2178, "text": "TUTORIAL UPDATE (not just this devlog but the previous tutorial devlogs too) tutorial I made a tutorial to show the player how to play the game in an interactive manner the player learns how to: shoot laser beems aim the turret buy upgrades use upgrade buttons fix upgrades manage power usage BUGS (that I remember 😭) I had a bug where I was using a wait command for having text appear after a an amount of time but it was buggy so I used a time variable to track time globaly to stop it from glitching out."}, {"post_id": 65779, "ts": "2026-09-11T04:39:51Z", "hours": 1.1006, "text": "I worked on making the tutorial actually work I mean at least like a quarter sorry for short devlogs"}, {"post_id": 65181, "ts": "2026-09-10T03:56:49Z", "hours": 1.3131, "text": "I was working on making a tutorial for the game to make is it simpler for new players to figure out how to play"}, {"post_id": 64606, "ts": "2026-09-09T03:48:28Z", "hours": 1.4183, "text": "I edited the sound’s code - I added the mega beem explosion sound - I added a sound for the mega beem charging Fixed how sounds were played"}, {"post_id": 64070, "ts": "2026-09-08T06:45:07Z", "hours": 0.3539, "text": "added asteriod explosion sounds"}, {"post_id": 63395, "ts": "2026-09-07T06:37:20Z", "hours": 1.0186, "text": "LET THERE BE SOUND UPDATE 1 I added some sound effects to the game I sourced the sounds from mixkit the sound effects I added so far are: the normal laser beem sound the charged sidelaser beem sound a bubbling sound for the electrolysis system. I also added a cool background soundtrack"}, {"post_id": 62721, "ts": "2026-09-06T06:54:58Z", "hours": 1.5864, "text": "POWER DISPLAY UPDATE I Added a display of how much power you are losing or gaining I coded it to be red when losing power and green when gaining power It helps the player be aware of the amount of power they are using game testing/fixes I did an ~ hour of just playing the game trying to get as far as I could get but did not track the time because I did no coding during the time but I used this knowledge to fix all of these following things SOLAR PANEL I Fixed bug which caused that after first damage caused to solar panel Solar Efficiency never goes back to full capacity as I forgot to make the code assign the value of S,E to full if solar health is full I accidently just assigned it at the beginning of the code but not again. I found this out in game testing when my power kept on running out even at full solar health IRON I Made iron more common as I orignally did not account for the constant need to repair your upgrades. COOLING SYSTEM I made the cooling system take al lot less power. I did this to make it more useful as when I was game testing I found it kinda of pointless to use"}, {"post_id": 62005, "ts": "2026-09-05T06:37:20Z", "hours": 1.7881, "text": "game test update I did Game testing for 30 min fixes I Recentred asteroid sprites I resized asteriod hitboxes Increased starting power sabatier damage system I added the Sabatier reactor to the damage system and made sprites for it’s diffrent damage states I also made attached pipes get destroyed with the sabatier reactor"}, {"post_id": 61344, "ts": "2026-09-04T06:50:17Z", "hours": 1.6422, "text": "no update methane tank and pipe I added the shop text and click sensing for the methane tank and pipe fixes Fixed the restart option from the end screen the bug was caused because the gamend variable was assigned true 1 second after power was below 1 so even after it reset the game, gamend would go back to true"}, {"post_id": 60662, "ts": "2026-09-03T05:07:49Z", "hours": 1.6744, "text": "THE METHANE UPDATE Added methane tank added a methane tank below the sabatier reactor to store the methane from the reaction I Added a pipe to sent methane from sabatier reactor to the methane tank Added gas fill animation to methane tank Fixes I fixed the buttons so they dont work in shop mode I Fixed a glitch where all asteriods were carbonaceous. It turns out I was asigning the asteriod varible constantly to its starting value which is carbonaceous I Made carbon more abundant and Made water less abundant I also added text to help the user know how to activate some upgrades sorry I couldn’t get video today"}, {"post_id": 60045, "ts": "2026-09-02T04:45:08Z", "hours": 1.7844, "text": "THE GAME OVER UPDATE The game over screen if you run out of power and have no solar panel a game over screen pops up. It stops the game and lets you restart fixes I added a active cursor display on the side of the cursor to make the switch between buy mode and fix mode flow better I also made the amount of time you have to hold down the mouse to switch cursor modes half as long video the video shows the new game over animation and the active cursor display"}, {"post_id": 59394, "ts": "2026-09-01T05:49:14Z", "hours": 1.7128, "text": "no update today :( animation for the sabaitier reactor I made an animation of fire/ combustion in the sabiter reactor by making a cycle of four sprites bugs/fixes fixed a bug which would drain half of your power when you just started I also made the normal laser beem take less power video the video shows the new sabaiter animation"}, {"post_id": 58651, "ts": "2026-08-31T04:24:01Z", "hours": 2.1347, "text": "BUTTON UPDATE Made buttons the button works by toggling from off to on if the mouse clicks the button sprite on the upgrade ( the same sprite prevouisly used by the activity indicator ) all upgrades with buttons listed the carbon burner clicking the button toggles laser on and off the sabatier reactor clicking the button toggles heater on and off the electrolysis system clicking the button toggles wire in water storage on and off video the video shows all of the buttons being used to turn on the upgrades to eventually make methane"}, {"post_id": 57910, "ts": "2026-08-30T07:34:23Z", "hours": 1.84, "text": "THE minor CHANGES UPDATE Added on/off sensing to two upgrades one colored indicator on each upgrade shows you if the upgrade is currently active I fixed the start screen now the game starts and the start screen disapears if you click the screen instead of at the end of a preset time Added heater to sabatier heats up on side so sabatier reactor can reach right temp and also just looks cool"}, {"post_id": 57105, "ts": "2026-08-29T06:29:24Z", "hours": 3.4183, "text": "SABATIER REACTOR UPDATE added sabatier reactor I made a sabatier reactor sprite and added the shop text for it I also added two new pipes one to feed hydrogen to the reactor the other to feed co2 to the reactor chemistry time the sabatier recation turns 1X co2 and 2X h2 ⇢ 1X ch4(methane) and 2X h2o I added the code to do the sabatier reaction in game Bugs Fixed side lasers so they would only fire when fully charged and organized the code a bit for them"}, {"post_id": 52121, "ts": "2026-08-22T06:40:26Z", "hours": 2.5372, "text": "THE MEGA BEEM UPDATE I Added A Side Lasers Upgrade the side lasers give the player the ability to shoot larger laser beems that do a lot more damage, one shotting most asteriods. I also animated the side lasers to have an open and closed position aswell as having a copper plate on main turret that visually heats up to show the laser powering up. Fixing Fix Mode (ironic) I made the wrench only be able to fix but not buy and made the normal cursor just buy upgrades but not fix. I also stopped normal cursor from buying new upgrade while the old upgrade is present."}, {"post_id": 51468, "ts": "2026-08-21T06:10:08Z", "hours": 2.5592, "text": "Made elctrolysis and laser not work in shop “mode” I did this so the player couldn’t just stay in the shop and make new resources eg oxygen, co2 ect. Now the player has to do it while defending the base from asteriods Added fix mode now if you hold down your cursor in shop mode it will toggle between the regular cursor and a wrench. When the wrench is active you can click on damaged upgrades to repair them Organized code I organized my code into sections and added notes to make my code more readable Fixed starting text I changed some things in game so I also changed the starting text to inform the player ."}, {"post_id": 50802, "ts": "2026-08-20T06:31:30Z", "hours": 1.3339, "text": "I worked on giving the carbon laser health and a destruction animation I also worked on making co2 tank disappear with carbon laser when it is destroyed I made co2 level 0 if no co2 tank is present I Made nickel more rare as it was to common. bugs Fixed cooling system upgrade as it didn’t work in previous update the problem was that it only worked when game was paused so I just reversed it and now it works. stoped hydrogen tank from getting destroyed when solar panel was destroyed video This Is a video of a fully upgraded base decaying at 16X speed."}, {"post_id": 50126, "ts": "2026-08-19T06:31:21Z", "hours": 2.5678, "text": "I added a co2 tank ,––I added a pipe for sending oxygen to the carbon burner, ––I made materials only show up after you obtain them and also did some debugging.—————————————————————————————––I added a co2 tank aswell as a co2 gas sprite which shows the amount of co2 in the tank.–––––––––––––––––––––––––––––––––––I added a pipe to feed oxygen to the carbon burner so you can actually burn the carbon to make co2———————————————————–I made materials only appear after you obtain them so it looks neater in early game and also kinda just has a discovery vibe—————————————————————————————I did some ‘debuging of bugs” caused by my new updates. one thing I couldn’t figure out yet is why the water storage and copper pipe cooling system didn’t speed up the lasers anymore, I guess i should work on that now. Until we meet again."}, {"post_id": 42263, "ts": "2026-08-06T21:52:47Z", "hours": 2.7675, "text": "I worked on making the ui controlled by the cursor instead of a corsponding key for each item I did this to make it more user friendly and less confusing to use. To do this I had to sense the distance of the mouse from each of the click locations and check if the mouse is within a certain range using a different variable for each upgrade. ––––––––––––––––––––––––––––––––––––––––here is a video showing how the cursor control works"}, {"post_id": 39902, "ts": "2026-08-03T06:11:48Z", "hours": 4.1467, "text": "I worked on fixing the shop ui, added a new upgrade the (carbon burner), added some devtools and fixed some bugs/made sure everthing coded so far was working well.––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– I changed the shop Ui by making each item have a diffirent colours based on the ratio of the materials used to make it I also made it obvious what material each upgrade needed by colour coding.{the next step to improve the UI is to add mouse clicks instead of clicking keys on the keypad}.————————————————————————————————————— I added the carbon burner to the game (im still working on the name) it burns carbon with oxygen to make carbon dioxide which can be used later in game as a component of methane.–––––––––––––––––––––––––––––––––––––––––––––––––I added devtools to do things like changing the type of asteriod, speed of the laser beem,giving you infinte materials, ect{ mynext step is to make it more user friendly by adding a guide of the shortcuts for dev mode}———————————————————————————————––I also fixed some things eg. When the water storage is destroyed the oxygen an hydrogen tanks are destroyed aswell because they are on the waterstorage. Before I fixed they just kinda floated in space ect.–––––––––––––––––––––––––––––––––––––––––––––––––here is a video showcasing the new shop UI and the carbon burner(video starts at 40 seconds)"}, {"post_id": 39126, "ts": "2026-08-01T20:43:28Z", "hours": 3.5433, "text": "I added electrolysis to the game. To do this I added three new upgrades that are needed to proform electrolysis. a wire, an oxygen tank and a hydrogen tank. when you have all three aswell as (water storage) and a power source(solar panel). you can then click H to do electrolysis which turns one water into two hydrogen and one oxygen. which can then be used later in the game as a component of a fuel/power source. I also added an animation of the oxygen and hydrogen tanks filling up with gas as electrolysis is happening.–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––here is video that showcases how a playthrough might go now with the new upgrades."}, {"post_id": 38007, "ts": "2026-07-31T03:57:38Z", "hours": 1.9503, "text": "I worked on fixing some minor bugs such as misspelt variables ect added new materials added gases and moved parts over to make room for new upgrades. aswell as adding a hydrogen and oxygen tank. i will edit later"}, {"post_id": 37402, "ts": "2026-07-30T02:51:02Z", "hours": 0.3169, "text": "I worked on designing two more upgrades"}, {"post_id": 36610, "ts": "2026-07-28T20:35:36Z", "hours": 1.9003, "text": "I worked on cleaning up my code –––––––––––––––––––––––––––––––––––––I removed redundant parts of my code that were not being used or could be simplfied, I added notes so I know what each part of my code does, I fixed some minor bugs ect. I also fixed the power system so when you are idle you use less energy then when you are shooting laser beems. I did this because as I was playtesting I found out that the battery ran out too quickly and there was nothing you could do about it. So now to maintain sufficent power you have to use the laser beem wisely eg not shooting a asteriod that is too far, too large or not the type you need ect.———————————————————————————————————————– here is a sped up video of how a typical play through would go thus far.––––––––––––––––––––––––––––––––––––––––––– PS I am planing to add more room to the side and/or more turrets in newer updates."}, {"post_id": 36121, "ts": "2026-07-28T00:18:31Z", "hours": 2.1339, "text": "I added a screen at the begining of the game explaining the controls. I also added a dev mode shortcut to give infinte material (D&M keys) I also worked on the solar pannel adding a destruction animation as well as fixing some minor bugs caused by it. I also added a time variable that keeps track how many seconds pased from the start of the game I plan to utlize this to cause events or increase difficulty over time.—————————————————————————————This video showcase the starting screen and the Devmode’s infinte materials additonly it shows the solar panel damage effect which I think is the best slow destruction of any upgrade yet."}, {"post_id": 35637, "ts": "2026-07-27T06:09:16Z", "hours": 1.1169, "text": "I worked on making an animation of the power going down as well as as making a new “upgrade” the solar panel it slowly adds to your total power. as you have set amount of power when you start that starts running out. This video showcase the damage system as well as the power system."}, {"post_id": 35349, "ts": "2026-07-26T17:53:50Z", "hours": 1.0839, "text": "I made a power a stat in the game. Without power your turret cant move but you can still shoot. you start with a certin amount of power but can gain power by making things such as solar pannels ect. I have no video of it yet but here is a image of the new design of the turret . I also added sulfur to the game."}, {"post_id": 35007, "ts": "2026-07-26T04:51:16Z", "hours": 2.6678, "text": "I added a damage system to the game. If your upgrades are hit by a asteriod they lose health and if their health goes to low they disapear. I also made it that you can repair the upgrades using your materials to bring their health back. I also worked on the exit menu a bit adding some colours ect."}, {"post_id": 34438, "ts": "2026-07-25T04:46:03Z", "hours": 2.1167, "text": "I made the water storage upgrade also need a copper pipe connected to the turret for it to work. I also made it that when you have water in the water storage you can hold down the up key to speed up your laser beems as without the water as coolant the turret would over heat. code wise I made a clock so I can regulate parts of the game in universal time and not just a delay. here is link to test https://microstudio.io/layerbylayer/astreroidhunter/2MSZECRK/ E for exit mode R for resume left. right arrows to aim. space to shoot. while in exit mode to puchase upgrades click the first letter of its name on your keyboard"}, {"post_id": 34390, "ts": "2026-07-25T02:25:50Z", "hours": 1.0839, "text": "I added copper to the game aswell as animating the water storage to visualy fill up as you harvest more water from asteriods––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––ps I acdently recorded an extra half hour and dont know how to remove it"}, {"post_id": 34239, "ts": "2026-07-24T19:32:04Z", "hours": 1.1839, "text": "I made the home screen of the game show the amounts of each material you have as well as making the first upgrade I haven’t made it do anything yet but the idea would be that this upgrade called water storage could be used to cool down the turret which would increase fire rate as well as allowing other upgrades such as stronger laser two barrels ect"}, {"post_id": 33883, "ts": "2026-07-24T04:54:43Z", "hours": 0.5836, "text": "I added 5 materials you can get from asteriod carbon,water,silicon,iron,gold. I set the amounts each asteriod should get though I haven’t made a proper display yet. I also fixed some minor bugs IF you have any suggestions for materials to add feel free to share."}, {"post_id": 33792, "ts": "2026-07-24T00:15:24Z", "hours": 1.3214, "text": "I made diffrent types and sizes of asteriods take diffrent amounts laser beem shots to break. I also locked down the pivot of the turret while the laser is in flight to stop the player from being able to control the laser beem midflight as this will be a upgrade added later in the game"}, {"post_id": 33750, "ts": "2026-07-23T22:14:43Z", "hours": 0.4669, "text": "I fixed the bug with the rare metalic asteriod and added it back to the game. the problem was the first sprite for the animation of the asteriod blowing up was named (metalic_asteriod_rare1) but the program called for (metalic_asteriod_rare)"}, {"post_id": 33661, "ts": "2026-07-23T19:17:23Z", "hours": 3.0133, "text": "I made animations for all the asteriods I also fixed the size of the play area I tried to fix a bug where the rare metalic asteriod animation wouldn’t play but couldn’t figure it out so I removed the rare metalic asteriod I also added a exit button E to stop the meteor shower and a resume button R also here is link to try game thus far https://microstudio.io/layerbylayer/astreroidhunter/2MSZECRK/ (left and right arrow to aim and space to shoot)"}, {"post_id": 33338, "ts": "2026-07-23T04:59:55Z", "hours": 1.2003, "text": "I made the size of the asteriods hit box change to match the visual size. I also made it that when you hit an asteriod your laser beem disapears with the asteriod. I also animated one of the types of asteriod “destruction” animation ps be aware that because I haven’t animated the other asteriod there is lag before they disapear."}, {"post_id": 32790, "ts": "2026-07-22T05:35:21Z", "hours": 0.4672, "text": "The collsions work now :) the laser beem still has trouble hitting larger asteriods even if it looks like it is touching this is because I haven’t made the hit box fit with the size yet."}, {"post_id": 32679, "ts": "2026-07-22T00:06:05Z", "hours": 1.6003, "text": "I worked on collisions got no real progress on the actual code but I am figuring out how to add collisions I also organized my code a bit by putting realted variables into objects."}, {"post_id": 32159, "ts": "2026-07-21T03:56:48Z", "hours": 1.5042, "text": "I made a turret which can angled by the← and → arrow keys and use the space key to shoot a projectile that follows the angle it was shot in . next I think I will work on collisions"}, {"post_id": 32082, "ts": "2026-07-21T00:10:21Z", "hours": 1.0589, "text": "I added randomness to the type of asteriod It can now be one of these four types a carbonaceous asteriod (the most common one), a stony asteriod(uncommon but not rare), metalic asteriod(rare) and metalic asteriod with ore vein (the rarest asteriod thus far) I also added random sizes. Larger asteriods will be harder to stop but give more materials and vice versa.—————————————————————————————————————————–PS {now the asteriod comes from a random direction not just from the middle ◝(ᴖᗜᴖ)◜}"}, {"post_id": 31933, "ts": "2026-07-20T18:52:43Z", "hours": 1.2003, "text": "I started this project by making some sprites for the diffrent types of asteriods and started trying to make some basic code. currently the asteriods follow the same path every time so not very fun:("}]...
|
Title: asteroid hunter by @layerblayerplus | Stard Title: asteroid hunter by @layerblayerplus | Stardance
Devlogs:
I started this project by making some sprites for the diffrent types of asteriods and started trying to make some basic code. currently the asteriods follow the same path every time so not very fun:(
I added randomness to the type of asteriod It can now be one of these four types a carbonaceous asteriod (the most common one), a stony asteriod(uncommon but not rare), metalic asteriod(rare) and metalic asteriod with ore vein (the rarest asteriod thus far) I also added random sizes. Larger asteriods will be harder to stop but give more materials and vice versa.—————————————————————————————————————————–PS {now the asteriod comes from a random direction not just from the middle ◝(ᴖᗜᴖ)◜}
I made a turret which can angled by the← and → arrow keys and use the space key to shoot a projectile that follows the angle it was shot in . next I think I will work on collisions
I worked on collisions got no real progress on the actual code but I am figuring out how to add collisions I also organized my code a bit by putting realted variables into objects.
The collsions work now :) the laser beem still has trouble hitting larger asteriods even if it looks like it is touching this is because I haven’t made the hit box fit with the size yet.
I made the size of the asteriods hit box change to match the visual size. I also made it that when you hit an asteriod your laser beem disapears with the asteriod. I also animated one of the types of asteriod “destruction” animation ps be aware that because I haven’t animated the other asteriod there is lag before they disapear.
I made animations for all the asteriods I also fixed the size of the play area I tried to fix a bug where the rare metalic asteriod animation wouldn’t play but couldn’t figure it out so I removed the rare metalic asteriod I also added a exit button E to stop the meteor shower and a resume button R also here is link to try game thus far https://microstudio.io/layerbylayer/astreroidhunter/2MSZECRK/ (left and right arrow to aim and space to shoot)
I fixed the bug with the rare metalic asteriod and added it back to the game. the problem was the first sprite for the animation of the asteriod blowing up was named (metalic_asteriod_rare1) but the program called for (metalic_asteriod_rare)
I made diffrent types and sizes of asteriods take diffrent amounts laser beem shots to break. I also locked down the pivot of the turret while the laser is in flight to stop the player from being able to control the laser beem midflight as this will be a upgrade added later in the game
I added 5 materials you can get from asteriod carbon,water,silicon,iron,gold. I set the amounts each asteriod should get though I haven’t made a proper display yet. I also fixed some minor bugs IF you have any suggestions for materials to add feel free to share.
I made the home screen of the game show the amounts of each material you have as well as making the first upgrade I haven’t made it do anything yet but the idea would be that this upgrade called water storage could be used to cool down the turret which would increase fire rate as well as allowing other upgrades such as stronger laser two barrels ect
I added copper to the game aswell as animating the water storage to visualy fill up as you harvest more water from asteriods––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––ps I acdently recorded an extra half hour and dont know how to remove it
I made the water storage upgrade also need a copper pipe connected to the turret for it to work. I also made it that when you have water in the water storage you can hold down the up key to speed up your laser beems as without the water as coolant the turret would over heat. code wise I made a clock so I can regulate parts of the game in universal time and not just a delay. here is link to test https://microstudio.io/layerbylayer/astreroidhunter/2MSZECRK/ E for exit mode R for resume left. right arrows to aim. space to shoot. while in exit mode to puchase upgrades click the first letter of its name on your keyboard
I added a damage system to the game. If your upgrades are hit by a asteriod they lose health and if their health goes to low they disapear. I also made it that you can repair the upgrades using your materials to bring their health back. I also worked on the exit menu a bit adding some colours ect.
I made a power a stat in the game. Without power your turret cant move but you can still shoot. you start with a certin amount of power but can gain power by making things such as solar pannels ect. I have no video of it yet but here is a image of the new design of the turret . I also added sulfur to the game.
I worked on making an animation of the power going down as well as as making a new “upgrade” the solar panel it slowly adds to your total power. as you have set amount of power when you start that starts running out. This video showcase the damage system as well as the power system.
I added a screen at the begining of the game explaining the controls. I also added a dev mode shortcut to give infinte material (D&M keys) I also worked on the solar pannel adding a destruction animation as well as fixing some minor bugs caused by it. I also added a time variable that keeps track how many seconds pased from the start of the game I plan to utlize this to cause events or increase difficulty over time.—————————————————————————————This video showcase the starting screen and the Devmode’s infinte materials additonly it shows the solar panel damage effect which I think is the best slow destruction of any upgrade yet.
I worked on cleaning up my code –––––––––––––––––––––––––––––––––––––I removed redundant parts of my code that were not being used or could be simplfied, I added notes so I know what each part of my code does, I fixed some minor bugs ect. I also fixed the power system so when you are idle you use less energy then when you are shooting laser beems. I did this because as I was playtesting I found out that the battery ran out too quickly and there was nothing you could do about it. So now to maintain sufficent power you have to use the laser beem wisely eg not shooting a asteriod that is too far, too large or not the type you need ect.———————————————————————————————————————– here is a sped up video of how a typical play through would go thus far.––––––––––––––––––––––––––––––––––––––––––– PS I am planing to add more room to the side and/or more turrets in newer updates.
I worked on designing two more upgrades
I worked on fixing some minor bugs such as misspelt variables ect added new materials added gases and moved parts over to make room for new upgrades. aswell as adding a hydrogen and oxygen tank. i will edit later
I added electrolysis to the game. To do this I added three new upgrades that are needed to proform electrolysis. a wire, an oxygen tank and a hydrogen tank. when you have all three aswell as (water storage) and a power source(solar panel). you can then click H to do electrolysis which turns one water into two hydrogen and one oxygen. which can then be used later in the game as a component of a fuel/power source. I also added an animation of the oxygen and hydrogen tanks filling up with gas as electrolysis is happening.–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––here is video that showcases how a playthrough might go now with the new upgrades.
I worked on fixing the shop ui, added a new upgrade the (carbon burner), added some devtools and fixed some bugs/made sure everthing coded so far was working well.––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– I changed the shop Ui by making each item have a diffirent colours based on the ratio of the materials used to make it I also made it obvious what material each upgrade needed by colour coding.{the next step to improve the UI is to add mouse clicks instead of clicking keys on the keypad}.————————————————————————————————————— I added the carbon burner to the game (im still working on the name) it burns carbon with oxygen to make carbon dioxide which can be used later in game as a component of methane.–––––––––––––––––––––––––––––––––––––––––––––––––I added devtools to do things like changing the type of asteriod, speed of the laser beem,giving you infinte materials, ect{ mynext step is to make it more user friendly by adding a guide of the shortcuts for dev mode}———————————————————————————————––I also fixed some things eg. When the water storage is destroyed the oxygen an hydrogen tanks are destroyed aswell because they are on the waterstorage. Before I fixed they just kinda floated in space ect.–––––––––––––––––––––––––––––––––––––––––––––––––here is a video showcasing the new shop UI and the carbon burner(video starts at 40 seconds)
I worked on making the ui controlled by the cursor instead of a corsponding key for each item I did this to make it more user friendly and less confusing to use. To do this I had to sense the distance of the mouse from each of the click locations and check if the mouse is within a certain range using a different variable for each upgrade. ––––––––––––––––––––––––––––––––––––––––here is a video showing how the cursor control works
I added a co2 tank ,––I added a pipe for sending oxygen to the carbon burner, ––I made materials only show up after you obtain them and also did some debugging.—————————————————————————————––I added a co2 tank aswell as a co2 gas sprite which shows the amount of co2 in the tank.–––––––––––––––––––––––––––––––––––I added a pipe to feed oxygen to the carbon burner so you can actually burn the carbon to make co2———————————————————–I made materials only appear after you obtain them so it looks neater in early game and also kinda just has a discovery vibe—————————————————————————————I did some ‘debuging of bugs” caused by my new updates. one thing I couldn’t figure out yet is why the water storage and copper pipe cooling system didn’t speed up the lasers anymore, I guess i should work on that now. Until we meet again.
I worked on giving the carbon laser health and a destruction animation I also worked on making co2 tank disappear with carbon laser when it is destroyed I made co2 level 0 if no co2 tank is present I Made nickel more rare as it was to common. bugs Fixed cooling system upgrade as it didn’t work in previous update the problem was that it only worked when game was paused so I just reversed it and now it works. stoped hydrogen tank from getting destroyed when solar panel was destroyed video This Is a video of a fully upgraded base decaying at 16X speed.
Made elctrolysis and laser not work in shop “mode” I did this so the player couldn’t just stay in the shop and make new resources eg oxygen, co2 ect. Now the player has to do it while defending the base from asteriods Added fix mode now if you hold down your cursor in shop mode it will toggle between the regular cursor and a wrench. When the wrench is active you can click on damaged upgrades to repair them Organized code I organized my code into sections and added notes to make my code more readable Fixed starting text I changed some things in game so I also changed the starting text to inform the player .
THE MEGA BEEM UPDATE I Added A Side Lasers Upgrade the side lasers give the player the ability to shoot larger laser beems that do a lot more damage, one shotting most asteriods. I also animated the side lasers to have an open and closed position aswell as having a copper plate on main turret that visually heats up to show the laser powering up. Fixing Fix Mode (ironic) I made the wrench only be able to fix but not buy and made the normal cursor just buy upgrades but not fix. I also stopped normal cursor from buying new upgrade while the old upgrade is present.
SABATIER REACTOR UPDATE added sabatier reactor I made a sabatier reactor sprite and added the shop text for it I also added two new pipes one to feed hydrogen to the reactor the other to feed co2 to the reactor chemistry time the sabatier recation turns 1X co2 and 2X h2 ⇢ 1X ch4(methane) and 2X h2o I added the code to do the sabatier reaction in game Bugs Fixed side lasers so they would only fire when fully charged and organized the code a bit for them
THE minor CHANGES UPDATE Added on/off sensing to two upgrades one colored indicator on each upgrade shows you if the upgrade is currently active I fixed the start screen now the game starts and the start screen disapears if you click the screen instead of at the end of a preset time Added heater to sabatier heats up on side so sabatier reactor can reach right temp and also just looks cool
BUTTON UPDATE Made buttons the button works by toggling from off to on if the mouse clicks the button sprite on the upgrade ( the same sprite prevouisly used by the activity indicator ) all upgrades with buttons listed the carbon burner clicking the button toggles laser on and off the sabatier reactor clicking the button toggles heater on and off the electrolysis system clicking the button toggles wire in water storage on and off video the video shows all of the buttons being used to turn on the upgrades to eventually make methane
no update today :( animation for the sabaitier reactor I made an animation of fire/ combustion in the sabiter reactor by making a cycle of four sprites bugs/fixes fixed a bug which would drain half of your power when you just started I also made the normal laser beem take less power video the video shows the new sabaiter animation
THE GAME OVER UPDATE The game over screen if you run out of power and have no solar panel a game over screen pops up. It stops the game and lets you restart fixes I added a active cursor display on the side of the cursor to make the switch between buy mode and fix mode flow better I also made the amount of time you have to hold down the mouse to switch cursor modes half as long video the video shows the new game over animation and the active cursor display
THE METHANE UPDATE Added methane tank added a methane tank below the sabatier reactor to store the methane from the reaction I Added a pipe to sent methane from sabatier reactor to the methane tank Added gas fill animation to methane tank Fixes I fixed the buttons so they dont work in shop mode I Fixed a glitch where all asteriods were carbonaceous. It turns out I was asigning the asteriod varible constantly to its starting value which is carbonaceous I Made carbon more abundant and Made water less abundant I also added text to help the user know how to activate some upgrades sorry I couldn’t get video today
no update methane tank and pipe I added the shop text and click sensing for the methane tank and pipe fixes Fixed the restart option from the end screen the bug was caused because the gamend variable was assigned true 1 second after power was below 1 so even after it reset the game, gamend would go back to true
game test update I did Game testing for 30 min fixes I Recentred asteroid sprites I resized asteriod hitboxes Increased starting power sabatier damage system I added the Sabatier reactor to the damage system and made sprites for it’s diffrent damage states I also made attached pipes get destroyed with the sabatier reactor
POWER DISPLAY UPDATE I Added a display of how much power you are losing or gaining I coded it to be red when losing power and green when gaining power It helps the player be aware of the amount of power they are using game testing/fixes I did an ~ hour of just playing the game trying to get as far as I could get but did not track the time because I did no coding during the time but I used this knowledge to fix all of these following things SOLAR PANEL I Fixed bug which caused that after first damage caused to solar panel Solar Efficiency never goes back to full capacity as I forgot to make the code assign the value of S,E to full if solar health is full I accidently just assigned it at the beginning of the code but not again. I found this out in game testing when my power kept on running out even at full solar health IRON I Made iron more common as I orignally did not account for the constant need to repair your upgrades. COOLING SYSTEM I made the cooling system take al lot less power. I did this to make it more useful as when I was game testing I found it kinda of pointless to use
LET THERE BE SOUND UPDATE 1 I added some sound effects to the game I sourced the sounds from mixkit the sound effects I added so far are: the normal laser beem sound the charged sidelaser beem sound a bubbling sound for the electrolysis system. I also added a cool background soundtrack
added asteriod explosion sounds
I edited the sound’s code - I added the mega beem explosion sound - I added a sound for the mega beem charging Fixed how sounds were played
I was working on making a tutorial for the game to make is it simpler for new players to figure out how to play
I worked on making the tutorial actually work I mean at least like a quarter sorry for short devlogs
TUTORIAL UPDATE (not just this devlog but the previous tutorial devlogs too) tutorial I made a tutorial to show the player how to play the game in an interactive manner the player learns how to: shoot laser beems aim the turret buy upgrades use upgrade buttons fix upgrades manage power usage BUGS (that I remember 😭) I had a bug where I was using a wait command for having text appear after a an amount of time but it was buggy so I used a time variable to track time globaly to stop it from glitching out.
BUGS I fixed A bug where you couldn’t buy upgrades anymore this was caused by a variable for tutorial mode never turning off as I reset the games values before turning tutorial mode off I also fixed many minor bugs caused by the tutorial update I added two new sounds The sound the laser in the carbon burner upgrade The sound of combustion from the Sabatier reactor I also fixed the sound that the side lasers make when charging the megalaserbeem I also made two small sprites the sprites were added to the starting Ui so the (tutorial) and (click here to start) buttons look nice instead of just being some floating text
RANDOM FIXES I added the repair system for the Sabatier reactor because I forgot to do that previously Resized click boxes for buying upgrades to fit the text better BUGS - Fixed problem where clicking on empty screen in shop mode could cause accidental upgrades purchases Fixed a major bug where asteroids would disappear mid-air sometimes after being shot down. Now it always show a destruction animation, but I kept the part of the bug which made the asteroid have a small chance to not give you any materials as a new feature
I decided to fix the bug that caused asteroids that are destroyed from not dropping materials I did that because it was becoming to common Made every hit make sound but made last hit make bigger sound -Made asteroid hitting ground sound better
THE MOBILE UPDATE I made the game work on mobile devices when the game starts you can choose mobile mode if you are on a phone or iPad ect In this mode every input has a button on the screen the buttons I have made so far left (turn turret left) right (turn turret right) space (shoots laser) shop button(goes into shop mode) resume button(goes out of shop mode)
i worked on making the github repo for the game
I did some final gametesting and added end/win condition- get 10 methane - if you do this then part 1 of the game is over
I worked on adding a health bar effect to the asteriod which will slowly crack after each hit
i fixed some bug and made mobile control more straight forward -game link pls play test and give feedback https://microstudio.io/layerbylayer/astreroidhunter3/YD5AWCT2/
I did some final game testing also mobile mode is not finished yet I will do that in next ship so only test on computors pls
Ships:
this is my game asteriod hunter a game where you shoot down asteriods to gain materials to make your own space base this ship is part 1 of the game this is also the first game I ever made (mobile mode doesn’t work right now that will be fixed in ship 2)...
|
1793339612.1364505
|
1793426012.1364505
|
|
43649
|
FT4232HL Multi BUS Adapter by @Luka | Stardance
|
Luka
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T15:10:37Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 4 Port (1 Port dedicated JTAG headder) USB multi BUS adapter , it wasnt hard but , i mean it was build in an all nighter and just needet a simple optional tester Code . It uses a FT4342H and USB-C ….", "repo": "https://github.com/Luka-io/FT4232H-USB-C-DONGLE", "demo": ""}]...
|
[{"post_id": 78350, "ts": "202 [{"post_id": 78350, "ts": "2026-10-10T15:04:53Z", "hours": 0.5833, "text": "I started by connecting the adapter , it worked first try , then i flashed some config to the eeprom with FT_PROG, afterwards I connected a second uart adapter and made a small serial blaster python file . Then python was missing and as i didnt want to fix the windows path hell i just reinstalled it and did some other work while that happend … Then i started going to my favorite(not) place (stackoverflow hell ) and did plan to make a auto discover wich gipos are wich com port , yeah i ran into some errors and stuff did a little AI help and after some coding the script works and I will now publish it to Github… Yeah the adapter works great !"}, {"post_id": 40562, "ts": "2026-08-04T06:12:43Z", "hours": 3.4861, "text": "So i started by copying the ft4232h part i already made and then i addet some ldos for the ic power and logik power , with that i also addet 3 logic converters wich can be set to 1.8 or 3.3v . i addet 3 gipo headers and a 10pin jtag adapter . A led indicator for power is necessary xD . I laid out the layout and saw the mess , the connector and logic converter ics werent really good to route as they were like an X ;) .. so i remade that 2 TIMESSS . but then i layed the pcb out , routed it all , and did a quick check . After some hours of datasheet hell and lcsc shopping the design was done . You can connect usb-c , then you get 3 buses capable of eg. UART , RS232 , SWD , JTAG …etc .. And an dedicated Jtag port ! .. This was a nice all nighter with @Marco_da_mechanic , he made the case after i gave him the pcb 3d model and it looks faboulus !!"}]...
|
Title: FT4232HL Multi BUS Adapter by @Luka | Stard Title: FT4232HL Multi BUS Adapter by @Luka | Stardance
Devlogs:
So i started by copying the ft4232h part i already made and then i addet some ldos for the ic power and logik power , with that i also addet 3 logic converters wich can be set to 1.8 or 3.3v . i addet 3 gipo headers and a 10pin jtag adapter . A led indicator for power is necessary xD . I laid out the layout and saw the mess , the connector and logic converter ics werent really good to route as they were like an X ;) .. so i remade that 2 TIMESSS . but then i layed the pcb out , routed it all , and did a quick check . After some hours of datasheet hell and lcsc shopping the design was done . You can connect usb-c , then you get 3 buses capable of eg. UART , RS232 , SWD , JTAG …etc .. And an dedicated Jtag port ! .. This was a nice all nighter with @Marco_da_mechanic , he made the case after i gave him the pcb 3d model and it looks faboulus !!
I started by connecting the adapter , it worked first try , then i flashed some config to the eeprom with FT_PROG, afterwards I connected a second uart adapter and made a small serial blaster python file . Then python was missing and as i didnt want to fix the windows path hell i just reinstalled it and did some other work while that happend … Then i started going to my favorite(not) place (stackoverflow hell ) and did plan to make a auto discover wich gipos are wich com port , yeah i ran into some errors and stuff did a little AI help and after some coding the script works and I will now publish it to Github… Yeah the adapter works great !
Ships:
I made a 4 Port (1 Port dedicated JTAG headder) USB multi BUS adapter , it wasnt hard but , i mean it was build in an all nighter and just needet a simple optional tester Code . It uses a FT4342H and USB-C …....
|
1793339608.939593
|
1793426008.939593
|
|
43641
|
JJK Minecraft Mod by @qstorm | Stardance
|
qstorm
|
1
|
157.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T18:29:09Z", "hours": 157.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "FULL SHOWCASE HERE This is a Minecraft mod based on the power system from Jujitsu Kaisen. It contains a combo system where if you press a number of keys in the right order, the power will activate. as well as lots of room for expansion with other powers thanks to how it’s built. Currently there are 5 functional abilities: The innate technique which slows down entities around the player; the blue technique which attracts entities to a ball; the red technique which repels enemies away from the user; the purple technique which destroys everything in it’s path; and the domain which sends enemies to a dimension where they are unable to do anything At first I had just planned on using this project as a blank slate to learn how to mod Minecraft, but eventually I got inspired to make more interesting things, and it led to me making one of my personal favorite fictional power systems, the JJK cursed techniques. It took a while to figure things out, I spend many hours looking through Minecraft source code and other peoples code as well as tutorials but eventually I figured out how to do different things. This was easily the most challenging part of the project, compared to a mathematically intensive project like openGL. I’m proud of so many things with this project. For one it is the first fun project I made (both to code and to play). I also made very good code. After studying Minecraft code and making tons of mistakes, I eventually learned how to make code that was both expandable and readable. I believe that given another week, I would have been able to create 5 other abilities. If you want to try the project, make sure to look through the readMe and install the mod on the 1.21.11M branch. The README provides critical information about how to use and install the mod.", "repo": "https://github.com/qstorm1/PracticeMod/tree/1.21.11M", "demo": "https://modrinth.com/project/jjk-abilities/settings/versions"}]...
|
[{"post_id": 74103, "ts": "202 [{"post_id": 74103, "ts": "2026-09-26T17:59:56Z", "hours": 0.5408, "text": "Build and Read me update"}, {"post_id": 74084, "ts": "2026-09-26T17:10:20Z", "hours": 4.5536, "text": "JJK Mod in minecraft This is the final devlog here is a youtube link to the showcase: Showcase After finishing the backend, I got a lot of progress done! I recommend watching the showcase but I managed to easily get all the abilities to a semi functional state. Thanks to the hard work of previous me, this wasn’t a hard task and I had no major problems. One interesting thing I did was how I worked with red. I used dot products to make red more usable, it actually pushes enemies back like in the show if they are in the same area as the direction red is moving. Other then that the systems were pretty easy to make. A big reason it took so long to get here was because I had no idea how to mod. Unfortunately in order to get everything done today, I had to cut a few corners, meaning that the power renderer is still a particle system. I could go on and on about what i want to add though (that will be in the ship) so I’ll just end it here"}, {"post_id": 73911, "ts": "2026-09-26T09:41:04Z", "hours": 11.1103, "text": "Near completion! It’s weird getting a feeling of satisfaction when deleting the most important part of my code. Thats what I felt when deleting the static variables that stored my data. All of the internal systems are now working and my code is so much cleaner. Now entity data is saved successfully, if you die, leave the world or exit the game. In order to do this I had to learn how to use interfaces well. Turns out casting is a lot more useful then one might expect. You can cast interfaces into classes and vise versa and you can use interfaces with getter and setter methods to get data from classes. I always though interfaces were a useless thing that people use to make better looking code but they are helpful. Anyway, I faced a few major bugs throughout the transition into CCA, the main one being the fact that I had to put an entrypoint in the fabric.mod.json file to render entities. It took a long time and I only found it because of some random reddit thread I found. The main issue was that when I implemented an interface, it was supposed to save data for that class in all entities. Heres a tip, if something is wrong and you can’t find the issue, think about whats happening under the hood. For me, I assumed that the entity data would automatically be initialized but interfaces can’t do that. I’m probably explaining it wrong (I’m a little tired rn with coding and college apps). Anyway, theres a lot more I want to do and I wish that stardance had lasted another week so that I could show you all my cool Ideas. I’ll make the final devlog and ship my project later today. So hopefully it works well :D (I worked on a lot of other stuff in these 10 hours but none are finished enough to devlog about; images have a peak)"}, {"post_id": 72944, "ts": "2026-09-24T02:46:16Z", "hours": 11.0214, "text": "Finished Cardinal Component re-design. It was really weird to get it working because I needed to use an interface and cast variables which I used to avoid doing. Nothing new unfortunately, next update will go into more detail on how I did this! (with new system this /stats command works :D)"}, {"post_id": 71437, "ts": "2026-09-20T20:24:18Z", "hours": 9.7322, "text": "Sorry, this update will probably be really boring. I’ve been sick for the past 3ish days but have still been trying to code. Unfortunately, that means most of my code is pretty bad. The basic rundown of what’s been happening is a realization that player data was being handled really stupidly. I wasn’t even saving things to files meaning once the server shut down, all the information would be deleted. Now I thought at first I could pretty easily deal with this after finishing the mod so I ignored it, but then I started having issues that came from synchronization with client and server. To those of you who looked at my previous devlogs, you can see that I constantly rewrote a lot of my code. This is because sometimes the client and server use the same static variables while other times they don’t. As a result of these two things, I decided to use a library to handle it called Cardinal Components. For most of my coding projects I’ve always wanted to ignore libraries to the best of my abilities and make stuff myself. I believe it’s a good to learn how the internals of a system work but the problem with me was that I would always stay low level. As I learned more about minecraft development, I learned how important it is to have both high and low level skills in order to make bigger projects. There will probably be only 2 or 3 more devlogs before I ship so I’ll try to get as much cool stuff done before then as possible. Big things are coming!"}, {"post_id": 69112, "ts": "2026-09-16T12:12:50Z", "hours": 10.1767, "text": "Limitless Innate Upgrades [upgrades showcase] ( https://youtu.be/m7zWsrxv2mA ) uh the devlog link is broken lol (or im just bad idk). I could talk about the things that I worked on behind the scenes unrelated to the innate upgrades but that’s very boring and I talked about them before, the main thing that I fixed was the handling of non-Living Entities with the limitless innate. Basically I used mixins to edit the move code as well as added some things to the client code. I talked a lot about how this worked in a previous devlog, but it took a lot of reading and understanding code to learn how to fix it. Unfortunately my command blocks were broken so I couldn’t showcase the projectile innate system, but otherwise most of the info is in the video"}, {"post_id": 67057, "ts": "2026-09-13T03:11:16Z", "hours": 10.8842, "text": "MY CODE IS SO TRASH! I was working on fixing my innate technique for limitless. The bug in question was an issue where falling non-living entities would end up rubber-banding before sometimes hitting the ground. (I’m not making a showcase video for this use the screenshot and ur imagination) The issue ended up being due to 2 things, one was that minecraft runs the move() function right after applyGravity() so my code would never get the chance to change the gravity. The second was the fact that move() calls are run both by the server and client. The first issue was relatively simple to fix, I just had to learn about advanced mixins and using @ModifyVariable correctly. However the second issue meant that I either had to send a ton of data with packets, or I could do what I had always wanted to do but knew it would take forever… code in client side compatibility. Anyway as of right now I am “almost” done with getting it working. I swear one of these days I am going to share something cool. probably next update or the one after, it’ll come out by Monday if I lock in."}, {"post_id": 65123, "ts": "2026-09-10T01:16:08Z", "hours": 9.3792, "text": "Blue Kinda Works! Video Showcase The showcase above includes some of the older versions, skip to 0:40 for official version (it was lagging at the time of recording though) The hardest part of this step was the value adjustments. Given my mod gives each player a random value for cursed energy and , a player needs to feel the diffrence between a weak sorcerer and a strong one. I’ll probably continue tweaking the settings for blue until I believe it is good enough. Anyway right now blue isn’t very complicated, it just detects all entities in a certain radius and gives them a velocity based on the gravitational force which is calculated based on radius and constants. I tried using the real life equations but had trouble with them. Finally, in case your wondering, I am planning on switching the particle renderer that is super laggy with a LWJGL openGL sphere renderer or maybe a block display but in order to do that I need to get good at rendering and make a client linear interpolate to simulate smooth movement and overall I really don’t want to but its gotta happen. Next update will either be a finished blue, or me whining about how trash my code is"}, {"post_id": 62746, "ts": "2026-09-06T08:09:20Z", "hours": 9.1467, "text": "I got the first power to work! you can find a showcase here: https://youtu.be/t6oah7P1Fyk it may not seem like much, but this means the lower level systems are working, and I can start focusing on making cool stuff. Other then that I also made the combo system more advanced by having it so u can run actions mid combo and you can detect how fast you did the combo. There are a few more things I want to add to the combo system and tbh I thought about re-coding it again (which is a pretty annoying habit that I’ve gotten #OCD) Next update if I can do it in under 10 hours is gonna be really cool and probably coming tomorrow, following might let u see it earlier :D"}, {"post_id": 61210, "ts": "2026-09-04T01:08:40Z", "hours": 6.9719, "text": "I finalized the system! The idea is that most of the boring stuff happens in semi-abstract classes like the Sorcery class and the Ability class, which handle server side management and universal methods. Meanwhile, I can initialize real logic through child classes such as the Limitless calss which extends sorcery or the Blue class which extends Ability. I copied the idea from minecrafts Entity system. I’ve also managed to get nearly all of the key binds to work including scrolling (I used a mixin for scrolling). A lot of the hours that were described in this update actually ended up in the previous devlog so in reality it took about 9ish hours of work. Anyway, mostly a programming update, but next time I’m going to start actually adding powers to my modpack!"}, {"post_id": 60678, "ts": "2026-09-03T06:09:23Z", "hours": 14.2872, "text": "The hud system is officially complete! I meant to post this devlog earlier but I had some problems :/ I spent a ton of time figuring out how to render images and I realized it was much easier to just make very specific math that draws lines to the HUD (It doesn’t help that you can’t draw curvy or diagnol lines) I fixed a ton of other problems as well that you can’t read in my commit history I think. This devlog was supposed to be posted a lot earlier but I ended up forgeting to post after writing it lmao. For that reason, I also have to say that the structure of the power system is done and now I’m working on bug fixes as well as making working powers. I really wish I could post a video showing you guys, I’ll try to do so next devlog using something less powerful then OBS. See ya"}, {"post_id": 56835, "ts": "2026-08-28T19:41:22Z", "hours": 10.6292, "text": "The main summery for today is mindless progress, I’ve continued to work on the Hud system for my combo system but faced multiple issues that took hours to fix (hence the lack of progress) for starters, somewhere during my modding jurney, I forgot that identifiers can’t have uppercase letters, leading me to try remaking the system multiple times. Additionally, while in my original system I added hud elements to the registry when updating, and removed hud elements when reseting, in the new system, I replace that with static variables and if loops. If I don’t face any more major bugs, the HUD system should be done by the next devlog!"}, {"post_id": 54766, "ts": "2026-08-25T21:25:00Z", "hours": 9.4258, "text": "I’ve been creating a HUD system, though it’s pretty boring so I get distracted and do other stuff. Anyway the combo system is fully functional. Through this I learned that static maps are completely unnecessary as static variables update in each client side jvm. I won’t get into the implementation of my HUD system or the other stuff I’m working on because they’re unfinished so this is more of a minor update"}, {"post_id": 52729, "ts": "2026-08-23T01:48:59Z", "hours": 9.7422, "text": "I made a combo system! right now it’s really buggy but what it does is similar to street fighter system, you can make a combo and then assign key’s to it. You need to press the key’s in the required number of time for the combo to work. there are a lot of problems with reset rn but the base system is there. Each player has a value called a “combo key” which have a timer that increase by one every tick and resets to 0 when the kye is pressed. these are values that are mapped to each player and only one instance of each key is allowed per player (for better latency and client2server stuff) A combo is created using a bunch of if logic. I used a builder sytem for object creation so instead of new object() you do Combo.build().key1(timeNeeded to press).key2… Each combo can be used for abilities that I’m going to work on next. Speaking about abilities I decided what my mod would be based on, Jujitsu Kaisen! While i’m not a diehard fan of the show, the power system is one of the coolest in all of fiction, so I thought it would be fun to try and implement some abilities (hence the pocket dimention my screenshots are in) anyway, gonna fix the combo system and then work on a simple power see ya!"}, {"post_id": 49994, "ts": "2026-08-19T00:51:50Z", "hours": 4.3547, "text": "Made Laser Eyes! When you click the laser button which you can change in the controls menu, a particle will appear (which is purely visual) and it will make a raycast, targeting the nearest entity/block. It will damage an entity and turn the block into a redstone block (temporary until i feel like making ash). It also works in multiplayer, where the particles are summoned from the eye of the shooter from everyones persepective except the shooter who only sees the beam if a few blocks away that way they don’t get blinded by particles (the pictures use free cam and i have no friends so I can’t show this but u can see how it works in the code) My project didn’t have documentation so it was difficult figuring out how to make a raycast (combination of .clip and .getEntityHitResult) and how to tell if the player really pressed the laser button which requires client to server packet management."}, {"post_id": 49285, "ts": "2026-08-18T00:21:25Z", "hours": 3.7019, "text": "the first devlog has a large number of hours on it because of some issues with git and project stuff (you didn’t miss any updates other then reading don’t worry), Anyway, I’m chilling in my new dimention with my new potion effect that I get after using a new item (with iron helmet texture cause i’m bad). I’ve been trying to get a raycasting system to work I just wanted to update the project so that my hours can be counted correctely, future update coming soon!"}, {"post_id": 44947, "ts": "2026-08-11T01:33:50Z", "hours": 21.76, "text": "I looked through minecrafts source code, The version of minecraft I am coding is 1.21.11 and on fabric there are two “mappings” or interpretations of minecrafts source code. the first version is the community one called yarn which was the one that I was planning on using when I was watching a tutorial series on Youtube however the documentation uses the other mappings called the “mojang mappings”. I switched to the mojang mappings and looked through minecrafts source code using that. I figured out how to handle terrain generation, add new things to minecrafts registry system, and access player data. My next goal is to look through some real applications of mods and this is how I recommend others who are interested to do so to!"}]...
|
Title: JJK Minecraft Mod by @qstorm | Stardance
D Title: JJK Minecraft Mod by @qstorm | Stardance
Devlogs:
I looked through minecrafts source code, The version of minecraft I am coding is 1.21.11 and on fabric there are two “mappings” or interpretations of minecrafts source code. the first version is the community one called yarn which was the one that I was planning on using when I was watching a tutorial series on Youtube however the documentation uses the other mappings called the “mojang mappings”. I switched to the mojang mappings and looked through minecrafts source code using that. I figured out how to handle terrain generation, add new things to minecrafts registry system, and access player data. My next goal is to look through some real applications of mods and this is how I recommend others who are interested to do so to!
the first devlog has a large number of hours on it because of some issues with git and project stuff (you didn’t miss any updates other then reading don’t worry), Anyway, I’m chilling in my new dimention with my new potion effect that I get after using a new item (with iron helmet texture cause i’m bad). I’ve been trying to get a raycasting system to work I just wanted to update the project so that my hours can be counted correctely, future update coming soon!
Made Laser Eyes! When you click the laser button which you can change in the controls menu, a particle will appear (which is purely visual) and it will make a raycast, targeting the nearest entity/block. It will damage an entity and turn the block into a redstone block (temporary until i feel like making ash). It also works in multiplayer, where the particles are summoned from the eye of the shooter from everyones persepective except the shooter who only sees the beam if a few blocks away that way they don’t get blinded by particles (the pictures use free cam and i have no friends so I can’t show this but u can see how it works in the code) My project didn’t have documentation so it was difficult figuring out how to make a raycast (combination of .clip and .getEntityHitResult) and how to tell if the player really pressed the laser button which requires client to server packet management.
I made a combo system! right now it’s really buggy but what it does is similar to street fighter system, you can make a combo and then assign key’s to it. You need to press the key’s in the required number of time for the combo to work. there are a lot of problems with reset rn but the base system is there. Each player has a value called a “combo key” which have a timer that increase by one every tick and resets to 0 when the kye is pressed. these are values that are mapped to each player and only one instance of each key is allowed per player (for better latency and client2server stuff) A combo is created using a bunch of if logic. I used a builder sytem for object creation so instead of new object() you do Combo.build().key1(timeNeeded to press).key2… Each combo can be used for abilities that I’m going to work on next. Speaking about abilities I decided what my mod would be based on, Jujitsu Kaisen! While i’m not a diehard fan of the show, the power system is one of the coolest in all of fiction, so I thought it would be fun to try and implement some abilities (hence the pocket dimention my screenshots are in) anyway, gonna fix the combo system and then work on a simple power see ya!
I’ve been creating a HUD system, though it’s pretty boring so I get distracted and do other stuff. Anyway the combo system is fully functional. Through this I learned that static maps are completely unnecessary as static variables update in each client side jvm. I won’t get into the implementation of my HUD system or the other stuff I’m working on because they’re unfinished so this is more of a minor update
The main summery for today is mindless progress, I’ve continued to work on the Hud system for my combo system but faced multiple issues that took hours to fix (hence the lack of progress) for starters, somewhere during my modding jurney, I forgot that identifiers can’t have uppercase letters, leading me to try remaking the system multiple times. Additionally, while in my original system I added hud elements to the registry when updating, and removed hud elements when reseting, in the new system, I replace that with static variables and if loops. If I don’t face any more major bugs, the HUD system should be done by the next devlog!
The hud system is officially complete! I meant to post this devlog earlier but I had some problems :/ I spent a ton of time figuring out how to render images and I realized it was much easier to just make very specific math that draws lines to the HUD (It doesn’t help that you can’t draw curvy or diagnol lines) I fixed a ton of other problems as well that you can’t read in my commit history I think. This devlog was supposed to be posted a lot earlier but I ended up forgeting to post after writing it lmao. For that reason, I also have to say that the structure of the power system is done and now I’m working on bug fixes as well as making working powers. I really wish I could post a video showing you guys, I’ll try to do so next devlog using something less powerful then OBS. See ya
I finalized the system! The idea is that most of the boring stuff happens in semi-abstract classes like the Sorcery class and the Ability class, which handle server side management and universal methods. Meanwhile, I can initialize real logic through child classes such as the Limitless calss which extends sorcery or the Blue class which extends Ability. I copied the idea from minecrafts Entity system. I’ve also managed to get nearly all of the key binds to work including scrolling (I used a mixin for scrolling). A lot of the hours that were described in this update actually ended up in the previous devlog so in reality it took about 9ish hours of work. Anyway, mostly a programming update, but next time I’m going to start actually adding powers to my modpack!
I got the first power to work! you can find a showcase here: https://youtu.be/t6oah7P1Fyk it may not seem like much, but this means the lower level systems are working, and I can start focusing on making cool stuff. Other then that I also made the combo system more advanced by having it so u can run actions mid combo and you can detect how fast you did the combo. There are a few more things I want to add to the combo system and tbh I thought about re-coding it again (which is a pretty annoying habit that I’ve gotten #OCD) Next update if I can do it in under 10 hours is gonna be really cool and probably coming tomorrow, following might let u see it earlier :D
Blue Kinda Works! Video Showcase The showcase above includes some of the older versions, skip to 0:40 for official version (it was lagging at the time of recording though) The hardest part of this step was the value adjustments. Given my mod gives each player a random value for cursed energy and , a player needs to feel the diffrence between a weak sorcerer and a strong one. I’ll probably continue tweaking the settings for blue until I believe it is good enough. Anyway right now blue isn’t very complicated, it just detects all entities in a certain radius and gives them a velocity based on the gravitational force which is calculated based on radius and constants. I tried using the real life equations but had trouble with them. Finally, in case your wondering, I am planning on switching the particle renderer that is super laggy with a LWJGL openGL sphere renderer or maybe a block display but in order to do that I need to get good at rendering and make a client linear interpolate to simulate smooth movement and overall I really don’t want to but its gotta happen. Next update will either be a finished blue, or me whining about how trash my code is
MY CODE IS SO TRASH! I was working on fixing my innate technique for limitless. The bug in question was an issue where falling non-living entities would end up rubber-banding before sometimes hitting the ground. (I’m not making a showcase video for this use the screenshot and ur imagination) The issue ended up being due to 2 things, one was that minecraft runs the move() function right after applyGravity() so my code would never get the chance to change the gravity. The second was the fact that move() calls are run both by the server and client. The first issue was relatively simple to fix, I just had to learn about advanced mixins and using @ModifyVariable correctly. However the second issue meant that I either had to send a ton of data with packets, or I could do what I had always wanted to do but knew it would take forever… code in client side compatibility. Anyway as of right now I am “almost” done with getting it working. I swear one of these days I am going to share something cool. probably next update or the one after, it’ll come out by Monday if I lock in.
Limitless Innate Upgrades [upgrades showcase] ( https://youtu.be/m7zWsrxv2mA ) uh the devlog link is broken lol (or im just bad idk). I could talk about the things that I worked on behind the scenes unrelated to the innate upgrades but that’s very boring and I talked about them before, the main thing that I fixed was the handling of non-Living Entities with the limitless innate. Basically I used mixins to edit the move code as well as added some things to the client code. I talked a lot about how this worked in a previous devlog, but it took a lot of reading and understanding code to learn how to fix it. Unfortunately my command blocks were broken so I couldn’t showcase the projectile innate system, but otherwise most of the info is in the video
Sorry, this update will probably be really boring. I’ve been sick for the past 3ish days but have still been trying to code. Unfortunately, that means most of my code is pretty bad. The basic rundown of what’s been happening is a realization that player data was being handled really stupidly. I wasn’t even saving things to files meaning once the server shut down, all the information would be deleted. Now I thought at first I could pretty easily deal with this after finishing the mod so I ignored it, but then I started having issues that came from synchronization with client and server. To those of you who looked at my previous devlogs, you can see that I constantly rewrote a lot of my code. This is because sometimes the client and server use the same static variables while other times they don’t. As a result of these two things, I decided to use a library to handle it called Cardinal Components. For most of my coding projects I’ve always wanted to ignore libraries to the best of my abilities and make stuff myself. I believe it’s a good to learn how the internals of a system work but the problem with me was that I would always stay low level. As I learned more about minecraft development, I learned how important it is to have both high and low level skills in order to make bigger projects. There will probably be only 2 or 3 more devlogs before I ship so I’ll try to get as much cool stuff done before then as possible. Big things are coming!
Finished Cardinal Component re-design. It was really weird to get it working because I needed to use an interface and cast variables which I used to avoid doing. Nothing new unfortunately, next update will go into more detail on how I did this! (with new system this /stats command works :D)
Near completion! It’s weird getting a feeling of satisfaction when deleting the most important part of my code. Thats what I felt when deleting the static variables that stored my data. All of the internal systems are now working and my code is so much cleaner. Now entity data is saved successfully, if you die, leave the world or exit the game. In order to do this I had to learn how to use interfaces well. Turns out casting is a lot more useful then one might expect. You can cast interfaces into classes and vise versa and you can use interfaces with getter and setter methods to get data from classes. I always though interfaces were a useless thing that people use to make better looking code but they are helpful. Anyway, I faced a few major bugs throughout the transition into CCA, the main one being the fact that I had to put an entrypoint in the fabric.mod.json file to render entities. It took a long time and I only found it because of some random reddit thread I found. The main issue was that when I implemented an interface, it was supposed to save data for that class in all entities. Heres a tip, if something is wrong and you can’t find the issue, think about whats happening under the hood. For me, I assumed that the entity data would automatically be initialized but interfaces can’t do that. I’m probably explaining it wrong (I’m a little tired rn with coding and college apps). Anyway, theres a lot more I want to do and I wish that stardance had lasted another week so that I could show you all my cool Ideas. I’ll make the final devlog and ship my project later today. So hopefully it works well :D (I worked on a lot of other stuff in these 10 hours but none are finished enough to devlog about; images have a peak)
JJK Mod in minecraft This is the final devlog here is a youtube link to the showcase: Showcase After finishing the backend, I got a lot of progress done! I recommend watching the showcase but I managed to easily get all the abilities to a semi functional state. Thanks to the hard work of previous me, this wasn’t a hard task and I had no major problems. One interesting thing I did was how I worked with red. I used dot products to make red more usable, it actually pushes enemies back like in the show if they are in the same area as the direction red is moving. Other then that the systems were pretty easy to make. A big reason it took so long to get here was because I had no idea how to mod. Unfortunately in order to get everything done today, I had to cut a few corners, meaning that the power renderer is still a particle system. I could go on and on about what i want to add though (that will be in the ship) so I’ll just end it here
Build and Read me update
Ships:
FULL SHOWCASE HERE This is a Minecraft mod based on the power system from Jujitsu Kaisen. It contains a combo system where if you press a number of keys in the right order, the power will activate. as well as lots of room for expansion with other powers thanks to how it’s built. Currently there are 5 functional abilities: The innate technique which slows down entities around the player; the blue technique which attracts entities to a ball; the red technique which repels enemies away from the user; the purple technique which destroys everything in it’s path; and the domain which sends enemies to a dimension where they are unable to do anything At first I had just planned on using this project as a blank slate to learn how to mod Minecraft, but eventually I got inspired to make more interesting things, and it led to me making one of my personal favorite fictional power systems, the JJK cursed techniques. It took a while to figure things out, I spend many hours looking through Minecraft source code and other peoples code as well as tutorials but eventually I figured out how to do different things. This was easily the most challenging part of the project, compared to a mathematically intensive project like openGL. I’m proud of so many things with this project. For one it is the first fun project I made (both to code and to play). I also made very good code. After studying Minecraft code and making tons of mistakes, I eventually learned how to make code that was both expandable and readable. I believe that given another week, I would have been able to create 5 other abilities. If you want to try the project, make sure to look through the readMe and install the mod on the 1.21.11M branch. The README provides critical information about how to use and install the mod....
|
1793339603.2903702
|
1793426003.2903702
|
|
36532
|
Baguette Ware Game by @Mk1A | Stardance
|
Mk1A
|
1
|
11.27
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T15:01:00Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Well, I learned a lot from this game and have made multiple new discoveries and coding debugs I din’t knew I needed! I took help from the official discord server for the Godot_Community and other guide pages too. I have additionally used AI for learning path referencing in Godot which I used to re-reference 6 nodes(probably more). Hope I can keep working on this project more :)", "repo": "https://github.com/Mk1A-Falcon/Baguette-ware", "demo": "https://mk1a.itch.io/baguette-ware"}]...
|
[{"post_id": 71803, "ts": "202 [{"post_id": 71803, "ts": "2026-09-21T16:04:00Z", "hours": 0.2717, "text": "Well made a really stupid mistake Made a more detailed readme! and added a link to stardance Attached images + details + movements of each minigame."}, {"post_id": 71774, "ts": "2026-09-21T14:54:06Z", "hours": 0.3161, "text": "Devlog -1 Well made the readme.md and also added extra assets + export packages etc. ship ship ship sahur"}, {"post_id": 71756, "ts": "2026-09-21T13:38:26Z", "hours": 1.9978, "text": "Devlog 10 🥹 Finally, it is complete, took 2 hours but I think it was worth it, I wanted to make a lot of more additions to the game but I think I will hold on for the 2nd Mission since I don’t have much time left! Made end_scene Made win_scene Remade Global script as the game was unplayable on the second playthrough since the total number of lifes/games left did not change. Debugged level_Scene(redirecting scene for each level) Debugged other visual nodes Finally gonna ship this now :)"}, {"post_id": 71621, "ts": "2026-09-21T05:48:23Z", "hours": 0.9997, "text": "Devlog 9 or smth I forgor Made the minigame_2 and also fixed a bit of node and refrencing (yes once again) Also modified the timer_scene nodes and the global script for better visual representation- Made a new background (just used ms paint with the fill bucket Made the script for minigame_2 Made the clickable buttons just the original baguette themes Now I have to just finish the lose and end scenes and I should be able to ship it now :)"}, {"post_id": 71259, "ts": "2026-09-20T15:15:50Z", "hours": 1.1353, "text": "DEBUG Devlog-8 Well finally fixed the pickup problem, just gotta start work on level-2 + winning + ending scenes now! All debugs carried out- the function wasn’t even being called cause the level_scene script did not even refrence it :( AnimationPlayer2d was attached to the whole node rather than the texturerect(imagepart) made the pickups a scene in itself rather than a child node I am so happy that a discord server for the godot community exists with so many people ready to help 🥹"}, {"post_id": 69269, "ts": "2026-09-16T18:19:51Z", "hours": 1.0042, "text": "Devlog 7 bugs bugs bugs Well, bug fixing time Ahh yes the most fun time of any project I guess naming random stuff, random stuff is not the most viable process after all Fixed Referencing for 7 Nodes! Recreated timer_node because the parent node was wrong I know another problem with pickups which I have to fix! #basically each pickup node has animationplayer2d attached to it which resets the location of each pickup to the same exact “key” position so all 3~4 pickups appear at the same location Well A devlog a month keeps the streak away (I def did not sleep before continuining the sticker streak )"}, {"post_id": 65241, "ts": "2026-09-10T07:23:58Z", "hours": 1.0106, "text": "Devlog-6 Fixed script and node for the “themed_timer” or ingame_timer (acc to project) as it was attached to a “RichLabelText” rather than a “Node2d” Added scripts to MINIGAME_1 and a few other scenes, trust Insted of complaining bout the guides, gonna push a pr myself Stole MY end_game assets from @alexxx ’s personal channel Very close to finishing this game now"}, {"post_id": 64424, "ts": "2026-09-08T19:53:17Z", "hours": 0.3575, "text": "Devlog-5 got the pickup animation working and attached a script not much work done cause It was not working for some reason so I had to remake the animation thrice"}, {"post_id": 63753, "ts": "2026-09-07T18:25:20Z", "hours": 1.0575, "text": "DEVLOG-4 (IDK I FORGOR) Well turns out the SD guide is lowk confusing So the guide mentions to put “Jump_velocity=500.0”, sadly, jump_velocity is a negative value I also copy-pasted the code which the guide had, which got flagged as AI so there’s that Well I got the minigame_1 done, I have to start the clicker_minigame. Additionally, I plan to add a runner/platformer + a fully fledged player character with defined movement sprites I haven’t designed the pickups but they should take like 10 minutes at most! Well, I hope I can finish this tomorrow. Byee"}, {"post_id": 61690, "ts": "2026-09-04T18:42:43Z", "hours": 1.2592, "text": "Hiya Devlog no. 3! Well made a lot of updates in this one, made the ingame timer nodes, created a player and started work on the first minigame I will be using complete movement player sprites which I made using MSPaint Well, let’s get started on making the Game now"}, {"post_id": 58763, "ts": "2026-08-31T10:20:40Z", "hours": 0.8356, "text": "DEVLOG 2 Created global script part, additionally added level_scene and created custom bg for it ( main-menu but orange ) Also made the life’s as Baguettes Check the repo lol, every single item is a random name Now I will be beginning work on the minigames themselves and have thought of the first game to be a runner-platformer rather than the guide suggested basic platformer"}, {"post_id": 58348, "ts": "2026-08-30T18:52:11Z", "hours": 0.7733, "text": "Hey Well I guess this is my 2nd actual project on stardance huh So, i introduce to you, BAGUETTE-WARE | a marioware game inspired by my slack-id. Well let’s talk about the project. Turns out I was using GODOT 4.3 which is pretty old now and following the guide was a really big problem for me. Visual glitches on the editor’s side took me 15~20 minutes to debug (still isn’t fixed yet btw) but at the end I got it working and finally finished the MAIN MENU Well here’s a picture of the initial edit of the main menu (I also took like a hour to make that bg )"}]...
|
Title: Baguette Ware Game by @Mk1A | Stardance
De Title: Baguette Ware Game by @Mk1A | Stardance
Devlogs:
Hey Well I guess this is my 2nd actual project on stardance huh So, i introduce to you, BAGUETTE-WARE | a marioware game inspired by my slack-id. Well let’s talk about the project. Turns out I was using GODOT 4.3 which is pretty old now and following the guide was a really big problem for me. Visual glitches on the editor’s side took me 15~20 minutes to debug (still isn’t fixed yet btw) but at the end I got it working and finally finished the MAIN MENU Well here’s a picture of the initial edit of the main menu (I also took like a hour to make that bg )
DEVLOG 2 Created global script part, additionally added level_scene and created custom bg for it ( main-menu but orange ) Also made the life’s as Baguettes Check the repo lol, every single item is a random name Now I will be beginning work on the minigames themselves and have thought of the first game to be a runner-platformer rather than the guide suggested basic platformer
Hiya Devlog no. 3! Well made a lot of updates in this one, made the ingame timer nodes, created a player and started work on the first minigame I will be using complete movement player sprites which I made using MSPaint Well, let’s get started on making the Game now
DEVLOG-4 (IDK I FORGOR) Well turns out the SD guide is lowk confusing So the guide mentions to put “Jump_velocity=500.0”, sadly, jump_velocity is a negative value I also copy-pasted the code which the guide had, which got flagged as AI so there’s that Well I got the minigame_1 done, I have to start the clicker_minigame. Additionally, I plan to add a runner/platformer + a fully fledged player character with defined movement sprites I haven’t designed the pickups but they should take like 10 minutes at most! Well, I hope I can finish this tomorrow. Byee
Devlog-5 got the pickup animation working and attached a script not much work done cause It was not working for some reason so I had to remake the animation thrice
Devlog-6 Fixed script and node for the “themed_timer” or ingame_timer (acc to project) as it was attached to a “RichLabelText” rather than a “Node2d” Added scripts to MINIGAME_1 and a few other scenes, trust Insted of complaining bout the guides, gonna push a pr myself Stole MY end_game assets from @alexxx ’s personal channel Very close to finishing this game now
Devlog 7 bugs bugs bugs Well, bug fixing time Ahh yes the most fun time of any project I guess naming random stuff, random stuff is not the most viable process after all Fixed Referencing for 7 Nodes! Recreated timer_node because the parent node was wrong I know another problem with pickups which I have to fix! #basically each pickup node has animationplayer2d attached to it which resets the location of each pickup to the same exact “key” position so all 3~4 pickups appear at the same location Well A devlog a month keeps the streak away (I def did not sleep before continuining the sticker streak )
DEBUG Devlog-8 Well finally fixed the pickup problem, just gotta start work on level-2 + winning + ending scenes now! All debugs carried out- the function wasn’t even being called cause the level_scene script did not even refrence it :( AnimationPlayer2d was attached to the whole node rather than the texturerect(imagepart) made the pickups a scene in itself rather than a child node I am so happy that a discord server for the godot community exists with so many people ready to help 🥹
Devlog 9 or smth I forgor Made the minigame_2 and also fixed a bit of node and refrencing (yes once again) Also modified the timer_scene nodes and the global script for better visual representation- Made a new background (just used ms paint with the fill bucket Made the script for minigame_2 Made the clickable buttons just the original baguette themes Now I have to just finish the lose and end scenes and I should be able to ship it now :)
Devlog 10 🥹 Finally, it is complete, took 2 hours but I think it was worth it, I wanted to make a lot of more additions to the game but I think I will hold on for the 2nd Mission since I don’t have much time left! Made end_scene Made win_scene Remade Global script as the game was unplayable on the second playthrough since the total number of lifes/games left did not change. Debugged level_Scene(redirecting scene for each level) Debugged other visual nodes Finally gonna ship this now :)
Devlog -1 Well made the readme.md and also added extra assets + export packages etc. ship ship ship sahur
Well made a really stupid mistake Made a more detailed readme! and added a link to stardance Attached images + details + movements of each minigame.
Ships:
Well, I learned a lot from this game and have made multiple new discoveries and coding debugs I din’t knew I needed! I took help from the official discord server for the Godot_Community and other guide pages too. I have additionally used AI for learning path referencing in Godot which I used to re-reference 6 nodes(probably more). Hope I can keep working on this project more :)...
|
1793339598.2899458
|
1793425998.2899458
|
|
35895
|
My own site! by @r1eu | Stardance
|
r1eu
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T06:07:15Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple site. What was challenging was that i’m under a time crunch since I dont really have much freetime. I am actually proud that I finished this project pretty quickly. Please know that this project is kinda rushed, though I added some creative elements I guess.", "repo": "https://github.com/jimuv/personal-site", "demo": "https://jimuv.github.io/personal-site/"}]...
|
[{"post_id": 64638, "ts": "202 [{"post_id": 64638, "ts": "2026-09-09T05:59:12Z", "hours": 0.5061, "text": "Making simple site, its kinda rushed though"}]...
|
Title: My own site! by @r1eu | Stardance
Devlogs: Title: My own site! by @r1eu | Stardance
Devlogs:
Making simple site, its kinda rushed though
Ships:
I made a simple site. What was challenging was that i’m under a time crunch since I dont really have much freetime. I am actually proud that I finished this project pretty quickly. Please know that this project is kinda rushed, though I added some creative elements I guess....
|
1793339595.217228
|
1793425995.217228
|
|
48449
|
Lookout Os by @yourfiyan | Stardance
|
yourfiyan
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T19:46:38Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "WebOs A desktop OS that runs in the web I built it using only HTML, CSS and JavaScript. Thats all i started this with the Hack Club webOS guide and then added more apps including my own stuff What it have? Calculator 2048 game (love this game) Notes Weather Music Player That’s all!", "repo": "https://github.com/Yourfiyan/WebOs", "demo": "https://yourfiyan.is-a.dev/WebOs/"}]...
|
[{"post_id": 74983, "ts": "202 [{"post_id": 74983, "ts": "2026-09-28T19:29:52Z", "hours": 3.4286, "text": "Wrapping thing up All i did in this session was reorganized the desktop and app windows, improved the terminal commands, and fix window dragging boundaries, And at last added a readme file"}, {"post_id": 64904, "ts": "2026-09-09T16:46:13Z", "hours": 11.8808, "text": "Just changed the whole look of it. Well now the taskbar is below and I added this cool Liquid Glass theme for the windows. Also added some new commands to the terminal, along with new apps like Contacts, Projects, Weather, and even 2048. And yup thats pretty much it for now"}, {"post_id": 48826, "ts": "2026-08-17T11:34:42Z", "hours": 2.5803, "text": "I called it Lookout Os.. well nothing too much to see really, build the whole look around the wallpaper I found. Nothing too crazy, There are two apps for now, Crate is basically my music records and ahh the terminal, in there we got some commands that can be displayed by help command yup thats all for now"}]...
|
Title: Lookout Os by @yourfiyan | Stardance
Devlo Title: Lookout Os by @yourfiyan | Stardance
Devlogs:
I called it Lookout Os.. well nothing too much to see really, build the whole look around the wallpaper I found. Nothing too crazy, There are two apps for now, Crate is basically my music records and ahh the terminal, in there we got some commands that can be displayed by help command yup thats all for now
Just changed the whole look of it. Well now the taskbar is below and I added this cool Liquid Glass theme for the windows. Also added some new commands to the terminal, along with new apps like Contacts, Projects, Weather, and even 2048. And yup thats pretty much it for now
Wrapping thing up All i did in this session was reorganized the desktop and app windows, improved the terminal commands, and fix window dragging boundaries, And at last added a readme file
Ships:
WebOs A desktop OS that runs in the web I built it using only HTML, CSS and JavaScript. Thats all i started this with the Hack Club webOS guide and then added more apps including my own stuff What it have? Calculator 2048 game (love this game) Notes Weather Music Player That’s all!...
|
1793339589.2482285
|
1793425989.2482285
|
|
48438
|
Kile-OS by @koumud | Stardance
|
koumud
|
1
|
3.85
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T15:04:20Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "KileOS is a web-based operating system with a modern desktop, apps, window management, settings, themes, and local data storage. It runs directly in the browser and is publicly available for anyone to try.", "repo": "https://github.com/koumud/kile-os", "demo": "https://kile-os.vercel.app/"}]...
|
[{"post_id": 64867, "ts": "202 [{"post_id": 64867, "ts": "2026-09-09T15:40:36Z", "hours": 1.8547, "text": "Stage 5 builds on Stage 4 by adding KileFlow, a workspace control system with saved desktop scenes, Activity Pulse, Desk Map, and the Ctrl + Space Command Rail. The code was newly written on top of KileOS Stage 4, while reference projects were used only for feature inspiration."}, {"post_id": 48133, "ts": "2026-08-16T12:53:57Z", "hours": 0.3081, "text": "the new stage add a polish version of stage 2"}, {"post_id": 48000, "ts": "2026-08-16T08:52:59Z", "hours": 0.3578, "text": "In the 2nd stage i worked on smoothness and added 2 more apps to the os but they need polishing"}, {"post_id": 47945, "ts": "2026-08-16T06:43:28Z", "hours": 1.0083, "text": "I am currently working on an simple os for the project and it is simple"}]...
|
Title: Kile-OS by @koumud | Stardance
Devlogs:
I Title: Kile-OS by @koumud | Stardance
Devlogs:
I am currently working on an simple os for the project and it is simple
In the 2nd stage i worked on smoothness and added 2 more apps to the os but they need polishing
the new stage add a polish version of stage 2
Stage 5 builds on Stage 4 by adding KileFlow, a workspace control system with saved desktop scenes, Activity Pulse, Desk Map, and the Ctrl + Space Command Rail. The code was newly written on top of KileOS Stage 4, while reference projects were used only for feature inspiration.
Ships:
KileOS is a web-based operating system with a modern desktop, apps, window management, settings, themes, and local data storage. It runs directly in the browser and is publicly available for anyone to try....
|
1793339585.2178512
|
1793425985.2178512
|
|
43568
|
Look Up | Astronomy Observation Helper by @ASTRY | Look Up | Astronomy Observation Helper by @ASTRY | Stardance...
|
ASTRY
|
1
|
62.03
|
838
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T01:22:20Z", "hours": 57.0, "multiplier": 15.43, "payout": 838, "blessing": "neutral", "text": "H1 Find planets & stars with your phone !! I’m ASTRY , and I proudly present to you my 2nd real coding project that I made this summer (: It is called “Look UP” , the idea ? With real astronomical datas / weather datas / light pollution etc… LookUp can show you what objects of the celestial catalogue (that will grow ( ; ) you can see. For example if you have good conditions for astronomical observation , LookUp can then help you target with the orientation of your phone the object that you desire to look at. If you chose to target Saturn , once on the target page that is a 3d environement made with Three.JS , you’ll have an arrow that will guide you to the object with you moving you phone IRL !! I was motivated to do this project to learn how to manage bigger projects and learn many new things regarding coding. Also space is KINDA one of my passion , so when I discovered Stardance I went all in. I’m not going to lie , this was pretty hard and made me use IA multiple times without any kind of abuses , each time I brainstormed with GPT , this ended up beneficial with me finding better solution (even tho I think a majority of my code is meh lol) But this was worth all the time and effort ( those 50hr + of work doesn’t reflect the real time that went into this project (x ) I really liked seeing all thoses lines of code that I wrote coming little by little together to form this type of instrument , I’m VERRY HAPPY with it. PS : TRY IT ON PHONE , without “deviceorientation” of it the site will be pretty useless… , thx ! & This project will result in a youtube video on my channel ASTRY ! Eitherway , thanks to all the Stardance admins and people that contribute to this wonderful community that inspired me to also hit my head against walls to figure out solution for some scripts. Take care and I now cross my fingers for a 3d printer hehe (; (couldn’t put a video to show in shipping sorry…) -ASTRY", "repo": "https://github.com/Rukkoa17/LookUp2", "demo": "https://lookup2-1d9v.vercel.app"}]...
|
[{"post_id": 82945, "ts": "202 [{"post_id": 82945, "ts": "2026-10-26T10:45:03Z", "hours": 0.5356, "text": "DevLog for requested change ! Okay so this time it wasn’t anything really long to do , simply I added a function to check if the user can send any datas via deviceorientation event. If he isn’t able that means that the device that he uses hasn’t the captors needed for the webapp so a pop up appears telling him what’s wrong !"}, {"post_id": 82004, "ts": "2026-10-23T12:37:50Z", "hours": 4.49, "text": "After Changes requested Log (; I don’t want to elaborate to much on what was made because I don’t find it very fun etc… But to simplify : -Change the backend and frontend from Render & Github Pages to Vercel. -Debugged many things related to that -Worked my way to make the webapp work loccally and being able to provide the instructions in order to do it -Changed the README to fill in the conditions of shipping. I wish this will be the last step please lol (:"}, {"post_id": 75058, "ts": "2026-09-29T00:51:15Z", "hours": 3.2325, "text": "H1 LAST DEVLOG !!!!! Finally it’s here , LookUp V2 , the coding project that makes me the most proud of this journey ! So I’m making this quick because it is actually almost 3:00AM where I live……. From last time the most notable features that where added : -Being able to email me from settings suggestions -Making my own way to get the infos regarding light pollution and rating it -Giving a score for tonight observability (nothing too serious I rushed that understanding that making something precise is way too hard for my situation.) -Ugly display of that score (made today around 00:00 ) -Getting displayed what you can see with eyes / bino / telescope (regarding that , I need to add more celestials objects into the catalogue because they seems to all be visible even by eyes in the proper conditions.) That’s pretty much it very summarized , thanks for reading this last devlog , now come submitting (;"}, {"post_id": 74644, "ts": "2026-09-27T20:44:18Z", "hours": 10.0178, "text": "H1 NEXT THING IS SHIPPING !!! Ok so many features and improvements have been made but I will keep it “secret” for now. I’m currently on my deadline to ship this project. So when it will be shipped I’ll elaborate on what’s new and a overall review of LookUP v2 !!! Right now I’m working on the lightpollution rating , that’s the last “complex” thing that I have to make , after that the rest SEEMS pretty simple but we’ll see (; Tommorow is my deadline , please dev/admin have some pity for me … Cya (:"}, {"post_id": 69832, "ts": "2026-09-17T21:23:54Z", "hours": 10.4528, "text": "Hey (; Been a little while ! So from last time I worked in things that are pretty much behind the scene for now. As an example of what I am saying , I worked on some api call , and refining my backend. But basicaly , without trying to list everything the main new things are : -A guiding arrow for the user to be able to spot / target the wanted celestial object much quicker. -Settings menu that can be accesed from the home page , for now the only available action is to change the “main color” of the web app , but I find it pretty cool and also liked coding it (I did it without any google or anything , just the IDE and my brain hehe) -Got back to work with APIs , goals : refine rating of the weather related to the position of the user , add changes to the overall rating with moon phase , atmosphere turbulances ( if I can do that , idk) and lastly light pollution ( this one will be special to do , there is no direct API that suits my criterias , so I’ll do something myself). For some the progress from last time while seem pathetic because there is nothing really fancy FOR NOW , this coming week is the rush for me don’t worry I’ll try my best to get it done ! Good luck to everybody for the final days of stardance (="}, {"post_id": 60981, "ts": "2026-09-03T17:42:30Z", "hours": 9.9806, "text": "HERE AGAIN !!!!! Okay so few days passed , school started for me but STILL working on my LookUp website (I want to get a gift with stardust for my girlfriend but I don’t think it’s possible to work this many hours now…….). Many littles features and improvements have been made as you can see in the video compared to the last one. (Please don’t focus on the top degrees display it’s BROKEN /:) Mainly I focused on adding all the celestial objects from the catalogue into the 3d space ! Everything seems to work fine now for the looking up part (; MANY things are still to be done but I’m going to get there because I want to post a video about this project in about 20 days hehe (believe will maybe make it possible..) I don’t want to get to much into listing what I have done neither what is still left but to summerize : -Overall esthetic of the webapp -Features for better 3d space -Weather/Observabilty part related to astronomical observation -Some settings features (; Please leave a like or a comment to support me , last post was …. yeah lol Love y’all , keep up the good work !"}, {"post_id": 51945, "ts": "2026-08-21T21:57:04Z", "hours": 12.3083, "text": "BACK BABY !!! Okay so I’m going to try to summerize what I’ve done in a few days (didn’t know that when +10hr logged the rest aren’t taken for the payout calculation…. MY BAD) So in the last devlog I was at the step of acquiring the SIMBAD database positions of the celestials objects that I wanted. So I was able to figure that out and let yall with the results of having things like => Sirius , RA/DEC of 101 / -16. During this period this is pretty much all I did in “order” : -First I converted the RA / DEC into Az/Alt coords , that allows to locate the object for the user by him being the anchor point of this , so for example a Az of 90° is at East and a Alt of 70° in addition with the Az means the object is at East pretty high up in the sky because it’s 70° from the horizon.This step took some time because I really tried to understand the logic behind it , at some point I understood all the steps / elements needed for the mathematical trick that was needed , from there I cherched forums for astronomical formulas and magic from there hehe. (Screenshot of the js script for that) -From there after some esthetical adjustements I went into brefly learning Three.Js , an beautiful webdev tool that makes us devs able to Create / Display / Render some 3D for our websites !!!! I for now learned pretty much the basic and didn’t really put much effort into the esthetic (FOR NOW) , as you can see in the screenshot ( = . -2 days ago I started working on the backend (with Render thx) that was needed for my app to hide the APIs Key. This step wasn’t something I really enjoyed because even tho I understood all the logical thing behing every requirement and action , I still remained stuck for long moments without any idea. This lead to Claude helping me , sorry ); BUT it was only minor bugs that would’ve took me SO MANY TIME to see , like wow… Now my only issue is that I am currently using a free plan for my server so after a little time without request , it will go to sleep and when the first request after that comes , it will take a pretty long time to load (Around 40s/1min … making the first Loading for some user TOO LONG) -AND NOW here we are ! So in the last hours logged what I did is add the scope for the 3d page and also position a pink sphere representing the selected object at his ACTUAL POSITION (like in Stellarium hehe). Today I also got in Raycasting method to click on a mesh and trigger an event. Yes in 3d like three.js adding a simple EventListener(“click”…) can’t be done. So the Idea is casting a ray from a point like your mouse and this ray (A mathematical Vector) will INTERSECT with the mesh if correctly orientated and THIS will prove to us that the usre clicked on the object. That is for me useful for a feature : I want that when the user succesfuly place the object in his LookUp scope , my JS detect this with a ray casted from the center of the scope and is then able to show a little info pannel like you can see in the 2nd screenshot again ! So yeah that’s it ! I find letting multiple logged days more enjoyable to devlog so Imma keep it like that I think (; Next step is really being able to control the 3D camera with the deviceorientationabsolute of the user’s phone. (For now I have been able with Quaternion (set with Euler for now) , to make a cube rotate with the phone being physically rotated IRL) If someone READ all that , please tell me in the comments what do you think , that would MAKE MY DAY , for real ! Love to yall <3"}, {"post_id": 46185, "ts": "2026-08-13T07:11:07Z", "hours": 1.7561, "text": "DAY 8 ! Made some progress hehe (; Okay so YESTERDAY , my goal was pretty clear , I wanted to get to a point where my python program for writing a .txt with all the datas for the celestial objects will be good. So I changed somethings because I feel like I was running towards a wall that I could simply dodge. So the big change was that instead of using a sort of celestial_objects_list.txt , I instead took the names of the objects that I wanted directly from my datas.js in order to after fill them. In the Afternoon , with this first part accomplished , I went into trying to understand how I could convert my Ra and Dec astronomical positions into Az / Alt ones with the help of the location of the User and their precise time according to their location. So right now I know that I could simply copy a script like that with all that I needed but I will try before correcting it with others examples online to seek understanding myself and writing it like I UNDERSTAND. Right now I know that I need to calculate the GMST (Greenwich Mean Sidereal Time) , this time with what I understood is something that will help me deal with the rotation of earth on itself by correcting it to have something “fixed”? THX FOR READING , <333"}, {"post_id": 45437, "ts": "2026-08-11T21:34:22Z", "hours": 1.2208, "text": "Hm hm , Day 7.. Yeah so today I don’t got much to tell , I spent all the coding time trying to figure out myself solutions for somes issues that I have. I pretty much went by the previous devlog plan today for having referenced names of data.js. But couldn’t figure all out today , will try to finish everything with the python script tommorow so I can get to more exciting stuff… Sorry for today being kinda “bad”. Love !!!!"}, {"post_id": 44807, "ts": "2026-08-10T20:40:51Z", "hours": 0.5775, "text": "Day …… 6 , hehe. Okay so today worked a really tiny time on this bcs last day of vacantions for me ); (all good tho). So I spend the time refining the python script for the .txt , I wanted to gather some others name from the SIMBAD database for each objects. After sometime I endded up with this code BUT as you can see adding all the others names of the objects is implying hundreds of new lines. The issue ? : to put each objects data in my data.js I will need an name that I want to find in all this other names but if there are SO MUCH to check , I’ll feel bad for this lack of performance. SO , I will try to do something like : -data.js will have all the objects with names already instaured (for ex : Andromeda) -I’ll put that into a .txt -then in my python script I will try to select for the name(s).? , the corresponding one. As you can see my mind is still pretty sketchy about this so time will tell us… I’ll seriously get into putting more hours to this from tomorrow , love yall !!!!!"}, {"post_id": 44209, "ts": "2026-08-09T20:23:08Z", "hours": 1.6989, "text": "DAY 5 , yeahhhh! Okay so today I did what I wanted to do. I’ve succeded at making the request with SIMBAD TAP for the position of objects in space (Ra & Deg) and then tranfering this in a JSON form inside of a .txt , from there I picked it up with JS and console.log the datas ! Maybe it seems pretty chill but it wasn’t intuitive for the request part because of a bug explained in the last devlog. Now the next step is with all thoses infos on objects , being able to calculate the Alt & Az from the user POV to make them able for a display in my website! Also I will soon need to dig a little about backend because I can’t publish this on Github bcs of some API keys… So yeah one day ! THANK YOU FOR READING !!!!!"}, {"post_id": 43752, "ts": "2026-08-09T05:23:37Z", "hours": 2.1511, "text": "Day 4 !!… of torturing myself with coding. Okay so I’m posting this devlog a little late because the day passed but still. Yesterday I started trying to implement Astroquery SIMBAD into my code , the goal ? Having a database from where I could take astronomical position value of all the celestial objects I need (this come in Ra & Deg) and from there I will convert it to where it is situated ocmpared to user location. Also read the comment on the code screenshot because I’m explaining why I used ChatGPT because of a “software issue?” , my code was fine but juste wouldn’t work so he helped me. So I put down some console result for you to see !! Now for this feature there is still the converting part but the rest will NORMALLY be more intuitive. Love yall (;"}, {"post_id": 42617, "ts": "2026-08-07T13:09:50Z", "hours": 2.0531, "text": "D-d-d-d-ay 3 of devlogs !! Okay so today I worked pretty well on some finitions and also on the “show all “and “visible” buttons. You can see pretty much how all this work together in the little video. Also I want to mention that for pretty much all this UI , Chatgpt helped with around 10% of the work , I really tried to use it only if necessary or to learn deeper about a concept/technique. After that I started like said yesterday to see how astroquery SIMBAD could help me with my project. Now I’m pretty sure that I got the theorical part like you can see in the notes screen. Anyways my day is far from being finished so I think tonight I will again try to work 1/2hours on getting the positions of celestial objects. Keep up the good work yall !!!!"}, {"post_id": 42224, "ts": "2026-08-06T20:51:18Z", "hours": 0.7856, "text": "DAY 2 , hehe! Okay so today I started working really late because I went moutain hiking (in vacations for a few days then real work (; ). I tried to inform myself and understand how apps like Stellarium works about gathering the postions of the celestial objects for like +1hr. So for now I think I will work with a database that is SIMBAD , I will gather some infos with sql or python (Astroquery | TAP SIMBAD). Then from here I THINK I’ll calculate the azimuth & altitude with the user being the perspectif point. After I juste styled little things because I was exhausted after a lonngggngng day -fews CSS changes (like user-select : none) -added the Observability text for the section -Finally started working on buttons that will make possible for the user to show all objects or only visibles ones for him (with altitude , observability conditions and his equipment)."}, {"post_id": 41503, "ts": "2026-08-05T19:05:25Z", "hours": 0.8856, "text": "DAY 1 … for my cosmical observation asistant ! I lied. I in fact started really working on this project a little time ago like you can read in his description (; Why only posting now ? Cause I didn’t had a clue stardance existed (btw if any admin is reading this , the concept is AMAZING !!). Ok now real talk. Today I didn’t code that much due to not being home for a little time. But I still managed to do some brainstorming about the features that are linked towards telling / showing to the user the rating I give to tonight sky for astronomical observation and to the specific celestial object he wants to Look Up to (; So I codded a … thing… (full of if if if , but dw it’s for a moment i’ll change it after implementing first what I need , plz don ’t hate YET). After that I quickly added a little dot of red/yellow/green color to tell the user if the object selected is observable with CURRENT CONDITIONS (based on the V1 of this app and worth with altitude and magnitude of the planet selected) , btw the moon rn isn’t visible where I am (I think??) , so working for NOW. That’s all for my really long devlog today , love to yall <3"}]...
|
Title: Look Up | Astronomy Observation Helper by @ Title: Look Up | Astronomy Observation Helper by @ASTRY | Stardance
Devlogs:
DAY 1 … for my cosmical observation asistant ! I lied. I in fact started really working on this project a little time ago like you can read in his description (; Why only posting now ? Cause I didn’t had a clue stardance existed (btw if any admin is reading this , the concept is AMAZING !!). Ok now real talk. Today I didn’t code that much due to not being home for a little time. But I still managed to do some brainstorming about the features that are linked towards telling / showing to the user the rating I give to tonight sky for astronomical observation and to the specific celestial object he wants to Look Up to (; So I codded a … thing… (full of if if if , but dw it’s for a moment i’ll change it after implementing first what I need , plz don ’t hate YET). After that I quickly added a little dot of red/yellow/green color to tell the user if the object selected is observable with CURRENT CONDITIONS (based on the V1 of this app and worth with altitude and magnitude of the planet selected) , btw the moon rn isn’t visible where I am (I think??) , so working for NOW. That’s all for my really long devlog today , love to yall <3
DAY 2 , hehe! Okay so today I started working really late because I went moutain hiking (in vacations for a few days then real work (; ). I tried to inform myself and understand how apps like Stellarium works about gathering the postions of the celestial objects for like +1hr. So for now I think I will work with a database that is SIMBAD , I will gather some infos with sql or python (Astroquery | TAP SIMBAD). Then from here I THINK I’ll calculate the azimuth & altitude with the user being the perspectif point. After I juste styled little things because I was exhausted after a lonngggngng day -fews CSS changes (like user-select : none) -added the Observability text for the section -Finally started working on buttons that will make possible for the user to show all objects or only visibles ones for him (with altitude , observability conditions and his equipment).
D-d-d-d-ay 3 of devlogs !! Okay so today I worked pretty well on some finitions and also on the “show all “and “visible” buttons. You can see pretty much how all this work together in the little video. Also I want to mention that for pretty much all this UI , Chatgpt helped with around 10% of the work , I really tried to use it only if necessary or to learn deeper about a concept/technique. After that I started like said yesterday to see how astroquery SIMBAD could help me with my project. Now I’m pretty sure that I got the theorical part like you can see in the notes screen. Anyways my day is far from being finished so I think tonight I will again try to work 1/2hours on getting the positions of celestial objects. Keep up the good work yall !!!!
Day 4 !!… of torturing myself with coding. Okay so I’m posting this devlog a little late because the day passed but still. Yesterday I started trying to implement Astroquery SIMBAD into my code , the goal ? Having a database from where I could take astronomical position value of all the celestial objects I need (this come in Ra & Deg) and from there I will convert it to where it is situated ocmpared to user location. Also read the comment on the code screenshot because I’m explaining why I used ChatGPT because of a “software issue?” , my code was fine but juste wouldn’t work so he helped me. So I put down some console result for you to see !! Now for this feature there is still the converting part but the rest will NORMALLY be more intuitive. Love yall (;
DAY 5 , yeahhhh! Okay so today I did what I wanted to do. I’ve succeded at making the request with SIMBAD TAP for the position of objects in space (Ra & Deg) and then tranfering this in a JSON form inside of a .txt , from there I picked it up with JS and console.log the datas ! Maybe it seems pretty chill but it wasn’t intuitive for the request part because of a bug explained in the last devlog. Now the next step is with all thoses infos on objects , being able to calculate the Alt & Az from the user POV to make them able for a display in my website! Also I will soon need to dig a little about backend because I can’t publish this on Github bcs of some API keys… So yeah one day ! THANK YOU FOR READING !!!!!
Day …… 6 , hehe. Okay so today worked a really tiny time on this bcs last day of vacantions for me ); (all good tho). So I spend the time refining the python script for the .txt , I wanted to gather some others name from the SIMBAD database for each objects. After sometime I endded up with this code BUT as you can see adding all the others names of the objects is implying hundreds of new lines. The issue ? : to put each objects data in my data.js I will need an name that I want to find in all this other names but if there are SO MUCH to check , I’ll feel bad for this lack of performance. SO , I will try to do something like : -data.js will have all the objects with names already instaured (for ex : Andromeda) -I’ll put that into a .txt -then in my python script I will try to select for the name(s).? , the corresponding one. As you can see my mind is still pretty sketchy about this so time will tell us… I’ll seriously get into putting more hours to this from tomorrow , love yall !!!!!
Hm hm , Day 7.. Yeah so today I don’t got much to tell , I spent all the coding time trying to figure out myself solutions for somes issues that I have. I pretty much went by the previous devlog plan today for having referenced names of data.js. But couldn’t figure all out today , will try to finish everything with the python script tommorow so I can get to more exciting stuff… Sorry for today being kinda “bad”. Love !!!!
DAY 8 ! Made some progress hehe (; Okay so YESTERDAY , my goal was pretty clear , I wanted to get to a point where my python program for writing a .txt with all the datas for the celestial objects will be good. So I changed somethings because I feel like I was running towards a wall that I could simply dodge. So the big change was that instead of using a sort of celestial_objects_list.txt , I instead took the names of the objects that I wanted directly from my datas.js in order to after fill them. In the Afternoon , with this first part accomplished , I went into trying to understand how I could convert my Ra and Dec astronomical positions into Az / Alt ones with the help of the location of the User and their precise time according to their location. So right now I know that I could simply copy a script like that with all that I needed but I will try before correcting it with others examples online to seek understanding myself and writing it like I UNDERSTAND. Right now I know that I need to calculate the GMST (Greenwich Mean Sidereal Time) , this time with what I understood is something that will help me deal with the rotation of earth on itself by correcting it to have something “fixed”? THX FOR READING , <333
BACK BABY !!! Okay so I’m going to try to summerize what I’ve done in a few days (didn’t know that when +10hr logged the rest aren’t taken for the payout calculation…. MY BAD) So in the last devlog I was at the step of acquiring the SIMBAD database positions of the celestials objects that I wanted. So I was able to figure that out and let yall with the results of having things like => Sirius , RA/DEC of 101 / -16. During this period this is pretty much all I did in “order” : -First I converted the RA / DEC into Az/Alt coords , that allows to locate the object for the user by him being the anchor point of this , so for example a Az of 90° is at East and a Alt of 70° in addition with the Az means the object is at East pretty high up in the sky because it’s 70° from the horizon.This step took some time because I really tried to understand the logic behind it , at some point I understood all the steps / elements needed for the mathematical trick that was needed , from there I cherched forums for astronomical formulas and magic from there hehe. (Screenshot of the js script for that) -From there after some esthetical adjustements I went into brefly learning Three.Js , an beautiful webdev tool that makes us devs able to Create / Display / Render some 3D for our websites !!!! I for now learned pretty much the basic and didn’t really put much effort into the esthetic (FOR NOW) , as you can see in the screenshot ( = . -2 days ago I started working on the backend (with Render thx) that was needed for my app to hide the APIs Key. This step wasn’t something I really enjoyed because even tho I understood all the logical thing behing every requirement and action , I still remained stuck for long moments without any idea. This lead to Claude helping me , sorry ); BUT it was only minor bugs that would’ve took me SO MANY TIME to see , like wow… Now my only issue is that I am currently using a free plan for my server so after a little time without request , it will go to sleep and when the first request after that comes , it will take a pretty long time to load (Around 40s/1min … making the first Loading for some user TOO LONG) -AND NOW here we are ! So in the last hours logged what I did is add the scope for the 3d page and also position a pink sphere representing the selected object at his ACTUAL POSITION (like in Stellarium hehe). Today I also got in Raycasting method to click on a mesh and trigger an event. Yes in 3d like three.js adding a simple EventListener(“click”…) can’t be done. So the Idea is casting a ray from a point like your mouse and this ray (A mathematical Vector) will INTERSECT with the mesh if correctly orientated and THIS will prove to us that the usre clicked on the object. That is for me useful for a feature : I want that when the user succesfuly place the object in his LookUp scope , my JS detect this with a ray casted from the center of the scope and is then able to show a little info pannel like you can see in the 2nd screenshot again ! So yeah that’s it ! I find letting multiple logged days more enjoyable to devlog so Imma keep it like that I think (; Next step is really being able to control the 3D camera with the deviceorientationabsolute of the user’s phone. (For now I have been able with Quaternion (set with Euler for now) , to make a cube rotate with the phone being physically rotated IRL) If someone READ all that , please tell me in the comments what do you think , that would MAKE MY DAY , for real ! Love to yall <3
HERE AGAIN !!!!! Okay so few days passed , school started for me but STILL working on my LookUp website (I want to get a gift with stardust for my girlfriend but I don’t think it’s possible to work this many hours now…….). Many littles features and improvements have been made as you can see in the video compared to the last one. (Please don’t focus on the top degrees display it’s BROKEN /:) Mainly I focused on adding all the celestial objects from the catalogue into the 3d space ! Everything seems to work fine now for the looking up part (; MANY things are still to be done but I’m going to get there because I want to post a video about this project in about 20 days hehe (believe will maybe make it possible..) I don’t want to get to much into listing what I have done neither what is still left but to summerize : -Overall esthetic of the webapp -Features for better 3d space -Weather/Observabilty part related to astronomical observation -Some settings features (; Please leave a like or a comment to support me , last post was …. yeah lol Love y’all , keep up the good work !
Hey (; Been a little while ! So from last time I worked in things that are pretty much behind the scene for now. As an example of what I am saying , I worked on some api call , and refining my backend. But basicaly , without trying to list everything the main new things are : -A guiding arrow for the user to be able to spot / target the wanted celestial object much quicker. -Settings menu that can be accesed from the home page , for now the only available action is to change the “main color” of the web app , but I find it pretty cool and also liked coding it (I did it without any google or anything , just the IDE and my brain hehe) -Got back to work with APIs , goals : refine rating of the weather related to the position of the user , add changes to the overall rating with moon phase , atmosphere turbulances ( if I can do that , idk) and lastly light pollution ( this one will be special to do , there is no direct API that suits my criterias , so I’ll do something myself). For some the progress from last time while seem pathetic because there is nothing really fancy FOR NOW , this coming week is the rush for me don’t worry I’ll try my best to get it done ! Good luck to everybody for the final days of stardance (=
H1 NEXT THING IS SHIPPING !!! Ok so many features and improvements have been made but I will keep it “secret” for now. I’m currently on my deadline to ship this project. So when it will be shipped I’ll elaborate on what’s new and a overall review of LookUP v2 !!! Right now I’m working on the lightpollution rating , that’s the last “complex” thing that I have to make , after that the rest SEEMS pretty simple but we’ll see (; Tommorow is my deadline , please dev/admin have some pity for me … Cya (:
H1 LAST DEVLOG !!!!! Finally it’s here , LookUp V2 , the coding project that makes me the most proud of this journey ! So I’m making this quick because it is actually almost 3:00AM where I live……. From last time the most notable features that where added : -Being able to email me from settings suggestions -Making my own way to get the infos regarding light pollution and rating it -Giving a score for tonight observability (nothing too serious I rushed that understanding that making something precise is way too hard for my situation.) -Ugly display of that score (made today around 00:00 ) -Getting displayed what you can see with eyes / bino / telescope (regarding that , I need to add more celestials objects into the catalogue because they seems to all be visible even by eyes in the proper conditions.) That’s pretty much it very summarized , thanks for reading this last devlog , now come submitting (;
After Changes requested Log (; I don’t want to elaborate to much on what was made because I don’t find it very fun etc… But to simplify : -Change the backend and frontend from Render & Github Pages to Vercel. -Debugged many things related to that -Worked my way to make the webapp work loccally and being able to provide the instructions in order to do it -Changed the README to fill in the conditions of shipping. I wish this will be the last step please lol (:
DevLog for requested change ! Okay so this time it wasn’t anything really long to do , simply I added a function to check if the user can send any datas via deviceorientation event. If he isn’t able that means that the device that he uses hasn’t the captors needed for the webapp so a pop up appears telling him what’s wrong !
Ships:
H1 Find planets & stars with your phone !! I’m ASTRY , and I proudly present to you my 2nd real coding project that I made this summer (: It is called “Look UP” , the idea ? With real astronomical datas / weather datas / light pollution etc… LookUp can show you what objects of the celestial catalogue (that will grow ( ; ) you can see. For example if you have good conditions for astronomical observation , LookUp can then help you target with the orientation of your phone the object that you desire to look at. If you chose to target Saturn , once on the target page that is a 3d environement made with Three.JS , you’ll have an arrow that will guide you to the object with you moving you phone IRL !! I was motivated to do this project to learn how to manage bigger projects and learn many new things regarding coding. Also space is KINDA one of my passion , so when I discovered Stardance I went all in. I’m not going to lie , this was pretty hard and made me use IA multiple times without any kind of abuses , each time I brainstormed with GPT , this ended up beneficial with me finding better solution (even tho I think a majority of my code is meh lol) But this was worth all the time and effort ( those 50hr + of work doesn’t reflect the real time that went into this project (x ) I really liked seeing all thoses lines of code that I wrote coming little by little together to form this type of instrument , I’m VERRY HAPPY with it. PS : TRY IT ON PHONE , without “deviceorientation” of it the site will be pretty useless… , thx ! & This project will result in a youtube video on my channel ASTRY ! Eitherway , thanks to all the Stardance admins and people that contribute to this wonderful community that inspired me to also hit my head against walls to figure out solution for some scripts. Take care and I now cross my fingers for a 3d printer hehe (; (couldn’t put a video to show in shipping sorry…) -ASTRY...
|
1793339581.0197277
|
1793425981.0197277
|
|
43529
|
Airplane 3D model :D by @6matylda | Stardance
|
6matylda
|
1
|
25.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T22:23:30Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made an airplane 3D model in Onshape, which can be 3D printed and even turned into an RC! This airplane features two engines, NACA 4412 wings, a wingspan of 910mm (35.8in) and a fuselage length of about 730mm (28.7in). — This was my first big project in Onshape, so I came across a lot of challenges while modelling, such as not being able to hollow out the wings and tail because they were too thin, trouble with making the dihedral (upwards) angle of the wings, and problems with lofting the nosecone (I learned to use composite curves as the lofting paths). — I overcame these problems by experimenting, though; for the hollowing wings out problem, I realized making an outer layer was a lot easier than hollowing the inside, and for the nosecone problem, after investigating, I came across composite curves, which was something really helpful to learn. — To test the project, you can download the file on the GitHub. The features list is organized into folders for each part. — The engines are provisional, so I recommend to add your own if you’re going to print this model to ensure it’s durable and easy to print!", "repo": "https://github.com/6matylda/Stardance-Airplane-3D-model", "demo": "https://cad.onshape.com/documents/d811ccb7f19883caa2712b5f/w/4bb6a2feac3b5eb07ce2f1bf/e/5de39268565f4e4cfc2bf3e9?renderMode=0&uiState=6a73d768b21ca79e95eaa222"}]...
|
[{"post_id": 68885, "ts": "202 [{"post_id": 68885, "ts": "2026-09-15T23:11:40Z", "hours": 3.0044, "text": "Devlog #9: I am back!! I remade the wings, which are hollow. — I figured the other wings had some problems (the upwards (dihedral) angle was too high, and this same angle wasn’t equally distributed throughout the wings, and the wings were hard to hollow because of the way they intersected the fuselage (the face at the start wasn’t flat, which complicated it)). — Made the new wings by using the same sketch on a different plane with an inclination of 6 degrees, then re-lofting the wings and finally using the “thicken” tool with a thickness of 0.6mm. — Next to do: add internal structures for support"}, {"post_id": 59315, "ts": "2026-09-01T01:22:01Z", "hours": 6.1083, "text": "Devlog #8: fought for roughly 5 hours to hollow out the tail. Also hollowed the engines. — I tried so many ways to hollow the tail, like using the “shell” and “hollow” tool, extruding inwards, etc. so, what I did, was to use the “thicken” tool to make a shell that was 0.6mm thick. While I wanted the original model to be hollowed inwards, I think rather making the exterior thicker still worked quite well. — As for the engines, unlike the tail, it was pretty easy as it just required to use the shell hollow tool. Also, the engines are 0.6mm thick now and the pylon is 0.4mm! (A pylon is the mount of the engine that connects to the wing C:) — now, I need to remake the wings because of their geometry to hollow them out :)"}, {"post_id": 53538, "ts": "2026-08-24T04:01:21Z", "hours": 0.6875, "text": "Devlog #7: hollowed out the belly and the nosecone — at first, I was super confused on how to hollow out round parts like those of lofts, so after a quick google search I discovered a tool, Shell. I’m so happy I found out about it because otherwise I would be fighting to extrude each part for hours lol. Like the fuselage, the belly and nosecone have 0.6mm of thickness (~0.0236 for the Americans!) — As for hollowing the nosecone, I struggled a bit because the inside and outside were unidimensional and floating, (I basically left a gap of 0.6mm between them) but I figured it was because I had made the windshield before hollowing the nosecone out, so I pushed the intersect booleans of the windshield and nosecone to the very end of the features list, which fixed it, as you can see in the ss! — next to do: figure a way to hollow out the wings and tail surfaces (I tried, but I had a couple problems due to the geometry)"}, {"post_id": 51730, "ts": "2026-08-21T15:48:56Z", "hours": 2.3822, "text": "Devlog #6: Made the windshield and hollowed out the middle of the fuselage and the belly. — For the windshield, made a sketch on the top plane and extruded it, then created an intersect boolean to separate overlapping parts of the nosecone. — For hollowing the fuselage, I separated the nosecone so it would be easier to visualize changes. then hollowed part of the fuselage and left a thickness of 0.6mm. I did this by going in the sketches and creating a smaller copy of the sketch and extruding that out as a “remove”. I also did this for part of the belly, but I still have to hollow out the curved parts like lofts. — To do next: hollow out the nosecone, tail and belly :) — also: if I happen to modify the model so its suitable for an RC, the engines are provisional so I may change them in the future so they fit a standard EDF."}, {"post_id": 49926, "ts": "2026-08-18T21:53:27Z", "hours": 1.4033, "text": "devlog #5: Finished the engines!! tbh I thought they would be a lot harder to make due to the complex geometry, but it was actually quite fun! I made the engine by first sketching the nacelle and revolving that, I then made the pylon/strut that holds the engine, and finally the blades, which I made by lofting a rectangle at different angles and distances."}, {"post_id": 48610, "ts": "2026-08-17T02:25:27Z", "hours": 1.0989, "text": "Devlog #4: I lied in my last devlog, I decided to make the wings before the frontal windows because I already learned how to do that by making the tail! I made the top view shape first and then added the airfoil by lofting it by parts. The airfoil is a NACA4412. I did spend like 40 minutes trying to figure out how to make the wings dihedral and give them shape 😭 but so far I’m so proud of how it’s turning out. I feel like the engines are gonna be pretty hard to model but I’m up for the challenge! I’m excited to finish it and see how it turns out. :)"}, {"post_id": 44159, "ts": "2026-08-09T18:50:53Z", "hours": 2.36, "text": "Devlog #3: made the tail of the airplane. I made each stabilizer by sketching out and extruding the base, then shaped the width with a remove extrude and added some fillets to make it smooth. Next I’ll be making the frontal/cockpit windows :)"}, {"post_id": 41651, "ts": "2026-08-06T00:35:58Z", "hours": 1.3961, "text": "Making an airplane in Onshape devlog #2: made the fuselage a bit longer. I came across a couple problems (the parts weren’t generating) cuz I had to delete some reference points and sketches in order to extrude the fuselage, but I fixed it by re-lofting the empennage and modifying the base sketches of it. I also expanded the belly. Next up I am gonna make the rudder and elevators :)"}, {"post_id": 40917, "ts": "2026-08-04T19:05:21Z", "hours": 6.9631, "text": "Devlog #1: making an airliner. I spent the first 3-4 hours making the sketches. I encountered a lot of problems with making the lofts (the lines weren’t connecting) so it didn’t extrude correctly. I fixed that by making composite curves. I then encountered the problem that the radome wasn’t smooth so I made ellipses to form the nose shape and extruded it. I continued by making the empennage and did the same as with the nose. I finished the fuselage and the belly today. Any advice is rlly appreciated :)"}]...
|
Title: Airplane 3D model :D by @6matylda | Stardan Title: Airplane 3D model :D by @6matylda | Stardance
Devlogs:
Devlog #1: making an airliner. I spent the first 3-4 hours making the sketches. I encountered a lot of problems with making the lofts (the lines weren’t connecting) so it didn’t extrude correctly. I fixed that by making composite curves. I then encountered the problem that the radome wasn’t smooth so I made ellipses to form the nose shape and extruded it. I continued by making the empennage and did the same as with the nose. I finished the fuselage and the belly today. Any advice is rlly appreciated :)
Making an airplane in Onshape devlog #2: made the fuselage a bit longer. I came across a couple problems (the parts weren’t generating) cuz I had to delete some reference points and sketches in order to extrude the fuselage, but I fixed it by re-lofting the empennage and modifying the base sketches of it. I also expanded the belly. Next up I am gonna make the rudder and elevators :)
Devlog #3: made the tail of the airplane. I made each stabilizer by sketching out and extruding the base, then shaped the width with a remove extrude and added some fillets to make it smooth. Next I’ll be making the frontal/cockpit windows :)
Devlog #4: I lied in my last devlog, I decided to make the wings before the frontal windows because I already learned how to do that by making the tail! I made the top view shape first and then added the airfoil by lofting it by parts. The airfoil is a NACA4412. I did spend like 40 minutes trying to figure out how to make the wings dihedral and give them shape 😭 but so far I’m so proud of how it’s turning out. I feel like the engines are gonna be pretty hard to model but I’m up for the challenge! I’m excited to finish it and see how it turns out. :)
devlog #5: Finished the engines!! tbh I thought they would be a lot harder to make due to the complex geometry, but it was actually quite fun! I made the engine by first sketching the nacelle and revolving that, I then made the pylon/strut that holds the engine, and finally the blades, which I made by lofting a rectangle at different angles and distances.
Devlog #6: Made the windshield and hollowed out the middle of the fuselage and the belly. — For the windshield, made a sketch on the top plane and extruded it, then created an intersect boolean to separate overlapping parts of the nosecone. — For hollowing the fuselage, I separated the nosecone so it would be easier to visualize changes. then hollowed part of the fuselage and left a thickness of 0.6mm. I did this by going in the sketches and creating a smaller copy of the sketch and extruding that out as a “remove”. I also did this for part of the belly, but I still have to hollow out the curved parts like lofts. — To do next: hollow out the nosecone, tail and belly :) — also: if I happen to modify the model so its suitable for an RC, the engines are provisional so I may change them in the future so they fit a standard EDF.
Devlog #7: hollowed out the belly and the nosecone — at first, I was super confused on how to hollow out round parts like those of lofts, so after a quick google search I discovered a tool, Shell. I’m so happy I found out about it because otherwise I would be fighting to extrude each part for hours lol. Like the fuselage, the belly and nosecone have 0.6mm of thickness (~0.0236 for the Americans!) — As for hollowing the nosecone, I struggled a bit because the inside and outside were unidimensional and floating, (I basically left a gap of 0.6mm between them) but I figured it was because I had made the windshield before hollowing the nosecone out, so I pushed the intersect booleans of the windshield and nosecone to the very end of the features list, which fixed it, as you can see in the ss! — next to do: figure a way to hollow out the wings and tail surfaces (I tried, but I had a couple problems due to the geometry)
Devlog #8: fought for roughly 5 hours to hollow out the tail. Also hollowed the engines. — I tried so many ways to hollow the tail, like using the “shell” and “hollow” tool, extruding inwards, etc. so, what I did, was to use the “thicken” tool to make a shell that was 0.6mm thick. While I wanted the original model to be hollowed inwards, I think rather making the exterior thicker still worked quite well. — As for the engines, unlike the tail, it was pretty easy as it just required to use the shell hollow tool. Also, the engines are 0.6mm thick now and the pylon is 0.4mm! (A pylon is the mount of the engine that connects to the wing C:) — now, I need to remake the wings because of their geometry to hollow them out :)
Devlog #9: I am back!! I remade the wings, which are hollow. — I figured the other wings had some problems (the upwards (dihedral) angle was too high, and this same angle wasn’t equally distributed throughout the wings, and the wings were hard to hollow because of the way they intersected the fuselage (the face at the start wasn’t flat, which complicated it)). — Made the new wings by using the same sketch on a different plane with an inclination of 6 degrees, then re-lofting the wings and finally using the “thicken” tool with a thickness of 0.6mm. — Next to do: add internal structures for support
Ships:
Made an airplane 3D model in Onshape, which can be 3D printed and even turned into an RC! This airplane features two engines, NACA 4412 wings, a wingspan of 910mm (35.8in) and a fuselage length of about 730mm (28.7in). — This was my first big project in Onshape, so I came across a lot of challenges while modelling, such as not being able to hollow out the wings and tail because they were too thin, trouble with making the dihedral (upwards) angle of the wings, and problems with lofting the nosecone (I learned to use composite curves as the lofting paths). — I overcame these problems by experimenting, though; for the hollowing wings out problem, I realized making an outer layer was a lot easier than hollowing the inside, and for the nosecone problem, after investigating, I came across composite curves, which was something really helpful to learn. — To test the project, you can download the file on the GitHub. The features list is organized into folders for each part. — The engines are provisional, so I recommend to add your own if you’re going to print this model to ensure it’s durable and easy to print!...
|
1793339575.2665684
|
1793425975.2665684
|
|
37997
|
AvatarLegacy by @FishyMC | Stardance
|
FishyMC
|
1
|
25.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T16:40:59Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "THERE IS SOMEONE OUT THERE WHO LOVES AVATAR THE LAST AIRBENDER AND THEY’RE GONNA LOVE THIS PROJECT IT’S FINALLY TIME TO SHIP!!! After ONE YEAR of planning this minecraft server I have FINALLY gotten it almost completely complete with EVEN MORE things to add into the game, such as sky bison, and I can’t wait to create a media team to invite even MORE people to the server so what are YOU waiting for, come test out my project!", "repo": "https://github.com/FishyMCDev/AL", "demo": "https://fishymcdev.github.io/websiterq/"}]...
|
[{"post_id": 82236, "ts": "202 [{"post_id": 82236, "ts": "2026-10-24T11:06:20Z", "hours": 1.0569, "text": "Added the .jar with more bending moves into the releases folder for github, shipped again!"}, {"post_id": 79056, "ts": "2026-10-12T14:55:36Z", "hours": 11.3025, "text": "Update README.md, and work on a ProjectKorra rework I am now using display entities to fix up new moves for the plugin. It now looks much cooler, you can see more at the YT vid. I also am going to fix the readme.md to be able to ship my project. https://youtu.be/O5RkZdJmaKE?si=d5pz1IFUT3K-N1ri Also now there is a new website for avatarlegacy (bought the domain), at….. https://avatarlegacy.net !!!!"}, {"post_id": 69766, "ts": "2026-09-17T19:05:09Z", "hours": 6.23, "text": "I’M GENUINELY THE GOAT After like 1x10^210393923092300132 years of debugging i’ve fixed the issue with /avatar scores, and now it displays players and THEIR SCORES. I’ve also fixed skilltree detection, and nation cores. Now, nation cores will only work above sea level and that’s amazing, and it auto removes them from the place you placed it at if it breaks any rules Subelement traits are harder to get AIRBENDING STAFF IN MINECRAFT!!! There’s now a STAFF which you can glide and RIDE in minecraft!!! It also has a secret recipe, which is amazing I still ahve to update the wiki at https://alwiki.wisp.uno , but otherwise i’m LOCKED IN"}, {"post_id": 54521, "ts": "2026-08-25T15:29:41Z", "hours": 4.5844, "text": "Final Release Fail So my final release failed, however, I got a lot of things done. Expected release was yesterday, and I did finish lots of the plugin and other stuff for AvatarLegacy. However, on the day of release the permissions and performance screwed up and we had to stop the server. However, we have a new deadline for saturday, with these targets: Missing Stuff [-] Permissions [-] Fixing EnderDragon spawn location [-] Reset of world [-] Removal of OreObfuscator + AntiXray [-] AntiXray resourcepack [-] Moderator perms [-] Staff ranks + monthly sub rune [-] One last skilltree config + make an image And our shop released! 50$+ of funds from the community! https://avatarlegacy.tebex.io https://avatarlegacy.wisp.uno"}, {"post_id": 45037, "ts": "2026-08-11T06:17:23Z", "hours": 2.4381, "text": "AvatarLegacy v.2 So basically in this commit I added lots of new features such as: Adding Skill-Trees A skilltree webeditor so that I don’t have to configure YAML Subelement trait chances Subelement runes The idea of finding runes and special items in chests, this is how it works: Instead of auto setting chest loot for unopened chests, the event for setting loot runs when the chest is opened at a high priority and it then uses the chance given from the configuration, and places/doesn’t place special items in the chest. The /train command was also added, so that the avatar can be trained by other element masters. It takes 90 seconds and requires being close to each other. Other updates were commit-ed on git :D"}]...
|
Title: AvatarLegacy by @FishyMC | Stardance
Devlo Title: AvatarLegacy by @FishyMC | Stardance
Devlogs:
AvatarLegacy v.2 So basically in this commit I added lots of new features such as: Adding Skill-Trees A skilltree webeditor so that I don’t have to configure YAML Subelement trait chances Subelement runes The idea of finding runes and special items in chests, this is how it works: Instead of auto setting chest loot for unopened chests, the event for setting loot runs when the chest is opened at a high priority and it then uses the chance given from the configuration, and places/doesn’t place special items in the chest. The /train command was also added, so that the avatar can be trained by other element masters. It takes 90 seconds and requires being close to each other. Other updates were commit-ed on git :D
Final Release Fail So my final release failed, however, I got a lot of things done. Expected release was yesterday, and I did finish lots of the plugin and other stuff for AvatarLegacy. However, on the day of release the permissions and performance screwed up and we had to stop the server. However, we have a new deadline for saturday, with these targets: Missing Stuff [-] Permissions [-] Fixing EnderDragon spawn location [-] Reset of world [-] Removal of OreObfuscator + AntiXray [-] AntiXray resourcepack [-] Moderator perms [-] Staff ranks + monthly sub rune [-] One last skilltree config + make an image And our shop released! 50$+ of funds from the community! https://avatarlegacy.tebex.io https://avatarlegacy.wisp.uno
I’M GENUINELY THE GOAT After like 1x10^210393923092300132 years of debugging i’ve fixed the issue with /avatar scores, and now it displays players and THEIR SCORES. I’ve also fixed skilltree detection, and nation cores. Now, nation cores will only work above sea level and that’s amazing, and it auto removes them from the place you placed it at if it breaks any rules Subelement traits are harder to get AIRBENDING STAFF IN MINECRAFT!!! There’s now a STAFF which you can glide and RIDE in minecraft!!! It also has a secret recipe, which is amazing I still ahve to update the wiki at https://alwiki.wisp.uno , but otherwise i’m LOCKED IN
Update README.md, and work on a ProjectKorra rework I am now using display entities to fix up new moves for the plugin. It now looks much cooler, you can see more at the YT vid. I also am going to fix the readme.md to be able to ship my project. https://youtu.be/O5RkZdJmaKE?si=d5pz1IFUT3K-N1ri Also now there is a new website for avatarlegacy (bought the domain), at….. https://avatarlegacy.net !!!!
Added the .jar with more bending moves into the releases folder for github, shipped again!
Ships:
THERE IS SOMEONE OUT THERE WHO LOVES AVATAR THE LAST AIRBENDER AND THEY’RE GONNA LOVE THIS PROJECT IT’S FINALLY TIME TO SHIP!!! After ONE YEAR of planning this minecraft server I have FINALLY gotten it almost completely complete with EVEN MORE things to add into the game, such as sky bison, and I can’t wait to create a media team to invite even MORE people to the server so what are YOU waiting for, come test out my project!...
|
1793339566.762534
|
1793425966.762534
|
|
43469
|
Iron Mario by @Lalith | Stardance
|
Lalith
|
2
|
57.36
|
740
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T17:21:14Z", "hours": 46.0, "multiplier": 16.47, "payout": 740, "blessing": "neutral", "text": "What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}, {"ship_num": 2, "ts": "2026-09-22T01:51:21Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}]...
|
[{"post_id": 84333, "ts": "202 [{"post_id": 84333, "ts": "2026-10-29T14:05:50Z", "hours": 0.3608, "text": "It was a w working with Stardance, thanks!"}, {"post_id": 80734, "ts": "2026-10-18T17:20:14Z", "hours": 5.2547, "text": "Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️"}, {"post_id": 80318, "ts": "2026-10-17T08:47:56Z", "hours": 10.0194, "text": "The starting of the change:"}, {"post_id": 79851, "ts": "2026-10-15T16:48:50Z", "hours": 1.2397, "text": "Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck"}, {"post_id": 79818, "ts": "2026-10-15T15:09:00Z", "hours": 1.4878, "text": "I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:"}, {"post_id": 79786, "ts": "2026-10-15T12:21:24Z", "hours": 3.0142, "text": "Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!"}, {"post_id": 78684, "ts": "2026-10-11T09:15:07Z", "hours": 2.99, "text": "As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE"}, {"post_id": 78045, "ts": "2026-10-09T10:45:03Z", "hours": 10.6569, "text": "Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!"}, {"post_id": 74434, "ts": "2026-09-27T11:33:45Z", "hours": 1.1883, "text": "Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!"}, {"post_id": 74381, "ts": "2026-09-27T08:52:32Z", "hours": 6.3475, "text": "To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!"}, {"post_id": 73998, "ts": "2026-09-26T14:30:37Z", "hours": 3.4033, "text": "I am trying to make this website like a full on authentic game app and make money with this"}, {"post_id": 43836, "ts": "2026-08-09T08:24:02Z", "hours": 2.0347, "text": "I have this idea of replacing irom man instad of flappy bird and stuff and all of that"}, {"post_id": 43671, "ts": "2026-08-09T02:04:07Z", "hours": 6.4192, "text": "I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game."}, {"post_id": 41917, "ts": "2026-08-06T13:08:15Z", "hours": 0.3697, "text": "Ijust added a ending page, more like coding"}, {"post_id": 41902, "ts": "2026-08-06T12:24:45Z", "hours": 1.5389, "text": "I love you 3000"}, {"post_id": 41397, "ts": "2026-08-05T16:19:29Z", "hours": 0.9978, "text": "Starting of my very own Iron-Man themed game. Stay tuned gng"}]...
|
Title: Iron Mario by @Lalith | Stardance
Devlogs: Title: Iron Mario by @Lalith | Stardance
Devlogs:
Starting of my very own Iron-Man themed game. Stay tuned gng
I love you 3000
Ijust added a ending page, more like coding
I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game.
I have this idea of replacing irom man instad of flappy bird and stuff and all of that
I am trying to make this website like a full on authentic game app and make money with this
To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!
Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!
Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!
As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE
Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!
I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:
Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck
The starting of the change:
Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️
It was a w working with Stardance, thanks!
Ships:
What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/
What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️...
|
1793339563.5181289
|
1793425963.5181289
|
|
34953
|
Ultimate Mob Farms by @OffsetMonkey538 | Stardance
|
OffsetMonkey538
|
2
|
162.0
|
2678
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-30T04:26:39Z", "hours": 37.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Alright finally shipping again, cutting it close to the end. Not sure if I’m supposed to recap what the project is in a second ship, but a tldr for that: This is a Minecraft mod for mob farming. Item collection, xp collection, entity pushing, etc For playing the mod, I very highly recommend using the Reliable Recipe Viewer mod as well as I’ve added integration with it. (And i’m totally not biased at all from the fact that I’ve made a few PRs to RRV during the course of making this mod as i found bugs and missing features 😅) I noticed from the starwrights’ video and some of the ratings that it’s not immediately obvious how things work, so I’ve spent the past little while on making stuff more intuitive in game and I also wrote a bunch of documentation. The documentation is available here and the code for it lives on the docs/master branch on the repo (don’t question the minecraft assets inside the MIT licensed repo… ok yeah maybe i should add a note somewhere that those are mojang’s property or however this works, but it’s 6am, i’ve been up all night, and I want to get this damn thing shipped and then sleep. It’s not like they’re gonna sue me overnight, right?). Changes : Added 26.3 support. This wasn’t actually super bad, not many changes that affected me. The blocks that can have upgrades inserted into them now display a silhouette of the supported upgrades and a hover tooltip listing supported upgrades. For the compact mob farm, I added a progress bar that tracks the time until the next attack, this should hopefully immediately show to the user that the block is indeed doing something, instead of just it looking like nothing’s happening for 30 seconds until the health decreases. Added an RRV recipe showing what mobs can be used in the compact mob farm and their drops. I also fixed some small bugs (like being able to use an unfilled soul gem in a compact mob farm, very very small bug indeed, I know) Since the last ship, I’d say the hardest part was probably dealing with CSS and Astro 😅 I haven’t really done much in terms of web development before and for the documentation I added a custom Astro component for displaying crafting recipes. That didn’t go quite perfectly at the start because I don’t understand how css styling works, there should be an image on one of the devlogs with the crafting recipe texture scaled wayyy too high and extending off the screen, the ingredients possibly in the correct places, and then the output just next to the page title for some reason. I do like how it turned out in the end though, being able to click on ingredients to navigate to their pages and stuff.", "repo": "https://git.offsetmonkey538.top/OffsetMods538/Ultimate-Mob-Farms", "demo": "https://modrinth.com/mod/ultimate-mob-farms"}, {"ship_num": 2, "ts": "2026-09-19T13:59:43Z", "hours": 125.0, "multiplier": 18.99, "payout": 2678, "blessing": "neutral", "text": "This is a Minecraft mod for making mob farms, something similar to for example Mob Grinding Utils. It features item and xp collection, entity movement, spawner relocation and crafting, single block mob farms and some other stuff. Honestly, I’m quite proud just over the fact that I finally did finish this project (or at least got it to the point of being comfortable releasing it publically) and it’s hard to choose any specific features, but here I go… I do really like how the particle effects for the soul fan turned out, they’re quite satisfying imo. This is kind of unrelated to the mod, but I’m also proud of having helped out with the development of RRV, the recipe viewer mod I added compat with. While adding support for it in this mod, I noticed some bugs and crashes and stuff, which I PRed fixes for. It’s a bigger project with many complex things, so coming up with a list of all the things I found hard or took a lot of time and explaining all of them would probably go over whatever character limit this text box has lol. One thing that was a big PITA was the compact mob farm inventory. The original implementation I wrote was just… completely wrong, so I had to rewrite it. Then later I realized I overlooked like the most important part of the item transfer api (transactions, which are used for rolling back changes and stuff) so I had to rewrite it again, and then after that I rewrote quite a bit of it one more time because, after the last rewrite, I had accidentally made it possible for other blocks to insert into the inventory, which isn’t something I wanted as that seems quite OP. Another thing that comes to mind is figuring out the code for the soul fan’s range based on upgrades and strength at a given distance. The problem was that the coordinate you have to increase/decrease depends on the orientation of the block, so as an example, the depth upgrade would need to increase the Y pos when the block is placed pointing up and decrease it when pointing down, the X pos when facing north/south and the Z pos when facing east/west. For pushing the entities, I had to find the coordinates of the middle of the face the block is pointing, and add/subtract the correct coordinate to get the range in the depth direction, and then find the distance between each entity currently in range and the fan in just that plane for calculating the strength. For people testing out the project, I definitely do recommend also installing the Reliable Recipe Viewer (RRV) and Item Description mods", "repo": "https://git.offsetmonkey538.top/OffsetMods538/Ultimate-Mob-Farms", "demo": "https://modrinth.com/mod/ultimate-mob-farms"}]...
|
[{"post_id": 84711, "ts": "202 [{"post_id": 84711, "ts": "2026-10-30T03:52:31Z", "hours": 5.9058, "text": "Turns out there’s been a bug for a whileeeeee (possibly the entirety of since I ported to 26.1?) where you can put an “empty” soul gem (with one soul inside it), so that was something I had to fix. Just a one line change tho, but still quite an embarrassing change. Anyway uhh yeah finished the docs, fixed that bug, fixed some more bugs and… oh yeah, made the built-in datapacks enabled by default as that just makes more sense."}, {"post_id": 83795, "ts": "2026-10-28T16:55:15Z", "hours": 1.8169, "text": "Finally a devlog of the mod itself again (I wanted a break from writing the docs, that’s exhausting 😭) Fixed description of speed and damage upgrade showing “Format error”: I was trying to use the % sign in the text, but item descriptions passes it to String.format which treats % as a formatting character. Using %% escapes it though and becomes a literal % character. My PR to Reliable Recipe Viewer was merged at some point so its RecipeViewMenu#updateByPage method is now public, so I was able to remove the slightly concerning java reflection I used to make it accessible and call it Added an RRV page explaining how to acquire soul essence."}, {"post_id": 83489, "ts": "2026-10-28T01:34:58Z", "hours": 4.4542, "text": "Finished writing all the item pages and oh god it’s 3:30 AM as I write this i really need to sleep 😭😭😭 Had to add a new SmithingRecipe astro component for the smithing recipe, which was fun. Also made the normal CraftingRecipe a bit smaller as it was wasting too much space"}, {"post_id": 83240, "ts": "2026-10-27T13:43:50Z", "hours": 2.1344, "text": "Wrote a few more pages and figured out how to get embeds on discord (and i guess other sites) working. Turns out you gotta add some open graph metadata to get the image and title and description to show up"}, {"post_id": 83195, "ts": "2026-10-27T08:56:36Z", "hours": 1.8025, "text": "Made a fun little astro component for rendering a crafting recipe. It definitely worked perfectly fine at the start and I definitely know how to CSS"}, {"post_id": 82967, "ts": "2026-10-26T12:12:23Z", "hours": 1.5947, "text": "The docs now show the item slot texture behind the item icons in page titles cause I thought that’d look cool. Also started with actually writing the docs by doing the page for soul essence. It has a video which is cool I guess"}, {"post_id": 82652, "ts": "2026-10-25T15:00:05Z", "hours": 5.1919, "text": "Set up empty pages for all the blocks and items, fought quite a bit with astro/typescript to get the PageTitle override to correctly display the icons. Turns out astro’s optimized Image stuff doesn’t support animated images, no matter how much you try to force it to, so I ended up having to use the basic img tag"}, {"post_id": 80728, "ts": "2026-10-18T17:03:06Z", "hours": 1.5967, "text": "Started working on setting up a docs page for the mod. Mainly want it for explaining the data driven configuration, but having full pages to give more detailed explanations of the different features is also probably a nice touch. Made a new icon for the mod as well, it’s pretty much the same but higher res because the 256x256 one looked weird on the docs page. The docs are done using Starlight like all my other docs pages (see those here ) and lives at https://ultimate-mob-farms.docs.cursedmods.com/ and on the docs/master branch in the repo Currently it’s just the landing page, but it’ll have more stuff soon enough"}, {"post_id": 79375, "ts": "2026-10-13T18:29:39Z", "hours": 3.9611, "text": "Added an RRV screen showing what items can be acquired from the Compact Mob Farm. Shows the entity, the items it drops and the required tier upgrade level. Hoping this also helps with confusion on how stuff works"}, {"post_id": 76204, "ts": "2026-10-02T17:34:45Z", "hours": 2.1567, "text": "Added a progress bar to the Compact Mob Farm GUI that hopefully makes it much easier to understand when it’ll damage the entity and it doesn’t look like it’s just doing nothing lol, especially with the 30 second default time"}, {"post_id": 75664, "ts": "2026-09-30T17:54:02Z", "hours": 6.5264, "text": "Waow that’s quite a bit of stardust 😅 Quite happy with this project and the ratings it got on the first ship :D (except the one that accused my devlogs of being written by ai… My writing is not that bad, right? ) I noticed in the shipwrights’ review video that how upgrades work is not very obvious, they were trying to put a tier upgrade into a soul fan, which only accepts width, height and depth upgrades. It was mentioned in ratings that stuff is a bit hard to figure out in the beginning as well. So to fix that, I added some silhouettes of the supported upgrades shown in the slots and also a hover tooltip saying what’s supported. Oh and i’ve also added 26.3 support now"}, {"post_id": 70575, "ts": "2026-09-19T11:52:49Z", "hours": 7.4719, "text": "School starting with september really hit my productivity on this mod like a truck I am realizing the deadline for stardance is getting real close, so I think this is probably the point where I’ll have to ship it. There are still some TODOs in the code and bugs that need to be squashed and porting to 26.3 (which released like this week, thanks mojang ) and so I haven’t been comfortable marking the latest release as 1.0.0 yet or making announcements elsewhere, but the mod is now perfectly usable and I like where it is. Changes since last devblog: 26.2 support Injecting some items into vanilla loot chests Advancements 26.2 wasn’t actually as painful as I thought it’d be, which was a nice surprise. Adding advancements was a bit more of a pain with 26.2 support though as I needed custom criteria for some of the advancements (one for putting a soul gem in the compact mob farm and another for using a soul gem on a spawner) and Mojang, in their infinite wisdom, decided to move a bunch of advancement stuff around in 26.2."}, {"post_id": 62252, "ts": "2026-09-05T15:04:19Z", "hours": 6.3956, "text": "Getting closer and closer to the actual release… could this be the last devblog before that? Still not quite 100% about if the required kills for each mob are balanced, but it’s probably good enough. Definitely better than everything being 10 kills tho. Felt very off-balance when withers, which are hard to spawn and hard to kill, and pigs, which are just everywhere, required the same amount of kills to capture. Notable changes: Show soul capturing recipe in rrv when checking usages of spawn eggs Show tooltip with entity name when hovering entity in soul capturing rrv recipe Add item descriptions Fix being able to insert items into the compact mob farm inventory Make amount of kills required for capturing an entity different per entity. Update compact mob farm recipe (now uses soul spikes in the middle instead of stone bricks) Store soul gem colors as hex strings in entity tiers config. Much more understandable and easier to manually change the overrides config or whatever Make built-in packs use the mod icon using a mixin instead of copying the icon into the packs. This shaves like 80kb off the final jar which is quite a bit of unnecessary duplicate crap Remove some log spam that was for debugging"}, {"post_id": 59802, "ts": "2026-09-01T19:04:17Z", "hours": 2.5989, "text": "checking the recipe for a specific soul gem now only shows that specific entity instead of all soul capturing recipes soul capturing recipe now shows up before the duplication recipe soul gems can now be searched by the name of the entity they contain fix compact mob farm gui not rendering vanilla background overlay allow filling soul gem when held in the main hand fix dedicated server crashing Running in a dedicated server would crash because there are quite a few places where I referenced client-only classes in places that the jvm will load on the dedicated server as well. Mostly in the different block entity classes, where I had a clientTick method that had ClientLevel as one of it’s parameters. Even though that method would never get called on the dedicated server, java still wants it to exist when loading the class because it’s part of a method’s definition. My current solution is very very awful… I moved those things into methods in the client initializer and… well… yeah… it just looks and is awful: https://git.offsetmonkey538.top/OffsetMods538/Ultimate-Mob-Farms/src/commit/0.0.7/modded/src/main/java/top/offsetmonkey538/ultimatemobfarms/modded/UltimateMobFarmsModdedClient.java#L65 The real, foolproof solution would be using the split sources feature of loom, which creates a second source set and makes the main source set unable to access client classes. Only problem is that it’d be a bit annoying to fully get set up in my multiloader-version gradle system and would most definitely need many changes on MonkeyLib538 as well and I just am not up for doing that atm."}, {"post_id": 58874, "ts": "2026-08-31T13:27:24Z", "hours": 8.6083, "text": "Fixed compact mob farm inventory not working correctly and being incompatible with other mods’ item movement stuff. The whole point of the transfer API on both fabric and neoforge is the transaction system, where each change must store a snapshot that can be returned to if needed; Turns out ignoring the TransactionContext and not saving any snapshots is a bad idea 😅 I’ve tested and it’s compatible with create fly (see screenshot where a compact mob farm with a blaze is being used to feed a blaze burner for a steam engine) and most probably other mods as well. Added Reliable Recipe Viewer integration that explains soul capturing"}, {"post_id": 54946, "ts": "2026-08-26T11:20:57Z", "hours": 7.2406, "text": "Bunch of refactoring, bug fixes, balancing, etc. Release notes can be seen on the forgejo release or on modrinth, I’m not gonna copy paste em here (this is version 0.0.5 right now) It is now actually reviewed on Modrinth, took two weeks for that to happen (Gosh I remember when review times were like less than 24 hours ). I’m still keeping it unlisted until I get a 1.0.0 release out, but if anyone wants to check it out and share feedback or anything, then it’s right over here: https://modrinth.com/mod/ultimate-mob-farms Before a v1, I still need better rrv and item descriptions integration, some more balancing changes, advancements, quite a few bugfixes and probably some other stuff I’m forgetting at the moment."}, {"post_id": 50153, "ts": "2026-08-19T08:08:41Z", "hours": 2.3531, "text": "Made soul fans placed at different locations use a different starting frame offset, so they don’t all look the same (see before and after videos). The way this is implemented is a bit interesting… There’s no easy “use this model but offset any texture’s animation by 1 frame” as afaik the frame index is global per texture. What Minecraft does allow is each block state variant actually being an array of variants that the game will choose between using afaik a hash derived from the block position. This is used in vanilla for things like stone and deepslate, which have mirrored and rotated variants so caves look less repetitive or whatever. As each texture has a global frame index, I am duplicating the soul fan texture and just changing the order of the frames in the accompanying animation metadata file and creating separate models which point to the different textures and then those models are used as variants in the blockstate. What’s even more fun is I am using datagen for duplicating the texture and creating the animation metadata files, which definitely isn’t concerning at all. This also required me to make a pull request to fabric api because the FabricCodecDataProvider assumes all files it generates are .json files, but animation metadata is .mcmeta. (The PR isn’t yet merged so I resorted to…. injecting a mixin into fabric api, definitely not cursed at all I swear)"}, {"post_id": 49673, "ts": "2026-08-18T15:46:30Z", "hours": 4.43, "text": "Added particle effects for soul fan. Figuring out where to spawn em was quite fun actually, though I did have to add a custom particle (reuses the vanilla “small gust” texture) because turns out most particles won’t obey the velocity you give them and just do their own thing, which was a bit annoying."}, {"post_id": 49138, "ts": "2026-08-17T19:28:11Z", "hours": 3.7422, "text": "Added range upgrades for the fan and collector blocks. It was a bit challenging figuring out actually extending the bounding box in the correct directions based on the block is facing, but I did get it working"}, {"post_id": 48767, "ts": "2026-08-17T09:17:16Z", "hours": 4.6397, "text": "Implemented functionality of the soul fan, getting the strength to scale based on distance was a bit of a pain cause i needed to get the position of the center of the face that the fan’s pointing in and only calculate the distance to the entity based on the correct axis cause otherwise giving it a larger range would make the farther to the side entities get pushed less and uhh yeah, took quite a bit of experimenting with stuff to get it to work correctly"}, {"post_id": 47706, "ts": "2026-08-15T19:55:20Z", "hours": 0.9575, "text": "Spent the last hour and a half faffing about with my loader abstraction in monkeylib (stardance only recorded an hour cause that’s technically a separate project) for creative tabs. All that just cause I really wanted the RRV stack group for the filled soul gems to show up next to the empty soul gem, instead of at the end of the list where it did previously"}, {"post_id": 47530, "ts": "2026-08-15T14:35:38Z", "hours": 3.0928, "text": "Spent a bunch of time on cleaning up some code and abstracting some things out of collector block classes to make it easier to add functionality of the soul fan later on, speaking of which! the soul fan is a block that exists in game now"}, {"post_id": 46880, "ts": "2026-08-14T12:46:12Z", "hours": 0.2881, "text": "Spent some time thinking about what I’m gonna do for the block that moves mobs around. I think I’ve decided on going with a basic “fan” type block and now started working on what it could look like. I’m imagining the souls kinda like escaping from the soul sand and also particles spawning and moving in the direction it’s pushing. As always I’m pretty bad at drawing textures, so the beginning here looks a bit crude, but it’s definitely a start. It’d be really nice if aseprite had a wakatime plugin…"}, {"post_id": 46845, "ts": "2026-08-14T11:27:58Z", "hours": 3.8683, "text": "Added the experience collector block, which obviously picks up xp orbs and turns em into bottles of enchanting. Kind of got so focused I forgot about making more detailed devlogs 😅"}, {"post_id": 46238, "ts": "2026-08-13T10:39:10Z", "hours": 3.695, "text": "Made the soul spikes actually deal extra fall damage when fell on. Current fall damage multiplier is at 5, not sure if that is too much or too little. The damage is done by a FakePlayer, so the mob will also drop loot that only drops from player kills, including experience orbs. (Seems like I need to add an XP Collector block in the future to deal with those). Oh and also did some boilerplate-ish things to soul spikes like adding a recipe, translation, etc Turns out minecraft decides that the block you fall on is the one that’s 0.2 blocks below you…. The model of the soul spikes (which i don’t really wanna change anymore) has the base at 3 pixels high, which makes it… 0.1875 block high 😮💨 Nothing that can’t be solved with a mixin to Entity#getOnPosLegacy that changes the BlockPos it returns if the the block above the “correct” block is soul spikes"}, {"post_id": 45189, "ts": "2026-08-11T14:44:28Z", "hours": 0.2731, "text": "Made an okay-ish texture for the soul spikes block (many of em at once looks kinda noisy but oh well, it’ll do. Hopefully it’ll be locked up in a farm killing chamber room anyway). Had to change the UV mapping again because for whatever reasons, minecraft decides to render a sliver of the neighboring pixel as well which looks super bad with two very contrasty colors next to each other. Solution was to move the blue parts to the bottom of the texture where there was room to have it separated by a row of blank pixels."}, {"post_id": 45107, "ts": "2026-08-11T11:51:36Z", "hours": 0.7186, "text": "Finished UV mapping the spikes…. this literally took like over an hour haha, sadly time spent in blockbench doesn’t count as it doesn’t have a plugin for wakatime or whatever :/ (the 43min this devlog logs was actually setting up oxipng to automatically run on every commit to optimize the png files) Next i guess will be to make an actual texture for it, yay. Here’s the super very interesting texture that currently just has all the different mapped sides in different colors"}, {"post_id": 44754, "ts": "2026-08-10T18:48:32Z", "hours": 2.0067, "text": "Started working on the soul spikes. First made a model for it, not sure if it’ll look good once I make a texture for the actual spikes part of it as well"}, {"post_id": 41521, "ts": "2026-08-05T19:39:30Z", "hours": 1.7181, "text": "Been doing some boring things like writing a description and making an icon and some miscellaneous fixes and whatnot as I actually think I want to get this in a state where I could send it in for review on modrinth. Otherwise if I sent it in once I was actually finished with the project, it probably wouldn’t get reviewed before stardance ends and then i’d have to tell people to download the mod from my git releases and that wouldn’t automatically tell em where to get dependencies and whatnot so yeah, want to get it in the queue asap. Here’s the icon I came up with btw"}, {"post_id": 40668, "ts": "2026-08-04T11:02:42Z", "hours": 2.4575, "text": "Added a texture and recipe to item collector, made it possible to disable it using redstone, made the sample collector only pick up items every 10 ticks."}, {"post_id": 39730, "ts": "2026-08-02T21:36:20Z", "hours": 1.855, "text": "Shift-right-clicking an item collector with an empty hand now shows its range. Drawing lines of particles between the correct corners for the outline took a bit of trial and error, also added a screenshot where it doesn’t look quite correct Also I’m not sure if the video from the previous devlog got uploaded correctly (my browser at least isn’t able to play it) so here it is again"}, {"post_id": 39564, "ts": "2026-08-02T16:40:59Z", "hours": 2.9042, "text": "Made item collector spawn a line of particles when picking up items Oh and also added compatibility to item collector with container blocks from other mods that use the fabric or neoforge transfer api instead of vanilla containers, more loader specific stuff, yay!"}, {"post_id": 38906, "ts": "2026-08-01T14:21:22Z", "hours": 1.0933, "text": "Implemented basic functionality of the item collector. Currently has a range of 2 blocks that it will pick things up from and put em straight into a connected inventory"}, {"post_id": 38761, "ts": "2026-08-01T10:08:52Z", "hours": 3.6756, "text": "Started work on adding the item collector, currently just got done with adding the block itself with some boilerplate stuff and a model. As the name suggests, it’ll be for picking up items in some range of it. Not quite sure if I want it to be a range all around the block, or maybe going outwards from the direction it’s facing? Also not yet quite sure if I want it to just put stuff into an internal inventory and require a hopper or something modded to pull out of it, or if it should act like a hopper pushing things out from the side it’s attached on"}, {"post_id": 37603, "ts": "2026-07-30T13:35:05Z", "hours": 1.1933, "text": "Received new textures and spent some time messing around in the mcmeta file for the animation timing. Looks quite good now. Also made the empty soul gem use the same texture, just with a soul light blue colors."}, {"post_id": 37190, "ts": "2026-07-29T18:31:37Z", "hours": 5.0456, "text": "Past while has been spent on fighting with gradle to extend my overly complicated setup ( monkeylogic, my gradle convention plugin ) and make it even more complicated allow adding dependencies from modrinth to projects. After that I could easily add RRV (Reliable Recipe Viewer) as a dependency and now lastly add integration with it. Currently I’ve got integration to the point of showing the custom duplication recipe, which is great"}, {"post_id": 35160, "ts": "2026-07-26T12:28:59Z", "hours": 2.7197, "text": "Finally fixed the soul gem duplication recipe, which was a bit of a pain to deal with… I initially went down a dumb rabbit hole of overcomplicating the matcher system when turns out having multiple of the same item in the recipe can easily be solved by storing a count for each ingredient instead of having multiple entries for them 😝"}, {"post_id": 34287, "ts": "2026-07-24T21:18:42Z", "hours": 2.5044, "text": "Made spawners craftable, made interacting with spawners using a filled soul gem set the entity in the spawner. Still not quite sure what to call the “filled” soul gem. One idea i had was to call it just a soul gem and call the not filled one an “Empty Soul Gem”, which is honestly a pretty good idea, but I’m not sure what to do when it’s in the process of being filled. Technically at that point it’s not empty , but maybe it’d be fine to call it that"}, {"post_id": 32839, "ts": "2026-07-22T07:47:33Z", "hours": 3.5317, "text": "Lots of fun stuff between this and the last devlog: Creative tab for filled soul gems now only contains supported ones (had to make creative tabs refresh when data is reloaded cause datapacks can change what’s supported) Removed the old SampleTakerItem and FilledSampleTakerItem classes and moved most logic to custom components or mixins. Soul gems can be filled by holding them in the off hand when killing the target entity ( https://imgur.com/a/Lz6PjZs ) Some optimizations"}, {"post_id": 32407, "ts": "2026-07-21T16:00:26Z", "hours": 1.9203, "text": "Optimized the EntityTiers lookup (which I mentioned I messed up last devlog) by using a map instead of a list, and it’s also now storing a reference to the Identifier instead of EntityType, so there’s less work converting between them for the packet codec (has to be sent as an Identifier (or, well, string) over the network) and also when doing some of the lookups (like from the tint provider, which has just the id by itself) Not sure what to put as the screenshot it requires me to add…. I guess have some prototypes of the new soul gem texture a person’s working on (the final shape will probably not be a perfectly round pearl)"}, {"post_id": 32271, "ts": "2026-07-21T10:39:38Z", "hours": 3.1261, "text": "Made “filled” soul gems have colors based on the entity they contain! (and also switched to a different (and probably even worse lmao) texture) The colors are the same as what spawn eggs used to have, thankfully the minecraft wiki has a list of what they all were before that was removed. Sadly I can’t steal the entity colors from vanilla anymore as that was removed in 1.21.5, so I had to add color fields to the entity tiers config and that messed with a lot of stuff and is a bit of a hit on performance when it’s not looping over stuff in weird ways as it’s a list of entries when it really should probably be a map… I’ll fix that i guess Also I know this texture is ass and someone a bit more talented in drawing is cooking up a new one which I’ll probably be able to show off in a few days. Question is… do I want the current one to show up when the vanilla programmer art pack is enabled or is that too embarrassing to show off?"}, {"post_id": 31810, "ts": "2026-07-20T14:25:41Z", "hours": 0.9456, "text": "Added recipes, translations, etc for soul essence and gem, removed spirit bottle, added recipe for spawner, made spawners drop with silk touch. Thanks to neoforge there have to be separate mixins for fabric and neo for disabling the xp drop when a spawner is broken with silk touch (would lead to infinite xp otherwise lol)…. if only neoforge was just fabric"}, {"post_id": 31751, "ts": "2026-07-20T12:04:50Z", "hours": 1.2917, "text": "Made soul essence drop from mobs killed on soul sand/soil. Also spawns fun particles! https://imgur.com/a/Qt5XxUI"}, {"post_id": 31695, "ts": "2026-07-20T09:44:19Z", "hours": 0.3378, "text": "So I’ve been doing some brainstorming and writing things down on paper (like a caveman) and have at least redesigned some of the features that already exist. Instead of a bottle of spirits that you get by right clicking a spawner, there’s going to be Soul Essence that you get by killing a mob while they’re standing on soul sand/soil. Instead of the Sample taker, there’s gonna be a soul gem crafted from a diamond and 4 soul essence that will be filled by holding it in your offhand while killing x amount of the target mob. Also thought of some recipes that I’m not gonna explain here rn. Sadly (or thankfully) I haven’t found a wakatime plugin for Aseprite, so nobody will know just how many hours I spent on the absolute trash textures I made for the soul gem and soul essence (I promise they’ll be better at some point maybe idk if I can do any better 😭 ). Soul essence just looks off somehow, and the soul gem looks like a duck spawn egg 😭 😭 😭 😭"}, {"post_id": 31122, "ts": "2026-07-19T08:32:28Z", "hours": 6.5108, "text": "It is now working on NeoForge as well! Getting the inventory to work with the neoforge transfer api was a bit of a pain, but I managed to get it to work! (Don’t mind the debug upgrades in the screenshot, they make it easier to test but dont have textures) Next up is uhh… some brainstorming and rethinking how the whole mod works and thinking about what’s in scope for this and what’s not: One thing I definitely want to add is a crafting recipe for spawners and making the sample takers (which will probably be renamed to something relating to souls and gems) usable as spawn eggs on spawners. I’m not quite sure if upgradeable spawners should be a part of this though as there’s already apotheosis for neoforge (and a port in the works for fabric) that does that and probably other mods as well. I also really wanted to add things for moving and killing mobs in the world, for which there are also already mods like Dark Utilities (got quite inspired by that) which afaik also is updated to the latest version and is for both fabric and neoforge…. Though it seems to have more random things unrelated to mob farming, and maybe it’d be fine if I really differentiate from it and other similar mods with the theme of this? Yeahhh this’ll need quite a bit more thinking."}, {"post_id": 28545, "ts": "2026-07-14T21:20:48Z", "hours": 2.0633, "text": "Finished getting everything out of :loader:fabric and into :modded that makes sense to move. The fabric subproject now only has 4 files, two of which are just the entrypoints that invoke the common initializer and the other two are using fabric api specific things and can’t be moved out without a lot of headache!"}, {"post_id": 28177, "ts": "2026-07-14T09:44:23Z", "hours": 0.2531, "text": "(the 15m were spent working on getting MenuProvider stuff out from fabric specific code and into the common modded subproject, butttt I’m making a post cause I wanna share…) Some funny screenshots from when I was porting from 1.21.1 to 26.1 (rendering changes here are a pain lol)"}, {"post_id": 28170, "ts": "2026-07-14T09:24:59Z", "hours": 17.9675, "text": "Just realized this is probably something I could submit to stardance as well 😅 Basically the initial idea was to have a mob farm contained in a single block. You craft a sample taker and have to click on 10 separate instances of an entity to get a filled sample of that entity. Then you put that into a Compact Mob Farm, turn it on, maybe give it some upgrades and a sword, and it’ll start farming the drops of the entity you took samples of. Here are some screenshots of what stuff looks like"}]...
|
Title: Ultimate Mob Farms by @OffsetMonkey538 | St Title: Ultimate Mob Farms by @OffsetMonkey538 | Stardance
Devlogs:
Just realized this is probably something I could submit to stardance as well 😅 Basically the initial idea was to have a mob farm contained in a single block. You craft a sample taker and have to click on 10 separate instances of an entity to get a filled sample of that entity. Then you put that into a Compact Mob Farm, turn it on, maybe give it some upgrades and a sword, and it’ll start farming the drops of the entity you took samples of. Here are some screenshots of what stuff looks like
(the 15m were spent working on getting MenuProvider stuff out from fabric specific code and into the common modded subproject, butttt I’m making a post cause I wanna share…) Some funny screenshots from when I was porting from 1.21.1 to 26.1 (rendering changes here are a pain lol)
Finished getting everything out of :loader:fabric and into :modded that makes sense to move. The fabric subproject now only has 4 files, two of which are just the entrypoints that invoke the common initializer and the other two are using fabric api specific things and can’t be moved out without a lot of headache!
It is now working on NeoForge as well! Getting the inventory to work with the neoforge transfer api was a bit of a pain, but I managed to get it to work! (Don’t mind the debug upgrades in the screenshot, they make it easier to test but dont have textures) Next up is uhh… some brainstorming and rethinking how the whole mod works and thinking about what’s in scope for this and what’s not: One thing I definitely want to add is a crafting recipe for spawners and making the sample takers (which will probably be renamed to something relating to souls and gems) usable as spawn eggs on spawners. I’m not quite sure if upgradeable spawners should be a part of this though as there’s already apotheosis for neoforge (and a port in the works for fabric) that does that and probably other mods as well. I also really wanted to add things for moving and killing mobs in the world, for which there are also already mods like Dark Utilities (got quite inspired by that) which afaik also is updated to the latest version and is for both fabric and neoforge…. Though it seems to have more random things unrelated to mob farming, and maybe it’d be fine if I really differentiate from it and other similar mods with the theme of this? Yeahhh this’ll need quite a bit more thinking.
So I’ve been doing some brainstorming and writing things down on paper (like a caveman) and have at least redesigned some of the features that already exist. Instead of a bottle of spirits that you get by right clicking a spawner, there’s going to be Soul Essence that you get by killing a mob while they’re standing on soul sand/soil. Instead of the Sample taker, there’s gonna be a soul gem crafted from a diamond and 4 soul essence that will be filled by holding it in your offhand while killing x amount of the target mob. Also thought of some recipes that I’m not gonna explain here rn. Sadly (or thankfully) I haven’t found a wakatime plugin for Aseprite, so nobody will know just how many hours I spent on the absolute trash textures I made for the soul gem and soul essence (I promise they’ll be better at some point maybe idk if I can do any better 😭 ). Soul essence just looks off somehow, and the soul gem looks like a duck spawn egg 😭 😭 😭 😭
Made soul essence drop from mobs killed on soul sand/soil. Also spawns fun particles! https://imgur.com/a/Qt5XxUI
Added recipes, translations, etc for soul essence and gem, removed spirit bottle, added recipe for spawner, made spawners drop with silk touch. Thanks to neoforge there have to be separate mixins for fabric and neo for disabling the xp drop when a spawner is broken with silk touch (would lead to infinite xp otherwise lol)…. if only neoforge was just fabric
Made “filled” soul gems have colors based on the entity they contain! (and also switched to a different (and probably even worse lmao) texture) The colors are the same as what spawn eggs used to have, thankfully the minecraft wiki has a list of what they all were before that was removed. Sadly I can’t steal the entity colors from vanilla anymore as that was removed in 1.21.5, so I had to add color fields to the entity tiers config and that messed with a lot of stuff and is a bit of a hit on performance when it’s not looping over stuff in weird ways as it’s a list of entries when it really should probably be a map… I’ll fix that i guess Also I know this texture is ass and someone a bit more talented in drawing is cooking up a new one which I’ll probably be able to show off in a few days. Question is… do I want the current one to show up when the vanilla programmer art pack is enabled or is that too embarrassing to show off?
Optimized the EntityTiers lookup (which I mentioned I messed up last devlog) by using a map instead of a list, and it’s also now storing a reference to the Identifier instead of EntityType, so there’s less work converting between them for the packet codec (has to be sent as an Identifier (or, well, string) over the network) and also when doing some of the lookups (like from the tint provider, which has just the id by itself) Not sure what to put as the screenshot it requires me to add…. I guess have some prototypes of the new soul gem texture a person’s working on (the final shape will probably not be a perfectly round pearl)
Lots of fun stuff between this and the last devlog: Creative tab for filled soul gems now only contains supported ones (had to make creative tabs refresh when data is reloaded cause datapacks can change what’s supported) Removed the old SampleTakerItem and FilledSampleTakerItem classes and moved most logic to custom components or mixins. Soul gems can be filled by holding them in the off hand when killing the target entity ( https://imgur.com/a/Lz6PjZs ) Some optimizations
Made spawners craftable, made interacting with spawners using a filled soul gem set the entity in the spawner. Still not quite sure what to call the “filled” soul gem. One idea i had was to call it just a soul gem and call the not filled one an “Empty Soul Gem”, which is honestly a pretty good idea, but I’m not sure what to do when it’s in the process of being filled. Technically at that point it’s not empty , but maybe it’d be fine to call it that
Finally fixed the soul gem duplication recipe, which was a bit of a pain to deal with… I initially went down a dumb rabbit hole of overcomplicating the matcher system when turns out having multiple of the same item in the recipe can easily be solved by storing a count for each ingredient instead of having multiple entries for them 😝
Past while has been spent on fighting with gradle to extend my overly complicated setup ( monkeylogic, my gradle convention plugin ) and make it even more complicated allow adding dependencies from modrinth to projects. After that I could easily add RRV (Reliable Recipe Viewer) as a dependency and now lastly add integration with it. Currently I’ve got integration to the point of showing the custom duplication recipe, which is great
Received new textures and spent some time messing around in the mcmeta file for the animation timing. Looks quite good now. Also made the empty soul gem use the same texture, just with a soul light blue colors.
Started work on adding the item collector, currently just got done with adding the block itself with some boilerplate stuff and a model. As the name suggests, it’ll be for picking up items in some range of it. Not quite sure if I want it to be a range all around the block, or maybe going outwards from the direction it’s facing? Also not yet quite sure if I want it to just put stuff into an internal inventory and require a hopper or something modded to pull out of it, or if it should act like a hopper pushing things out from the side it’s attached on
Implemented basic functionality of the item collector. Currently has a range of 2 blocks that it will pick things up from and put em straight into a connected inventory
Made item collector spawn a line of particles when picking up items Oh and also added compatibility to item collector with container blocks from other mods that use the fabric or neoforge transfer api instead of vanilla containers, more loader specific stuff, yay!
Shift-right-clicking an item collector with an empty hand now shows its range. Drawing lines of particles between the correct corners for the outline took a bit of trial and error, also added a screenshot where it doesn’t look quite correct Also I’m not sure if the video from the previous devlog got uploaded correctly (my browser at least isn’t able to play it) so here it is again
Added a texture and recipe to item collector, made it possible to disable it using redstone, made the sample collector only pick up items every 10 ticks.
Been doing some boring things like writing a description and making an icon and some miscellaneous fixes and whatnot as I actually think I want to get this in a state where I could send it in for review on modrinth. Otherwise if I sent it in once I was actually finished with the project, it probably wouldn’t get reviewed before stardance ends and then i’d have to tell people to download the mod from my git releases and that wouldn’t automatically tell em where to get dependencies and whatnot so yeah, want to get it in the queue asap. Here’s the icon I came up with btw
Started working on the soul spikes. First made a model for it, not sure if it’ll look good once I make a texture for the actual spikes part of it as well
Finished UV mapping the spikes…. this literally took like over an hour haha, sadly time spent in blockbench doesn’t count as it doesn’t have a plugin for wakatime or whatever :/ (the 43min this devlog logs was actually setting up oxipng to automatically run on every commit to optimize the png files) Next i guess will be to make an actual texture for it, yay. Here’s the super very interesting texture that currently just has all the different mapped sides in different colors
Made an okay-ish texture for the soul spikes block (many of em at once looks kinda noisy but oh well, it’ll do. Hopefully it’ll be locked up in a farm killing chamber room anyway). Had to change the UV mapping again because for whatever reasons, minecraft decides to render a sliver of the neighboring pixel as well which looks super bad with two very contrasty colors next to each other. Solution was to move the blue parts to the bottom of the texture where there was room to have it separated by a row of blank pixels.
Made the soul spikes actually deal extra fall damage when fell on. Current fall damage multiplier is at 5, not sure if that is too much or too little. The damage is done by a FakePlayer, so the mob will also drop loot that only drops from player kills, including experience orbs. (Seems like I need to add an XP Collector block in the future to deal with those). Oh and also did some boilerplate-ish things to soul spikes like adding a recipe, translation, etc Turns out minecraft decides that the block you fall on is the one that’s 0.2 blocks below you…. The model of the soul spikes (which i don’t really wanna change anymore) has the base at 3 pixels high, which makes it… 0.1875 block high 😮💨 Nothing that can’t be solved with a mixin to Entity#getOnPosLegacy that changes the BlockPos it returns if the the block above the “correct” block is soul spikes
Added the experience collector block, which obviously picks up xp orbs and turns em into bottles of enchanting. Kind of got so focused I forgot about making more detailed devlogs 😅
Spent some time thinking about what I’m gonna do for the block that moves mobs around. I think I’ve decided on going with a basic “fan” type block and now started working on what it could look like. I’m imagining the souls kinda like escaping from the soul sand and also particles spawning and moving in the direction it’s pushing. As always I’m pretty bad at drawing textures, so the beginning here looks a bit crude, but it’s definitely a start. It’d be really nice if aseprite had a wakatime plugin…
Spent a bunch of time on cleaning up some code and abstracting some things out of collector block classes to make it easier to add functionality of the soul fan later on, speaking of which! the soul fan is a block that exists in game now
Spent the last hour and a half faffing about with my loader abstraction in monkeylib (stardance only recorded an hour cause that’s technically a separate project) for creative tabs. All that just cause I really wanted the RRV stack group for the filled soul gems to show up next to the empty soul gem, instead of at the end of the list where it did previously
Implemented functionality of the soul fan, getting the strength to scale based on distance was a bit of a pain cause i needed to get the position of the center of the face that the fan’s pointing in and only calculate the distance to the entity based on the correct axis cause otherwise giving it a larger range would make the farther to the side entities get pushed less and uhh yeah, took quite a bit of experimenting with stuff to get it to work correctly
Added range upgrades for the fan and collector blocks. It was a bit challenging figuring out actually extending the bounding box in the correct directions based on the block is facing, but I did get it working
Added particle effects for soul fan. Figuring out where to spawn em was quite fun actually, though I did have to add a custom particle (reuses the vanilla “small gust” texture) because turns out most particles won’t obey the velocity you give them and just do their own thing, which was a bit annoying.
Made soul fans placed at different locations use a different starting frame offset, so they don’t all look the same (see before and after videos). The way this is implemented is a bit interesting… There’s no easy “use this model but offset any texture’s animation by 1 frame” as afaik the frame index is global per texture. What Minecraft does allow is each block state variant actually being an array of variants that the game will choose between using afaik a hash derived from the block position. This is used in vanilla for things like stone and deepslate, which have mirrored and rotated variants so caves look less repetitive or whatever. As each texture has a global frame index, I am duplicating the soul fan texture and just changing the order of the frames in the accompanying animation metadata file and creating separate models which point to the different textures and then those models are used as variants in the blockstate. What’s even more fun is I am using datagen for duplicating the texture and creating the animation metadata files, which definitely isn’t concerning at all. This also required me to make a pull request to fabric api because the FabricCodecDataProvider assumes all files it generates are .json files, but animation metadata is .mcmeta. (The PR isn’t yet merged so I resorted to…. injecting a mixin into fabric api, definitely not cursed at all I swear)
Bunch of refactoring, bug fixes, balancing, etc. Release notes can be seen on the forgejo release or on modrinth, I’m not gonna copy paste em here (this is version 0.0.5 right now) It is now actually reviewed on Modrinth, took two weeks for that to happen (Gosh I remember when review times were like less than 24 hours ). I’m still keeping it unlisted until I get a 1.0.0 release out, but if anyone wants to check it out and share feedback or anything, then it’s right over here: https://modrinth.com/mod/ultimate-mob-farms Before a v1, I still need better rrv and item descriptions integration, some more balancing changes, advancements, quite a few bugfixes and probably some other stuff I’m forgetting at the moment.
Fixed compact mob farm inventory not working correctly and being incompatible with other mods’ item movement stuff. The whole point of the transfer API on both fabric and neoforge is the transaction system, where each change must store a snapshot that can be returned to if needed; Turns out ignoring the TransactionContext and not saving any snapshots is a bad idea 😅 I’ve tested and it’s compatible with create fly (see screenshot where a compact mob farm with a blaze is being used to feed a blaze burner for a steam engine) and most probably other mods as well. Added Reliable Recipe Viewer integration that explains soul capturing
checking the recipe for a specific soul gem now only shows that specific entity instead of all soul capturing recipes soul capturing recipe now shows up before the duplication recipe soul gems can now be searched by the name of the entity they contain fix compact mob farm gui not rendering vanilla background overlay allow filling soul gem when held in the main hand fix dedicated server crashing Running in a dedicated server would crash because there are quite a few places where I referenced client-only classes in places that the jvm will load on the dedicated server as well. Mostly in the different block entity classes, where I had a clientTick method that had ClientLevel as one of it’s parameters. Even though that method would never get called on the dedicated server, java still wants it to exist when loading the class because it’s part of a method’s definition. My current solution is very very awful… I moved those things into methods in the client initializer and… well… yeah… it just looks and is awful: https://git.offsetmonkey538.top/OffsetMods538/Ultimate-Mob-Farms/src/commit/0.0.7/modded/src/main/java/top/offsetmonkey538/ultimatemobfarms/modded/UltimateMobFarmsModdedClient.java#L65 The real, foolproof solution would be using the split sources feature of loom, which creates a second source set and makes the main source set unable to access client classes. Only problem is that it’d be a bit annoying to fully get set up in my multiloader-version gradle system and would most definitely need many changes on MonkeyLib538 as well and I just am not up for doing that atm.
Getting closer and closer to the actual release… could this be the last devblog before that? Still not quite 100% about if the required kills for each mob are balanced, but it’s probably good enough. Definitely better than everything being 10 kills tho. Felt very off-balance when withers, which are hard to spawn and hard to kill, and pigs, which are just everywhere, required the same amount of kills to capture. Notable changes: Show soul capturing recipe in rrv when checking usages of spawn eggs Show tooltip with entity name when hovering entity in soul capturing rrv recipe Add item descriptions Fix being able to insert items into the compact mob farm inventory Make amount of kills required for capturing an entity different per entity. Update compact mob farm recipe (now uses soul spikes in the middle instead of stone bricks) Store soul gem colors as hex strings in entity tiers config. Much more understandable and easier to manually change the overrides config or whatever Make built-in packs use the mod icon using a mixin instead of copying the icon into the packs. This shaves like 80kb off the final jar which is quite a bit of unnecessary duplicate crap Remove some log spam that was for debugging
School starting with september really hit my productivity on this mod like a truck I am realizing the deadline for stardance is getting real close, so I think this is probably the point where I’ll have to ship it. There are still some TODOs in the code and bugs that need to be squashed and porting to 26.3 (which released like this week, thanks mojang ) and so I haven’t been comfortable marking the latest release as 1.0.0 yet or making announcements elsewhere, but the mod is now perfectly usable and I like where it is. Changes since last devblog: 26.2 support Injecting some items into vanilla loot chests Advancements 26.2 wasn’t actually as painful as I thought it’d be, which was a nice surprise. Adding advancements was a bit more of a pain with 26.2 support though as I needed custom criteria for some of the advancements (one for putting a soul gem in the compact mob farm and another for using a soul gem on a spawner) and Mojang, in their infinite wisdom, decided to move a bunch of advancement stuff around in 26.2.
Waow that’s quite a bit of stardust 😅 Quite happy with this project and the ratings it got on the first ship :D (except the one that accused my devlogs of being written by ai… My writing is not that bad, right? ) I noticed in the shipwrights’ review video that how upgrades work is not very obvious, they were trying to put a tier upgrade into a soul fan, which only accepts width, height and depth upgrades. It was mentioned in ratings that stuff is a bit hard to figure out in the beginning as well. So to fix that, I added some silhouettes of the supported upgrades shown in the slots and also a hover tooltip saying what’s supported. Oh and i’ve also added 26.3 support now
Added a progress bar to the Compact Mob Farm GUI that hopefully makes it much easier to understand when it’ll damage the entity and it doesn’t look like it’s just doing nothing lol, especially with the 30 second default time
Added an RRV screen showing what items can be acquired from the Compact Mob Farm. Shows the entity, the items it drops and the required tier upgrade level. Hoping this also helps with confusion on how stuff works
Started working on setting up a docs page for the mod. Mainly want it for explaining the data driven configuration, but having full pages to give more detailed explanations of the different features is also probably a nice touch. Made a new icon for the mod as well, it’s pretty much the same but higher res because the 256x256 one looked weird on the docs page. The docs are done using Starlight like all my other docs pages (see those here ) and lives at https://ultimate-mob-farms.docs.cursedmods.com/ and on the docs/master branch in the repo Currently it’s just the landing page, but it’ll have more stuff soon enough
Set up empty pages for all the blocks and items, fought quite a bit with astro/typescript to get the PageTitle override to correctly display the icons. Turns out astro’s optimized Image stuff doesn’t support animated images, no matter how much you try to force it to, so I ended up having to use the basic img tag
The docs now show the item slot texture behind the item icons in page titles cause I thought that’d look cool. Also started with actually writing the docs by doing the page for soul essence. It has a video which is cool I guess
Made a fun little astro component for rendering a crafting recipe. It definitely worked perfectly fine at the start and I definitely know how to CSS
Wrote a few more pages and figured out how to get embeds on discord (and i guess other sites) working. Turns out you gotta add some open graph metadata to get the image and title and description to show up
Finished writing all the item pages and oh god it’s 3:30 AM as I write this i really need to sleep 😭😭😭 Had to add a new SmithingRecipe astro component for the smithing recipe, which was fun. Also made the normal CraftingRecipe a bit smaller as it was wasting too much space
Finally a devlog of the mod itself again (I wanted a break from writing the docs, that’s exhausting 😭) Fixed description of speed and damage upgrade showing “Format error”: I was trying to use the % sign in the text, but item descriptions passes it to String.format which treats % as a formatting character. Using %% escapes it though and becomes a literal % character. My PR to Reliable Recipe Viewer was merged at some point so its RecipeViewMenu#updateByPage method is now public, so I was able to remove the slightly concerning java reflection I used to make it accessible and call it Added an RRV page explaining how to acquire soul essence.
Turns out there’s been a bug for a whileeeeee (possibly the entirety of since I ported to 26.1?) where you can put an “empty” soul gem (with one soul inside it), so that was something I had to fix. Just a one line change tho, but still quite an embarrassing change. Anyway uhh yeah finished the docs, fixed that bug, fixed some more bugs and… oh yeah, made the built-in datapacks enabled by default as that just makes more sense.
Ships:
This is a Minecraft mod for making mob farms, something similar to for example Mob Grinding Utils. It features item and xp collection, entity movement, spawner relocation and crafting, single block mob farms and some other stuff. Honestly, I’m quite proud just over the fact that I finally did finish this project (or at least got it to the point of being comfortable releasing it publically) and it’s hard to choose any specific features, but here I go… I do really like how the particle effects for the soul fan turned out, they’re quite satisfying imo. This is kind of unrelated to the mod, but I’m also proud of having helped out with the development of RRV, the recipe viewer mod I added compat with. While adding support for it in this mod, I noticed some bugs and crashes and stuff, which I PRed fixes for. It’s a bigger project with many complex things, so coming up with a list of all the things I found hard or took a lot of time and explaining all of them would probably go over whatever character limit this text box has lol. One thing that was a big PITA was the compact mob farm inventory. The original implementation I wrote was just… completely wrong, so I had to rewrite it. Then later I realized I overlooked like the most important part of the item transfer api (transactions, which are used for rolling back changes and stuff) so I had to rewrite it again, and then after that I rewrote quite a bit of it one more time because, after the last rewrite, I had accidentally made it possible for other blocks to insert into the inventory, which isn’t something I wanted as that seems quite OP. Another thing that comes to mind is figuring out the code for the soul fan’s range based on upgrades and strength at a given distance. The problem was that the coordinate you have to increase/decrease depends on the orientation of the block, so as an example, the depth upgrade would need to increase the Y pos when the block is placed pointing up and decrease it when pointing down, the X pos when facing north/south and the Z pos when facing east/west. For pushing the entities, I had to find the coordinates of the middle of the face the block is pointing, and add/subtract the correct coordinate to get the range in the depth direction, and then find the distance between each entity currently in range and the fan in just that plane for calculating the strength. For people testing out the project, I definitely do recommend also installing the Reliable Recipe Viewer (RRV) and Item Description mods
Alright finally shipping again, cutting it close to the end. Not sure if I’m supposed to recap what the project is in a second ship, but a tldr for that: This is a Minecraft mod for mob farming. Item collection, xp collection, entity pushing, etc For playing the mod, I very highly recommend using the Reliable Recipe Viewer mod as well as I’ve added integration with it. (And i’m totally not biased at all from the fact that I’ve made a few PRs to RRV during the course of making this mod as i found bugs and missing features 😅) I noticed from the starwrights’ video and some of the ratings that it’s not immediately obvious how things work, so I’ve spent the past little while on making stuff more intuitive in game and I also wrote a bunch of documentation. The documentation is available here and the code for it lives on the docs/master branch on the repo (don’t question the minecraft assets inside the MIT licensed repo… ok yeah maybe i should add a note somewhere that those are mojang’s property or however this works, but it’s 6am, i’ve been up all night, and I want to get this damn thing shipped and then sleep. It’s not like they’re gonna sue me overnight, right?). Changes : Added 26.3 support. This wasn’t actually super bad, not many changes that affected me. The blocks that can have upgrades inserted into them now display a silhouette of the supported upgrades and a hover tooltip listing supported upgrades. For the compact mob farm, I added a progress bar that tracks the time until the next attack, this should hopefully immediately show to the user that the block is indeed doing something, instead of just it looking like nothing’s happening for 30 seconds until the health decreases. Added an RRV recipe showing what mobs can be used in the compact mob farm and their drops. I also fixed some small bugs (like being able to use an unfilled soul gem in a compact mob farm, very very small bug indeed, I know) Since the last ship, I’d say the hardest part was probably dealing with CSS and Astro 😅 I haven’t really done much in terms of web development before and for the documentation I added a custom Astro component for displaying crafting recipes. That didn’t go quite perfectly at the start because I don’t understand how css styling works, there should be an image on one of the devlogs with the crafting recipe texture scaled wayyy too high and extending off the screen, the ingredients possibly in the correct places, and then the output just next to the page title for some reason. I do like how it turned out in the end though, being able to click on ingredients to navigate to their pages and stuff....
|
1793339559.0024939
|
1793425959.0024939
|
|
4414
|
Remote Access Trojan by @soloplanet | Stardance
|
soloplanet
|
1
|
38.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T00:05:54Z", "hours": 38.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a RAT and experimented with shellcode loading. Things I found hard were obfuscating the app, learning how to use indirect syscalls and trying to evade detection. I am proud of getting my best attempt (tar2.0) at best to evade 4/71 detections which were primarily high positive ML engines and Crowdstrike (only 60% confidence) (this eventually increased to 9/71 due to signatures).", "repo": "https://github.com/MasterGoop2000/rat-project/", "demo": "https://github.com/MasterGoop2000/rat-project/releases/tag/v1.0"}]...
|
[{"post_id": 75757, "ts": "202 [{"post_id": 75757, "ts": "2026-09-30T23:54:04Z", "hours": 35.9075, "text": "Shellcode loader"}, {"post_id": 1353, "ts": "2026-06-03T09:49:17Z", "hours": 1.8203, "text": "Remote Access Trojan"}]...
|
Title: Remote Access Trojan by @soloplanet | Stard Title: Remote Access Trojan by @soloplanet | Stardance
Devlogs:
Remote Access Trojan
Shellcode loader
Ships:
I made a RAT and experimented with shellcode loading. Things I found hard were obfuscating the app, learning how to use indirect syscalls and trying to evade detection. I am proud of getting my best attempt (tar2.0) at best to evade 4/71 detections which were primarily high positive ML engines and Crowdstrike (only 60% confidence) (this eventually increased to 9/71 due to signatures)....
|
1793339556.0127833
|
1793425956.0127833
|
|
48315
|
Storm by @Draaal | Stardance
|
Draaal
|
1
|
79.0
|
1279
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T20:25:22Z", "hours": 79.0, "multiplier": 18.99, "payout": 1279, "blessing": "neutral", "text": "storm I made a rules engine for the card game MTG. Its basically a giant state machine. You tell it what the players do and based on that it changes the game state. My experience The most challenging thing by far was finding a data model that would allow everything you can do in MTG. And since cards are written in english, there are A LOT of possible actions. Shiny new things I learned I finallyyy have a proper understanding of generics; before it was just this “magic in angle brackets” Pros & Cons of different data structures while I decided what to use for storing cards Experience in how to manage a project that has > 10 files. Might actually be the most valuable thing I gained from all of this.. A somewhat decent understanding of lifetimes in rust Also I finally had a look at metaprogramming with macros (only declarative macros though) I am proud of this The thing I am really proud of in here is how you can have these generic components that define behaviour or targets or such an how you can then use them to create cards as pure data through the power of generics and macros. They are literally just a constant in the code. My experience with AI Later in the implementation when my data structure was mostly fixed I tried having an AI agent do some of the boring work of hooking things up, but it didn’t work. And by that I mean it was pretty awful. It didn’t understand my design, reinvented the wheel several times, took shortcuts that would work for exactly this one card I asked about and just created wrong behaviour. Maybe this was a me problem, because I provided bad context, but I think I will stick writing code by hand for a while longer.", "repo": "https://github.com/andraaal/storm", "demo": "https://crates.io/crates/storm-engine"}]...
|
[{"post_id": 75713, "ts": "202 [{"post_id": 75713, "ts": "2026-09-30T20:35:17Z", "hours": 2.5422, "text": "#12 Of course there is an extension of one month right as I was going to ship… Anyway I published it on crates.io, I added some minimal executable example, did the README and added some metadata for publication. And I drew this wonderful new banner. Its a bit whacky, but I like it"}, {"post_id": 75316, "ts": "2026-09-29T18:52:32Z", "hours": 7.1283, "text": "#11 Devlog (AI adventure) So, since stardance ends soon I have to ship this and I am not sure if I can manage in time. So I had a look at AI coding and how to do it properly, because I tried vibe-coding before and it was abysmal. And I have to say it was miles ahead of anything else AI has ever done for me, when you use some specialized skills, create a roadmap first, split it into tickets (The AI even created tickets on GitHub for whatever godforsaken reason; It knew this is a solo project), structure your work, … It is also a TON more work. And it was still lacking. Maybe it was because my student subscription isn’t that powerful, maybe MTG is just too complex or I didn’t explain my messed up design well enough to the agent. Either way I wasted a bunch more time and … yeah, here’s hoping that I will get a working v0.1 alpha in time!"}, {"post_id": 68841, "ts": "2026-09-15T20:56:08Z", "hours": 7.1406, "text": "#10 Devlog How could I forget git THIS hard??? I didn’t make a single commit in like the last 20 hours. And now everything is so different that I might as well make a new repo. Also the line count in the screenshots is bugged somehow. Its more like +28XX lines. And it took THREE screenshots!! Anyways, heres an actual update: Now casting spells is finally complete (kinda) and static abilities work too. They even share some code through common “behaviour”. Thats just some common action that can be executed on the game state. Also with the help of a few todo! macros (Magic for fixing anything, but throws at runtime) the code finally compiles again. For like the second time in the entire development. There is bound to be a million bugs in there…."}, {"post_id": 66240, "ts": "2026-09-11T23:06:07Z", "hours": 8.4828, "text": "#9 Devlog Casting spells is now almost complete, and my overengineered type system got even more crazy. We have now: Card , that represent, well… cards StackDefinition , which the targets and some other metadata for Spells Selectors , as there name suggests, select objects Behaviour , a closure that can change the game state, but with a lot of fancy type shenanigans to make sure it is only used with appropriate StackDefinitions. Below are some highlights from the new types"}, {"post_id": 63238, "ts": "2026-09-06T22:41:41Z", "hours": 4.5017, "text": "#8 Devlog (Sorry; last one is actually #7) So I finally completed the rewrite my entire project now uses my new overengineered typing. Yay! Finally!! But that also meant that I had to change my library API to use all of those types. What you see below are just the function definitions for that + some minor input validation. And, yes, you could defnitiely make that a lot shorter with macros but it is 1am and I can’t be bothered to go learn how they work."}, {"post_id": 61426, "ts": "2026-09-04T10:21:58Z", "hours": 4.1117, "text": "#5 Devlog Of course fixing stuff took longer than I thought (as always), but we are almost there. Only 16 more errors to go!"}, {"post_id": 59051, "ts": "2026-08-31T17:20:49Z", "hours": 7.4244, "text": "#6 Devlog You know the rewrite I talked about last time? I am STILL doing that. It changed so much more that I had expected. Now I have changed just about every function signature in the entire project. Also there were a million little problems that also needed attention. I think I am close to completing the rewrite though; the core types are all set, I just have to deal with the downstream effects of changing them. That shouldn’t (I hope) take too long"}, {"post_id": 56248, "ts": "2026-08-27T22:35:34Z", "hours": 3.4006, "text": "#5 Devlog I redesigned my engine (not implemented yet); It makes much more extensive use of generics now and has in general much better type-safety. This eliminates a ton of bounds checks and potential errors, because the compiler can prove at compile-time that the program is valid (or not). Also kind of crazy that it says 3.5h for designing. I feel like I spent most of my time in the browser explaining my code to ChatGPT to understand it better myself (ChatGPT did little besides saying “Ah, yes, great idea” and explaining my idea back to me)"}, {"post_id": 55056, "ts": "2026-08-26T14:14:51Z", "hours": 1.5544, "text": "#4 Devlog I have been developing a new model for how cards on the “stack” (a zone for cards). This moves a lot of the verification and testing (“Is the card that is reference by this Id, the card I expect?, Is this card really in the correct zone?, …”) to compile-time and the compiler will simply refuse to compile if its wrong. And I am really proud of it, since this is by far the most advanced thing I have ever done with generics and it is beautiful. All these ifs are just gone"}, {"post_id": 53369, "ts": "2026-08-23T21:53:02Z", "hours": 1.0717, "text": "#3 Devlog I created a single method in this hour. I wanted to just have method that creates an Iterator over a collection of objects. But if you have different objects that becomes very messy very fast, because the concrete type of the iterator is also different then. Now the method only claims to return something that is an iterator, so it shouldn’t be a problem, right? Well it is, because the compiler doesn’t know at compile time what type will be returned and thus can’t do monomorphization. The solution: Make the types of all of the objects the same through static polymorphism BEFORE you construct the iterator by putting everything into an enum and implementing an access method. You could of course avoid all of that and just use dynamic polymorphism, but who needs that. Also sorry for posting so little, I will try to post more often."}, {"post_id": 53291, "ts": "2026-08-23T19:04:07Z", "hours": 11.1336, "text": "#2 Devlog I reworked how static abilities are applied - now they are (mostly) compliant with MTG comp rules. By far the hardest (and most time-consuming) part was coming up with a design that can actually accommodate all of the requirements the rules have. It’s madness; you can change abilities during resolution, partially apply abilities and the order of application is incredibly complicated. Once I had that figured out the implementation was pretty straightforward. Design is in the image below. The second big thing is that I started creating a unified iterator interface to access my cards in a structured manner."}, {"post_id": 47560, "ts": "2026-08-15T15:14:23Z", "hours": 20.0756, "text": "#1 Devlog So originally I didn’t even plan to put this here, it was just me trying some different ideas. But now that I have spent over 20h and the design isn’t complete trash anymore, I should probably put this here as well. It is still far from complete and actually not that much code for 20h due to a million rewrites. Still, it has a working model for spells, permanents and various effects, so some basic cards can already work. What still needs a lot of work is how to cast a spell, but it is so freaking complicated. Also sorry for no image, but it is a lib and far from runnable, so yeah.."}]...
|
Title: Storm by @Draaal | Stardance
Devlogs:
#1 D Title: Storm by @Draaal | Stardance
Devlogs:
#1 Devlog So originally I didn’t even plan to put this here, it was just me trying some different ideas. But now that I have spent over 20h and the design isn’t complete trash anymore, I should probably put this here as well. It is still far from complete and actually not that much code for 20h due to a million rewrites. Still, it has a working model for spells, permanents and various effects, so some basic cards can already work. What still needs a lot of work is how to cast a spell, but it is so freaking complicated. Also sorry for no image, but it is a lib and far from runnable, so yeah..
#2 Devlog I reworked how static abilities are applied - now they are (mostly) compliant with MTG comp rules. By far the hardest (and most time-consuming) part was coming up with a design that can actually accommodate all of the requirements the rules have. It’s madness; you can change abilities during resolution, partially apply abilities and the order of application is incredibly complicated. Once I had that figured out the implementation was pretty straightforward. Design is in the image below. The second big thing is that I started creating a unified iterator interface to access my cards in a structured manner.
#3 Devlog I created a single method in this hour. I wanted to just have method that creates an Iterator over a collection of objects. But if you have different objects that becomes very messy very fast, because the concrete type of the iterator is also different then. Now the method only claims to return something that is an iterator, so it shouldn’t be a problem, right? Well it is, because the compiler doesn’t know at compile time what type will be returned and thus can’t do monomorphization. The solution: Make the types of all of the objects the same through static polymorphism BEFORE you construct the iterator by putting everything into an enum and implementing an access method. You could of course avoid all of that and just use dynamic polymorphism, but who needs that. Also sorry for posting so little, I will try to post more often.
#4 Devlog I have been developing a new model for how cards on the “stack” (a zone for cards). This moves a lot of the verification and testing (“Is the card that is reference by this Id, the card I expect?, Is this card really in the correct zone?, …”) to compile-time and the compiler will simply refuse to compile if its wrong. And I am really proud of it, since this is by far the most advanced thing I have ever done with generics and it is beautiful. All these ifs are just gone
#5 Devlog I redesigned my engine (not implemented yet); It makes much more extensive use of generics now and has in general much better type-safety. This eliminates a ton of bounds checks and potential errors, because the compiler can prove at compile-time that the program is valid (or not). Also kind of crazy that it says 3.5h for designing. I feel like I spent most of my time in the browser explaining my code to ChatGPT to understand it better myself (ChatGPT did little besides saying “Ah, yes, great idea” and explaining my idea back to me)
#6 Devlog You know the rewrite I talked about last time? I am STILL doing that. It changed so much more that I had expected. Now I have changed just about every function signature in the entire project. Also there were a million little problems that also needed attention. I think I am close to completing the rewrite though; the core types are all set, I just have to deal with the downstream effects of changing them. That shouldn’t (I hope) take too long
#5 Devlog Of course fixing stuff took longer than I thought (as always), but we are almost there. Only 16 more errors to go!
#8 Devlog (Sorry; last one is actually #7) So I finally completed the rewrite my entire project now uses my new overengineered typing. Yay! Finally!! But that also meant that I had to change my library API to use all of those types. What you see below are just the function definitions for that + some minor input validation. And, yes, you could defnitiely make that a lot shorter with macros but it is 1am and I can’t be bothered to go learn how they work.
#9 Devlog Casting spells is now almost complete, and my overengineered type system got even more crazy. We have now: Card , that represent, well… cards StackDefinition , which the targets and some other metadata for Spells Selectors , as there name suggests, select objects Behaviour , a closure that can change the game state, but with a lot of fancy type shenanigans to make sure it is only used with appropriate StackDefinitions. Below are some highlights from the new types
#10 Devlog How could I forget git THIS hard??? I didn’t make a single commit in like the last 20 hours. And now everything is so different that I might as well make a new repo. Also the line count in the screenshots is bugged somehow. Its more like +28XX lines. And it took THREE screenshots!! Anyways, heres an actual update: Now casting spells is finally complete (kinda) and static abilities work too. They even share some code through common “behaviour”. Thats just some common action that can be executed on the game state. Also with the help of a few todo! macros (Magic for fixing anything, but throws at runtime) the code finally compiles again. For like the second time in the entire development. There is bound to be a million bugs in there….
#11 Devlog (AI adventure) So, since stardance ends soon I have to ship this and I am not sure if I can manage in time. So I had a look at AI coding and how to do it properly, because I tried vibe-coding before and it was abysmal. And I have to say it was miles ahead of anything else AI has ever done for me, when you use some specialized skills, create a roadmap first, split it into tickets (The AI even created tickets on GitHub for whatever godforsaken reason; It knew this is a solo project), structure your work, … It is also a TON more work. And it was still lacking. Maybe it was because my student subscription isn’t that powerful, maybe MTG is just too complex or I didn’t explain my messed up design well enough to the agent. Either way I wasted a bunch more time and … yeah, here’s hoping that I will get a working v0.1 alpha in time!
#12 Of course there is an extension of one month right as I was going to ship… Anyway I published it on crates.io, I added some minimal executable example, did the README and added some metadata for publication. And I drew this wonderful new banner. Its a bit whacky, but I like it
Ships:
storm I made a rules engine for the card game MTG. Its basically a giant state machine. You tell it what the players do and based on that it changes the game state. My experience The most challenging thing by far was finding a data model that would allow everything you can do in MTG. And since cards are written in english, there are A LOT of possible actions. Shiny new things I learned I finallyyy have a proper understanding of generics; before it was just this “magic in angle brackets” Pros & Cons of different data structures while I decided what to use for storing cards Experience in how to manage a project that has > 10 files. Might actually be the most valuable thing I gained from all of this.. A somewhat decent understanding of lifetimes in rust Also I finally had a look at metaprogramming with macros (only declarative macros though) I am proud of this The thing I am really proud of in here is how you can have these generic components that define behaviour or targets or such an how you can then use them to create cards as pure data through the power of generics and macros. They are literally just a constant in the code. My experience with AI Later in the implementation when my data structure was mostly fixed I tried having an AI agent do some of the boring work of hooking things up, but it didn’t work. And by that I mean it was pretty awful. It didn’t understand my design, reinvented the wheel several times, took shortcuts that would work for exactly this one card I asked about and just created wrong behaviour. Maybe this was a me problem, because I provided bad context, but I think I will stick writing code by hand for a while longer....
|
1793339550.8033319
|
1793425950.8033319
|
|
36393
|
internet archive DS by @mikhailnotfish | Stardance
|
mikhailnotfish
|
1
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T23:53:42Z", "hours": 33.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "internetarchiveDS has been completed! i have changed the UI, made a 754 page long essay of a readME, and made a very detailed instruction manual of how to download and setup the program (it isnt plug and play) a suppose there isnt very much else to do now, i hope you have a nintendo DS! or you’ll have to download a video, as proof that it works. (sorry its big i tried to compress it)", "repo": "https://github.com/mikhailnotfish/InternetArchiveDS", "demo": "https://github.com/mikhailnotfish/proof-it-works/releases/tag/v1.0"}]...
|
[{"post_id": 75853, "ts": "202 [{"post_id": 75853, "ts": "2026-10-01T10:49:13Z", "hours": 5.4669, "text": "LADIES AND GENTLEMEN i am very happy to announce that, INTERNETARCHIVEDS IS ALMOST FINISHED!!!! in the previous devlog, i was facing a guru meditation error. i figured out that it was because i misspelt “ITCM” as “ITC” and therefore the whole video parser didnt load. one letter. i know. now, i have had about a thousand different issues with macroblock alignment, and finally figured out the issue- the AUDIO. i know, the audion has nothing to do with the video, but it ACTUALLY DOES! you see, the audio is loaded in before every frame… and the way gericom did it worked for itag7, but doesnt work for any other mpeg4 version. that audio placement, sets the macroblock back by one frame every time, corrupting the video. but now, i put a filter into the php server to only search for videos 20MiB and under, so that they play fast fast. now that the whole pull echo flush system works, all i need to do is remove the debug code, (it takes forever) change the ui, and picture for the top screen, and internetarchiveDS will be ready for you to use!!! if you have a ds of course. also i encoded a video to test on it, here it is for you guys to see!"}, {"post_id": 67193, "ts": "2026-09-13T07:56:08Z", "hours": 5.2714, "text": "as stardance begins to come to an end, the time crunch begins to get more serious. in these past 5 hours, i have gotten search to work perfectly, and ran into a guru meditation error, with some very strange hexadecimal values. for example the first 3 rows are all 00000000 and address and pc are both 00000030. things like r8 are ffffffff, and the stackdump is very unusual. there is a photo for you to see the stackdump for yourself. so far im still trying to get the vidfeo to play, i havent even started on the json parser yet! im using a pre- encoded video! anyway stay tuned to see if my 10 day holiday lock in will let me finish this project, and obtain the ultimate prize from the shop."}, {"post_id": 52184, "ts": "2026-08-22T08:41:22Z", "hours": 6.9197, "text": "ladies and gentlemen DO I HAVE A STORY TO TELL! i know, its been 20 days scince my last devlog… but ive made some uncomprehendable progress on the project. in these 7 hours, i have managed to get the proxy server to work with the archive, ive managed to get the dsi to not guru meditate, and actually connect to the wifi using the old wpa wifi protocol! that was the problem with the library im using, DSWIFI. the ersion of dswifi im using, is an old one, from 10 years ago. back befre the 2.0 update when they added calcio. back then dswifi didnt hav support for anything other that wpa, no wap, 1,2,3 nothing. after that, i actally managed to get working search results! i hosted the php proxy using msys bash, whatever works i guess, and the dsi is now recieving and transmitting requests and data through the proxy to the internetarchive. but my next bottleneck! back ten years ago, you tube was really weak, primitive, low quality. and even then, the dsi had do you every last rescource on te lowest data type, ITAG 7, to be able to run. but the project extracts RAW JSON METADATA, which as you know can be really bulky. so my next move will be to make a filter for my php server, to only show results under a certain size, so the json metadata will be processable."}, {"post_id": 39326, "ts": "2026-08-02T07:25:10Z", "hours": 1.6669, "text": "today I spent a lot of time investigating the original YouTubeDS ROM to figure out what is missing and why my rebuilt version does not perfectly match the original.The good news: I was able to confirm that the ROM filesystem is not the issue. Using Tinke and ndstool, I extracted both the original ROM and my rebuilt ROM, then compared all of the files inside them. The fonts, keyboard assets, menus, logos, and other resources are identical.This means the problem is somewhere deeper: inside the compiled ARM9 binary.The original YouTubeDS ARM9 is around 447KB, while my rebuilt version is around 335KB. That missing size is not from assets or files — it is from the compiled code itself. Right now I do not know exactly what is different between the two builds, and without more information it is difficult to recreate the original binary.I have also been looking through the source code, build files, and compiler output to find possible causes, but the remaining possibilities are things like different compiler settings, missing build steps, or code that was present in Gericom’s original environment but is not available anymore.At this point, the biggest step forward is waiting for a response from Gericom. Since he created YouTubeDS originally, he may be able to provide information about the original build environment, missing files, or how the original ROM was produced.Until then, there is not much more I can safely change without risking moving further away from the original. The current goal is still to preserve YouTubeDS and make it usable again for InternetArchiveDS, since the original YouTube API it depended on shut down years ago.For now, the investigation continues — but we have narrowed the problem down from “the whole ROM is different” to “the compiled ARM9 does not match the original.”"}, {"post_id": 36940, "ts": "2026-07-29T10:55:05Z", "hours": 6.9997, "text": "Today I did something I genuinely did not think I would be able to do.I revived an old Nintendo DS homebrew project.The goal was not to remake YouTubeDS, but to bring the original project back to life so it could be preserved and used as inspiration for future projects like InternetArchiveDS. The journey was much harder than I expected.At the start, I had a folder full of old source code, but the world it was built for was mostly gone. Libraries were missing, build files were outdated, and the project depended on old versions of tools that were no longer set up correctly. I spent hours digging through Makefiles, finding missing dependencies, rebuilding libraries manually, and trying to understand how everything connected.There were so many moments where it felt like I was one error away from giving up. I had to rebuild parts of the devkit environment, compile libraries like libfat again, fix linker issues, repair paths, and figure out why the final ROM packaging step kept failing.The most frustrating part was that the code itself was fine. The challenge was rebuilding the entire devkitpro system around it.After around 14 hours of debugging, something incredible happened.The build finally completed.I copied the ROM onto my DSi, launched it, and saw it load exactly like the original compiled version. No extra steps, no broken menus, no weird crashes. It was the exact moment where every tiny fix, every error message, and every hour of searching suddenly became worth it.Seeing old code from years ago come alive again on real hardware was an amazing feeling. This project reminded me why I love programming: sometimes the biggest victories come from solving problems nobody else sees."}, {"post_id": 34435, "ts": "2026-07-25T04:39:23Z", "hours": 4.2336, "text": "Today I spent my time trying to bring YouTubeDS, an open-source Nintendo DS homebrew application created by Gericom, back to life. While I expected to spend most of the session coding, nearly all of my progress came from reverse engineering and troubleshooting an outdated development environment. I tracked down missing source files, resolved linker errors caused by an absent API key, and compared my rebuilt binaries against the original ROM to understand why they behaved differently.After digging through Makefiles, compiler output, map files, and the generated ROM headers, I discovered that the project was originally built using an older version of devkitPro and libnds. Modern releases automatically link against the newer Calico runtime, producing binaries that differ significantly from the original build and refuse to run correctly. I experimented with build flags, linker specifications, and library configurations before confirming that the real solution is recreating the original toolchain rather than patching the project itself.Although I haven’t produced a working ROM just yet, I now understand exactly why the project fails on modern tools. The next step is installing an older version of the Nintendo DS development environment so the application can be rebuilt as it was originally intended. Even though this was a debugging-heavy session, I made meaningful progress toward preserving and reviving an abandoned piece of Nintendo DS homebrew."}, {"post_id": 30608, "ts": "2026-07-18T10:06:51Z", "hours": 2.7964, "text": "TODAY: i tried to compile my 10 year old software, debug some binary, download gh repositories, TRY FOR ONE BLOODY HOUR TO FIGURE OUT WHY IT WOULDNT COMPILE figured out why it wouldnt compile, realize that linux is too hard, and fell asleep. then i decideed i would try again, debugged some code, and found that it wouldnt compile because it thought somthing didnt exist. im going to try to fix it, if anyone knows linux mesage me pleease"}]...
|
Title: internet archive DS by @mikhailnotfish | St Title: internet archive DS by @mikhailnotfish | Stardance
Devlogs:
TODAY: i tried to compile my 10 year old software, debug some binary, download gh repositories, TRY FOR ONE BLOODY HOUR TO FIGURE OUT WHY IT WOULDNT COMPILE figured out why it wouldnt compile, realize that linux is too hard, and fell asleep. then i decideed i would try again, debugged some code, and found that it wouldnt compile because it thought somthing didnt exist. im going to try to fix it, if anyone knows linux mesage me pleease
Today I spent my time trying to bring YouTubeDS, an open-source Nintendo DS homebrew application created by Gericom, back to life. While I expected to spend most of the session coding, nearly all of my progress came from reverse engineering and troubleshooting an outdated development environment. I tracked down missing source files, resolved linker errors caused by an absent API key, and compared my rebuilt binaries against the original ROM to understand why they behaved differently.After digging through Makefiles, compiler output, map files, and the generated ROM headers, I discovered that the project was originally built using an older version of devkitPro and libnds. Modern releases automatically link against the newer Calico runtime, producing binaries that differ significantly from the original build and refuse to run correctly. I experimented with build flags, linker specifications, and library configurations before confirming that the real solution is recreating the original toolchain rather than patching the project itself.Although I haven’t produced a working ROM just yet, I now understand exactly why the project fails on modern tools. The next step is installing an older version of the Nintendo DS development environment so the application can be rebuilt as it was originally intended. Even though this was a debugging-heavy session, I made meaningful progress toward preserving and reviving an abandoned piece of Nintendo DS homebrew.
Today I did something I genuinely did not think I would be able to do.I revived an old Nintendo DS homebrew project.The goal was not to remake YouTubeDS, but to bring the original project back to life so it could be preserved and used as inspiration for future projects like InternetArchiveDS. The journey was much harder than I expected.At the start, I had a folder full of old source code, but the world it was built for was mostly gone. Libraries were missing, build files were outdated, and the project depended on old versions of tools that were no longer set up correctly. I spent hours digging through Makefiles, finding missing dependencies, rebuilding libraries manually, and trying to understand how everything connected.There were so many moments where it felt like I was one error away from giving up. I had to rebuild parts of the devkit environment, compile libraries like libfat again, fix linker issues, repair paths, and figure out why the final ROM packaging step kept failing.The most frustrating part was that the code itself was fine. The challenge was rebuilding the entire devkitpro system around it.After around 14 hours of debugging, something incredible happened.The build finally completed.I copied the ROM onto my DSi, launched it, and saw it load exactly like the original compiled version. No extra steps, no broken menus, no weird crashes. It was the exact moment where every tiny fix, every error message, and every hour of searching suddenly became worth it.Seeing old code from years ago come alive again on real hardware was an amazing feeling. This project reminded me why I love programming: sometimes the biggest victories come from solving problems nobody else sees.
today I spent a lot of time investigating the original YouTubeDS ROM to figure out what is missing and why my rebuilt version does not perfectly match the original.The good news: I was able to confirm that the ROM filesystem is not the issue. Using Tinke and ndstool, I extracted both the original ROM and my rebuilt ROM, then compared all of the files inside them. The fonts, keyboard assets, menus, logos, and other resources are identical.This means the problem is somewhere deeper: inside the compiled ARM9 binary.The original YouTubeDS ARM9 is around 447KB, while my rebuilt version is around 335KB. That missing size is not from assets or files — it is from the compiled code itself. Right now I do not know exactly what is different between the two builds, and without more information it is difficult to recreate the original binary.I have also been looking through the source code, build files, and compiler output to find possible causes, but the remaining possibilities are things like different compiler settings, missing build steps, or code that was present in Gericom’s original environment but is not available anymore.At this point, the biggest step forward is waiting for a response from Gericom. Since he created YouTubeDS originally, he may be able to provide information about the original build environment, missing files, or how the original ROM was produced.Until then, there is not much more I can safely change without risking moving further away from the original. The current goal is still to preserve YouTubeDS and make it usable again for InternetArchiveDS, since the original YouTube API it depended on shut down years ago.For now, the investigation continues — but we have narrowed the problem down from “the whole ROM is different” to “the compiled ARM9 does not match the original.”
ladies and gentlemen DO I HAVE A STORY TO TELL! i know, its been 20 days scince my last devlog… but ive made some uncomprehendable progress on the project. in these 7 hours, i have managed to get the proxy server to work with the archive, ive managed to get the dsi to not guru meditate, and actually connect to the wifi using the old wpa wifi protocol! that was the problem with the library im using, DSWIFI. the ersion of dswifi im using, is an old one, from 10 years ago. back befre the 2.0 update when they added calcio. back then dswifi didnt hav support for anything other that wpa, no wap, 1,2,3 nothing. after that, i actally managed to get working search results! i hosted the php proxy using msys bash, whatever works i guess, and the dsi is now recieving and transmitting requests and data through the proxy to the internetarchive. but my next bottleneck! back ten years ago, you tube was really weak, primitive, low quality. and even then, the dsi had do you every last rescource on te lowest data type, ITAG 7, to be able to run. but the project extracts RAW JSON METADATA, which as you know can be really bulky. so my next move will be to make a filter for my php server, to only show results under a certain size, so the json metadata will be processable.
as stardance begins to come to an end, the time crunch begins to get more serious. in these past 5 hours, i have gotten search to work perfectly, and ran into a guru meditation error, with some very strange hexadecimal values. for example the first 3 rows are all 00000000 and address and pc are both 00000030. things like r8 are ffffffff, and the stackdump is very unusual. there is a photo for you to see the stackdump for yourself. so far im still trying to get the vidfeo to play, i havent even started on the json parser yet! im using a pre- encoded video! anyway stay tuned to see if my 10 day holiday lock in will let me finish this project, and obtain the ultimate prize from the shop.
LADIES AND GENTLEMEN i am very happy to announce that, INTERNETARCHIVEDS IS ALMOST FINISHED!!!! in the previous devlog, i was facing a guru meditation error. i figured out that it was because i misspelt “ITCM” as “ITC” and therefore the whole video parser didnt load. one letter. i know. now, i have had about a thousand different issues with macroblock alignment, and finally figured out the issue- the AUDIO. i know, the audion has nothing to do with the video, but it ACTUALLY DOES! you see, the audio is loaded in before every frame… and the way gericom did it worked for itag7, but doesnt work for any other mpeg4 version. that audio placement, sets the macroblock back by one frame every time, corrupting the video. but now, i put a filter into the php server to only search for videos 20MiB and under, so that they play fast fast. now that the whole pull echo flush system works, all i need to do is remove the debug code, (it takes forever) change the ui, and picture for the top screen, and internetarchiveDS will be ready for you to use!!! if you have a ds of course. also i encoded a video to test on it, here it is for you guys to see!
Ships:
internetarchiveDS has been completed! i have changed the UI, made a 754 page long essay of a readME, and made a very detailed instruction manual of how to download and setup the program (it isnt plug and play) a suppose there isnt very much else to do now, i hope you have a nintendo DS! or you’ll have to download a video, as proof that it works. (sorry its big i tried to compress it)...
|
1793339547.7767837
|
1793425947.7767837
|
|
38798
|
a game for maxime by @yayabskt | Stardance
|
yayabskt
|
1
|
23.68
|
406
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T20:03:24Z", "hours": 23.0, "multiplier": 14.42, "payout": 406, "blessing": "neutral", "text": "i just remake an old game prototype and i make it better at first it was all for a friend brithday then i wanted to improve it !!! i’m proud because it was the first time i make a real game even if it’s not perfect. there one thing that i’m sad for is because i can’t carry on this project because of schools works ect and the problem in my country (france) so i upload all i can do. i hope you will enjoy !!! i put here a part of the github readme before you try playing: “ in the game you play a “maxime” it’s my friend hehehe the input are the arrow key or ZQSD if you have a turet “x” to deploy and click on it to improve if you have a grenade push “a” to throw it if you have a frezze power put “g” to deploy it “ have a good day and enjoy (be kind ) i hope you will apreciate the game <3", "repo": "https://github.com/ysxaybarroso-ux/game-for-a-friend-yaya", "demo": "https://ysxaybarroso-ux.github.io/game-for-a-friend-yaya/aniv%20maxime/static/html/index.html"}]...
|
[{"post_id": 78885, "ts": "202 [{"post_id": 78885, "ts": "2026-10-11T21:21:00Z", "hours": 0.6847, "text": "heyyyy this is the last dev log !!! ============================================================ i post this one because i wasn’t aware i need to go thought a vote for validation and then the vote so since last time i just add the back button for the last menu when you beat the intro and then andle the delete and create a run"}, {"post_id": 78151, "ts": "2026-10-09T19:52:36Z", "hours": 4.8989, "text": "##heyyy dev log 6?? i guess ? : i just work on debuging some problem with the old function that doesn’t take in parameter some of the player new variable for some upgrades and i finish by personnalize the game menu and make gradient slider + button and background of course not everything is in place but it take forms"}, {"post_id": 54480, "ts": "2026-08-25T14:30:06Z", "hours": 6.1694, "text": "dev log # 03 !!!! =============================================== i have finish the cinematic !!! i pass a long long time trying to understand how could i make the caracter by caracter animation and still hanfle me to put pause on the phrase or make the character change speed of talking between word so i finally make list of all the phrase and the word of the dialogue and put the in a list in the list to handle the time!!! ====================================================== btw i also put a redirection to another html page when the animation is finish because i don’t tell it but IT WAS ONLY THE INTRO OF THE GAME hehehehe now it redirect to the menu of the game with the start/new/select/setting/credit button and i already prepare the rest in html but i’m starting the css and js and then i will hide the different menu ================================================ p.s i’m making a quit personal story but all you have to know now is that the main character fall in a world and response bcs people attack him and then he kill a boss that tell i’m he’s free but the main character have to keep fighting ? what does that meen? who know? see next time!!!"}, {"post_id": 43951, "ts": "2026-08-09T12:24:58Z", "hours": 3.4106, "text": "heyyyy it been a long!!! dev log 2!! ========================================================= recently i have been working on the background chaniging depending the enemis to feel it more like a boss!!!! and i also work on adding a neww cinematic in the UNDERTALE style for now it’s quite messy but it will be allright : the cinematic will append when you kill the 2nd boss then you will discover the power of BUILDING THING and then you will have the power to fortify your place and now the game take a top new way now the next step is to make a level menu after this litle intro of 2 boss and a menu to choose level DIFFERENT LEVEL DIFFERENT PLACE TO DEFEND!!! and this will be the same gameplay but with building phase and a litle story !!!!"}, {"post_id": 33814, "ts": "2026-07-24T01:42:56Z", "hours": 8.9861, "text": "first dev log 01 #### today i’m starting this project ##### (in fact i started it a long time ago but i don’t make a project TT) today i’ve had 2 thing 1. ### a funny sound effect in the touret menue 1. if you ran out of money a french ref sound effect apear!2. ### i work on making a new boss 1. (the first one was making impulsion) the second one now shoot bullet##### i take a long time re-organazing the code to implemant the new boss as the function i’ve made wasn’t really optimize or create for future update so i try my best to make it clear**i also encounter a problem as when i try my player was losing hp every time !!!!** i fix it when i understand the function that calculate distance don’t update so the old distance where calculated, i was having negative distance in the terminal while debuging"}]...
|
Title: a game for maxime by @yayabskt | Stardance
Title: a game for maxime by @yayabskt | Stardance
Devlogs:
first dev log 01 #### today i’m starting this project ##### (in fact i started it a long time ago but i don’t make a project TT) today i’ve had 2 thing 1. ### a funny sound effect in the touret menue 1. if you ran out of money a french ref sound effect apear!2. ### i work on making a new boss 1. (the first one was making impulsion) the second one now shoot bullet##### i take a long time re-organazing the code to implemant the new boss as the function i’ve made wasn’t really optimize or create for future update so i try my best to make it clear**i also encounter a problem as when i try my player was losing hp every time !!!!** i fix it when i understand the function that calculate distance don’t update so the old distance where calculated, i was having negative distance in the terminal while debuging
heyyyy it been a long!!! dev log 2!! ========================================================= recently i have been working on the background chaniging depending the enemis to feel it more like a boss!!!! and i also work on adding a neww cinematic in the UNDERTALE style for now it’s quite messy but it will be allright : the cinematic will append when you kill the 2nd boss then you will discover the power of BUILDING THING and then you will have the power to fortify your place and now the game take a top new way now the next step is to make a level menu after this litle intro of 2 boss and a menu to choose level DIFFERENT LEVEL DIFFERENT PLACE TO DEFEND!!! and this will be the same gameplay but with building phase and a litle story !!!!
dev log # 03 !!!! =============================================== i have finish the cinematic !!! i pass a long long time trying to understand how could i make the caracter by caracter animation and still hanfle me to put pause on the phrase or make the character change speed of talking between word so i finally make list of all the phrase and the word of the dialogue and put the in a list in the list to handle the time!!! ====================================================== btw i also put a redirection to another html page when the animation is finish because i don’t tell it but IT WAS ONLY THE INTRO OF THE GAME hehehehe now it redirect to the menu of the game with the start/new/select/setting/credit button and i already prepare the rest in html but i’m starting the css and js and then i will hide the different menu ================================================ p.s i’m making a quit personal story but all you have to know now is that the main character fall in a world and response bcs people attack him and then he kill a boss that tell i’m he’s free but the main character have to keep fighting ? what does that meen? who know? see next time!!!
##heyyy dev log 6?? i guess ? : i just work on debuging some problem with the old function that doesn’t take in parameter some of the player new variable for some upgrades and i finish by personnalize the game menu and make gradient slider + button and background of course not everything is in place but it take forms
heyyyy this is the last dev log !!! ============================================================ i post this one because i wasn’t aware i need to go thought a vote for validation and then the vote so since last time i just add the back button for the last menu when you beat the intro and then andle the delete and create a run
Ships:
i just remake an old game prototype and i make it better at first it was all for a friend brithday then i wanted to improve it !!! i’m proud because it was the first time i make a real game even if it’s not perfect. there one thing that i’m sad for is because i can’t carry on this project because of schools works ect and the problem in my country (france) so i upload all i can do. i hope you will enjoy !!! i put here a part of the github readme before you try playing: “ in the game you play a “maxime” it’s my friend hehehe the input are the arrow key or ZQSD if you have a turet “x” to deploy and click on it to improve if you have a grenade push “a” to throw it if you have a frezze power put “g” to deploy it “ have a good day and enjoy (be kind ) i hope you will apreciate the game <3...
|
1793339542.145197
|
1793425942.145197
|
|
43430
|
Succend App by @Ashishdantinapalli | Stardance
|
Ashishdantinapalli
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T13:48:34Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have just started to make my landing site. I had used AI to make me an initial foundation, but I didn’t like a few of those components, so I decided to exchange that base code of my own code to make a landing site that appears more like a landing site for a good web application. As of right now none of the navbar links seem to work, but I’m as of right now coding them, so soon those links will start to work. If any of you are trying to test my landing site and try to login, it is probably not recommended as I don’t have a database or a backend yet, I have started with the frontend first. So once I’m done with my frontend, I will move onto my backend and database. The logo and the theme in the landing site, were by me, I spent a long time creating and deciding on a logo that would be ideal for me and my app Succend. But I’m still in the starting phases only, once I complete my web application which would be my MVP version, but later I will make a mobile version of it.", "repo": "https://github.com/ashishdantinapalli-star/succend-web", "demo": "https://succend-web.vercel.app/"}]...
|
[{"post_id": 78494, "ts": "202 [{"post_id": 78494, "ts": "2026-10-10T23:26:51Z", "hours": 4.9967, "text": "Succend Landing Site Welcome back to Succend. So basically last time I had used an AI generated base for building my landing site, so I don’t have to take too long to build everything from scratch. So as you can see here, I’ve successfully accomplished a few things like the background, and light and dark mode. I made a liquid-like background that has blobs that will slowly follow the mouse. I made this background to make the landing site look better, and overall more cool for a game-like app. I have also added a dark and light mode, so users that view my landing site can change the color to their liking. I did have a lot of errors, meaning at a point the liquid-background only worked on the header or the footer, or the cards in the other sections wouldn’t show up. I did use a little bit of AI to do some of the frontend, since I was a little confused about how I can make a proper flowlike background, and I also used it to debug anything I wasn’t sure how to. After this devpost, I will go back to coding, and add a few more features. I was actually designing the ranks that will appear on the leaderboard on the landing site, and I happen to decide on creating 42 entire ranks. So once I’m done designing at least 20 of those ranks, then I’ll proceed to recreate the leveling cards that appear on the homescreen, to better fit my app’s theme. Thank you for following along with my devpost!"}, {"post_id": 62965, "ts": "2026-09-06T15:12:03Z", "hours": 4.8697, "text": "I’m building my app called Succend. Succend is supposed to be a gamified experience where a user gets levels if they complete their everyday goals. I used a little bit of AI to build me a bit of the initial foundation for my web application so I can build my actual app on top of it. I used Typescript for the application code, React for building the UI. I had several errors that I came across while I was trying to make the navigation bar more animated, and to make it move while we scroll down the page. Working on such errors helped me understand how different components of the application interact better. The other links that can be seen on the navigation bar are as of now, not functioning yet, as I need to add components to each of those pages to make them functional. I believe in the next few days I’ll be able to make my entire landing site functional, and be able to get started on my actual web application where we sign up, and get an account, and make goals, where we can gain xp and levels."}]...
|
Title: Succend App by @Ashishdantinapalli | Starda Title: Succend App by @Ashishdantinapalli | Stardance
Devlogs:
I’m building my app called Succend. Succend is supposed to be a gamified experience where a user gets levels if they complete their everyday goals. I used a little bit of AI to build me a bit of the initial foundation for my web application so I can build my actual app on top of it. I used Typescript for the application code, React for building the UI. I had several errors that I came across while I was trying to make the navigation bar more animated, and to make it move while we scroll down the page. Working on such errors helped me understand how different components of the application interact better. The other links that can be seen on the navigation bar are as of now, not functioning yet, as I need to add components to each of those pages to make them functional. I believe in the next few days I’ll be able to make my entire landing site functional, and be able to get started on my actual web application where we sign up, and get an account, and make goals, where we can gain xp and levels.
Succend Landing Site Welcome back to Succend. So basically last time I had used an AI generated base for building my landing site, so I don’t have to take too long to build everything from scratch. So as you can see here, I’ve successfully accomplished a few things like the background, and light and dark mode. I made a liquid-like background that has blobs that will slowly follow the mouse. I made this background to make the landing site look better, and overall more cool for a game-like app. I have also added a dark and light mode, so users that view my landing site can change the color to their liking. I did have a lot of errors, meaning at a point the liquid-background only worked on the header or the footer, or the cards in the other sections wouldn’t show up. I did use a little bit of AI to do some of the frontend, since I was a little confused about how I can make a proper flowlike background, and I also used it to debug anything I wasn’t sure how to. After this devpost, I will go back to coding, and add a few more features. I was actually designing the ranks that will appear on the leaderboard on the landing site, and I happen to decide on creating 42 entire ranks. So once I’m done designing at least 20 of those ranks, then I’ll proceed to recreate the leveling cards that appear on the homescreen, to better fit my app’s theme. Thank you for following along with my devpost!
Ships:
I have just started to make my landing site. I had used AI to make me an initial foundation, but I didn’t like a few of those components, so I decided to exchange that base code of my own code to make a landing site that appears more like a landing site for a good web application. As of right now none of the navbar links seem to work, but I’m as of right now coding them, so soon those links will start to work. If any of you are trying to test my landing site and try to login, it is probably not recommended as I don’t have a database or a backend yet, I have started with the frontend first. So once I’m done with my frontend, I will move onto my backend and database. The logo and the theme in the landing site, were by me, I spent a long time creating and deciding on a logo that would be ideal for me and my app Succend. But I’m still in the starting phases only, once I complete my web application which would be my MVP version, but later I will make a mobile version of it....
|
1793339537.18924
|
1793425937.18924
|
|
48284
|
My own site! by @iam4tharv | Stardance
|
iam4tharv
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T06:52:40Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made my personal wesite using matrial 3 ui which is great and i have added dark mode light mode and i have used code rabbit for code quality and i have made it to have my project website listed too!!!", "repo": "https://github.com/iam4tharv/My-site", "demo": "https://iam4tharv.cyou"}]...
|
[{"post_id": 77768, "ts": "202 [{"post_id": 77768, "ts": "2026-10-08T06:35:01Z", "hours": 0.4603, "text": "Its my own personal website built with matrial 3 ui !!!!"}]...
|
Title: My own site! by @iam4tharv | Stardance
Dev Title: My own site! by @iam4tharv | Stardance
Devlogs:
Its my own personal website built with matrial 3 ui !!!!
Ships:
I have made my personal wesite using matrial 3 ui which is great and i have added dark mode light mode and i have used code rabbit for code quality and i have made it to have my project website listed too!!!...
|
1793339530.254877
|
1793425930.254877
|
|
48279
|
Hackpad by @silvonik | Stardance
|
silvonik
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T10:36:06Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a macropad and I use it for shortcuts like instead of pressing Ctrl C to copy I just press the 2nd button on my macropad to copy! I enjoyed building the macropad after getting all the parts, I wasn’t really good at soldering but now Im so much better after finishing the macropad!", "repo": "https://github.com/Silvonik/Hackpad", "demo": ""}]...
|
[{"post_id": 76685, "ts": "202 [{"post_id": 76685, "ts": "2026-10-04T10:32:20Z", "hours": 1.4117, "text": "#Devlog 3: Got all the parts shipped and I just assembled everything. I enjoyed soldering the parts onto the PCB!"}, {"post_id": 48221, "ts": "2026-08-16T15:04:04Z", "hours": 0.5719, "text": "#Devlog 2. Made the firmware pretty confusing on where to start but i got throught"}, {"post_id": 47750, "ts": "2026-08-15T21:43:46Z", "hours": 4.2642, "text": "#Devlog: 1. I made the Schematic, PCB, and Case for my Hackpad today, it was very hard because everything was new to me and i didnt know how to use them but i figured it out after very long periods of time."}]...
|
Title: Hackpad by @silvonik | Stardance
Devlogs:
Title: Hackpad by @silvonik | Stardance
Devlogs:
#Devlog: 1. I made the Schematic, PCB, and Case for my Hackpad today, it was very hard because everything was new to me and i didnt know how to use them but i figured it out after very long periods of time.
#Devlog 2. Made the firmware pretty confusing on where to start but i got throught
#Devlog 3: Got all the parts shipped and I just assembled everything. I enjoyed soldering the parts onto the PCB!
Ships:
I made a macropad and I use it for shortcuts like instead of pressing Ctrl C to copy I just press the 2nd button on my macropad to copy! I enjoyed building the macropad after getting all the parts, I wasn’t really good at soldering but now Im so much better after finishing the macropad!...
|
1793339525.3538635
|
1793425925.3538635
|
|
33259
|
Reinforcement Learning Camera Preset Generator by Reinforcement Learning Camera Preset Generator by @jdszekeres | Stardance...
|
jdszekeres
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T20:46:13Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a reinforcement Machine Learning model that finds out what photo editing settings best replicate a filter. Photographers: Have you ever seen someone post an amazing before and after photo, but you have no idea what settings they used? Have no fear, just run this program overnight with the photos and find out what settings those gatekeepers used. How to try it: If you don’t want to train a model overnight, you can download cli.exe from releases to try it out with a model I trained on my yellow-tinted sunglasses. If you do want to train a model, gather before/after photos and follow the detailed instructions in the readme.", "repo": "https://github.com/jdszekeres/camera-filter-reinforcment-learning", "demo": "https://github.com/jdszekeres/camera-filter-reinforcment-learning/releases"}]...
|
[{"post_id": 72826, "ts": "202 [{"post_id": 72826, "ts": "2026-09-23T20:24:16Z", "hours": 0.7181, "text": "I fixed the video demo to show in a reasonable amount of time and built a demo cli with the sunglasses filter as an exe."}, {"post_id": 71602, "ts": "2026-09-21T04:13:54Z", "hours": 1.0219, "text": "I built a program that makes a cool animation to show before and after the filter"}, {"post_id": 70821, "ts": "2026-09-19T20:28:52Z", "hours": 2.5133, "text": "A good model run testing with 28 photos with my sunglasses as the filter: it’s finally scoring well ~88% and actually looks like it should. I’ve also worked on a cli tool to work with the ml_model output to apply filters, view histograms, list settings, and score models"}, {"post_id": 68908, "ts": "2026-09-16T00:57:47Z", "hours": 1.4067, "text": "first full model training and it went TERRIBLE. My scoring was based on the histogram for the image, so color is not preserved . These photos have very similar average light values. I’m going to rerun the model with a new scoring algorithm that scores each color channel individually."}, {"post_id": 29536, "ts": "2026-07-16T15:05:30Z", "hours": 0.3864, "text": "Test model done on basic settings (Averaging around 92% accuracy, which is good, but it did it in a completely different way) Next I’m going to train it on a more complex filter"}, {"post_id": 28903, "ts": "2026-07-15T14:38:59Z", "hours": 16.2756, "text": "I’m working on a reinforcement learning photo model that can determine what post-processing settings can be used to make an image look like certain filters (infrared filters, sunglasses, etc) Right now my biggest bottleneck is waiting for training. This test on a simple setting took over 16 hours to train. I am also not very familiar with RL, so I’m learning as I go."}]...
|
Title: Reinforcement Learning Camera Preset Genera Title: Reinforcement Learning Camera Preset Generator by @jdszekeres | Stardance
Devlogs:
I’m working on a reinforcement learning photo model that can determine what post-processing settings can be used to make an image look like certain filters (infrared filters, sunglasses, etc) Right now my biggest bottleneck is waiting for training. This test on a simple setting took over 16 hours to train. I am also not very familiar with RL, so I’m learning as I go.
Test model done on basic settings (Averaging around 92% accuracy, which is good, but it did it in a completely different way) Next I’m going to train it on a more complex filter
first full model training and it went TERRIBLE. My scoring was based on the histogram for the image, so color is not preserved . These photos have very similar average light values. I’m going to rerun the model with a new scoring algorithm that scores each color channel individually.
A good model run testing with 28 photos with my sunglasses as the filter: it’s finally scoring well ~88% and actually looks like it should. I’ve also worked on a cli tool to work with the ml_model output to apply filters, view histograms, list settings, and score models
I built a program that makes a cool animation to show before and after the filter
I fixed the video demo to show in a reasonable amount of time and built a demo cli with the sunglasses filter as an exe.
Ships:
I built a reinforcement Machine Learning model that finds out what photo editing settings best replicate a filter. Photographers: Have you ever seen someone post an amazing before and after photo, but you have no idea what settings they used? Have no fear, just run this program overnight with the photos and find out what settings those gatekeepers used. How to try it: If you don’t want to train a model overnight, you can download cli.exe from releases to try it out with a model I trained on my yellow-tinted sunglasses. If you do want to train a model, gather before/after photos and follow the detailed instructions in the readme....
|
1793339522.3290257
|
1793425922.3290257
|
|
48213
|
Level Up by @Lalith | Stardance
|
Lalith
|
5
|
78.0
|
654
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T14:07:22Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It was a w working with Stardance, thanks!", "repo": "https://github.com/Hustlenix/LevelUp", "demo": "https://hustlenix.github.io/LevelUp/"}, {"ship_num": 2, "ts": "2026-10-20T05:23:19Z", "hours": 9.0, "multiplier": 12.16, "payout": 112, "blessing": "neutral", "text": "Shipped LevelUp! It started as a way to make a long self-development video easier to read. Now it has 28 chapters, practical plans, habits, focus timers, and a daily mission system. You can save an idea from a chapter and actually try it instead of forgetting it five minutes later. Milo is the little companion that reacts to your reading and focus activity. Everything important works locally, without an account or trackers. There’s also an offline progress system called Nexus, which handles changes across tabs and lets you move progress using encrypted files. This update mostly brought the different parts together. I fixed mobile layouts, added larger text and a quick tutorial, and made backups include the newer features. Cloud chat still needs work, and the app could be simpler, but the full version is live now. Try it: https://hustlenix.github.io/LevelUp/", "repo": "https://github.com/Hustlenix/LevelUp", "demo": "https://hustlenix.github.io/LevelUp/"}, {"ship_num": 3, "ts": "2026-09-30T12:09:06Z", "hours": 11.0, "multiplier": 9.76, "payout": 103, "blessing": "neutral", "text": "This is my final ship for Level Up. Level Up originally started as a simple idea: turn a 20-hour self-improvement video into something I could actually read, search, understand, and use. It started as basically a local-first book. Over time I kept asking the same question: “How do I make this useful after someone finishes reading?” So I kept rebuilding it. Now Level Up is much closer to a complete self-improvement app. The main experience is built around Today — you open the app, see what you are working toward, get a clear next action, start a focus/study session, and track your progress instead of just consuming more content. I also added Goals, Progress, Study Mode, a daily planner, tutor/coach tools, local AI through Ollama, chapter search, quizzes, streaks, highlights, backups, restore, and a much more consistent UI across the app. The hardest part was making all of this work while keeping the original idea of Level Up: no account required, no cloud database, and your personal progress stays on your device. I had to rebuild a lot of the local state system, handle migrations and corrupted data, improve backup/restore, and make sure the app still works properly offline or without local AI installed. The thing I’m most proud of is that it no longer feels like a book with random features added around it. It finally feels like one connected product. If you test it, don’t just click around. Actually use it: Create a goal Open Today and follow the next action Start a focus/study session Read or study a chapter Check your Progress Refresh/reopen the app and see your data persist There are definitely things I could keep polishing forever, but I don’t want this project to become an endless cycle of “one more redesign.” This is the version I’m calling finished. Try it: https://hustlenix.github.io/LevelUp/ Source: https://github.com/Hustlenix/LevelUp Thanks to everyone who tested it, gave feedback, or followed the devlogs while this went from a small reading website into this. LEVEL UP. 🚀", "repo": "https://github.com/Hustlenix/LevelUp", "demo": "https://hustlenix.github.io/LevelUp/"}, {"ship_num": 4, "ts": "2026-09-20T07:44:58Z", "hours": 18.0, "multiplier": 8.6, "payout": 153, "blessing": "neutral", "text": "I upgraded my MVP called Level Up: transforming a local-first self-development book into a full-featured, Today-first operating system—still running 100% in your browser. The Motivation While Ship #1 proved that a 20-hour video transcript could become a searchable, evidence-graded web book, the feedback was clear: the UI/UX felt fragmented. Having deep individual features wasn’t enough if the home experience didn’t tell you what to do right now. I set out to redesign Level Up from a passive reading interface into an actionable personal operating system. What’s New: The Today-First OS & Local AI Instead of a crowded home screen, the app now centers on a streamlined /today/ hub that answers one core question: “What should I do next?” Today Shell Navigation: Simplified navigation down to Today, Learn, Goals, Progress, and More, placing your current focus front and center. On-Device Study Workspace: Integrated a dedicated Study Mode featuring an automated Daily Planner, a Local Coach, and an interactive Tutor mode to explain or practice any of the 28 chapters. Smart Local AI Integration: Added support for local LLMs via Ollama with full offline fallback, letting you generate study plans and ask questions without leaking private data to external servers. How We Upgraded It Typed Local State Boundary: Replaced fragmented localStorage usage with a single, typed local repository boundary managed via pure TypeScript modules and useSyncExternalStore. Data Diagnostics & Migrations: Hardened JSON schema validation, improved backup/restore transaction handling, and added local data health checks to ensure offline state never gets corrupted. UI/UX Consistency System: Standardized spacing, card hierarchies, buttons, forms, and empty states across all routes so every tool feels like part of a unified product. Into the Trenches (Challenges & Learnings) The Monolith vs. Workspaces Tradeoff: Moving from a multi-tool dashboard to a focused Today-first layout meant rethinking information architecture. We hid creation forms behind empty states and compressed secondary features like inbox items into compact panels to avoid visual clutter. Local AI Fallbacks: Integrating Ollama required explicit status checks and graceful local degradation so non-technical users or fully offline environments still get a clean UI without broken promises. What I’m Proud Of Coherent OS Feel: Level Up no longer feels like separate utilities tacked together; it operates as one smooth, self-contained habit driver. Privacy Preserved: Despite adding AI study tools and custom daily planners, everything remains zero-tracking, zero-backend, and fully functional on-device. Try it out: Live site: https://hustlenix.github.io/LevelUp/ Source code: https://github.com/Hustlenix/LevelUp Tech Stack: Next.js 16, Tailwind v4, TypeScript, node:sqlite, MiniSearch, Ollama / On-Device Local State, GitHub Pages", "repo": "https://github.com/Hustlenix/LevelUp", "demo": "https://hustlenix.github.io/LevelUp/"}, {"ship_num": 5, "ts": "2026-09-11T17:51:26Z", "hours": 40.0, "multiplier": 16.67, "payout": 286, "blessing": "neutral", "text": "I built a free MVP called Level Up : a 28-chapter self-development book built from a 20-hour video transcript, running entirely in your browser. The Motivation It started with a simple question: What if you could turn a 20-hour self-dev video into something you could actually read, search, and verify? Most online self-development content exists to sell courses, not to present evidence. I wanted something honest. So, I built a real book where every notable claim is graded against cited research. What It Is: Zero Tracking, 100% Local The result is roughly 32k words across four pillars, a 30-claim evidence audit (graded A–D/U), 13 testable protocols, and full-text search. The best part? Zero tracking. No accounts, no APIs, no cookies. Your reading progress, streaks, highlights, themes, and quiz scores live entirely in your browser’s localStorage . Nothing leaves your machine. How We Built It The original video transcript was ~20k lines. We tag-teamed Claude, Gemini, and Opencode to compress it. From there, we built the site in layers: The Content Pipeline: scripts/build-data.mjs compiles Markdown chapters into SQLite using node:sqlite , then emits JSON data and a 30KB MiniSearch index. The Frontend: Next.js 16 static export and Tailwind v4. We used useSyncExternalStore for reactive local state via pure TypeScript modules. The Deploy: Automated via GitHub Actions straight to GitHub Pages. Into the Trenches (Challenges & Learnings) The CI Spiral: We added a React 19 QuoteCard. It built flawlessly locally (22/22 tests green), but failed eight consecutive GitHub Actions runs with a phantom TS error. It wasn’t a code bug; it was an environment disagreement. Lesson: Sometimes a feature just isn’t ready. We deleted it rather than fighting the environment or shipping it broken. Turbopack’s Quiet Types: The dev server uses Turbopack, which skips full type-checking for speed. We shipped a PR that built locally but failed in CI. Lesson: Always run tsc locally, or CI will aggressively remind you of the difference between “builds” and “types.” Case Sensitivity: GitHub Pages serves paths case-sensitively. NEXT_PUBLIC_BASE_PATH=/LevelUp is fundamentally different from /levelup . We learned this the hard way. What I’m Proud Of Honest Grading: No invented citations. If a famous “5x flow” stat is folklore, the site tells you so. Backend-less Magic: Search, quizzes, highlights, streaks, and schema-validated JSON backup/restore—all completely offline-capable. The Architecture: The data layer isn’t just a pile of JSON; it’s a statically served, compiled artifact from Markdown. Try it out: Live site: https://hustlenix.github.io/LevelUp/ Source code: https://github.com/Hustlenix/LevelUp Tech Stack: Next.js 16, Tailwind v4, node:sqlite, MiniSearch, GitHub Pages", "repo": "https://github.com/Hustlenix/LevelUp", "demo": "https://hustlenix.github.io/LevelUp/"}]...
|
[{"post_id": 84335, "ts": "202 [{"post_id": 84335, "ts": "2026-10-29T14:06:51Z", "hours": 0.4942, "text": "It was a w working with Stardance, thanks!"}, {"post_id": 81165, "ts": "2026-10-20T05:15:28Z", "hours": 9.1767, "text": "Finishing touches, i think this is coming to and end, so i lokced in in these 10 hours and did some major changes, like used HCB APi key and give MILO an life so it can interact with you guys, and bumped up the UI/UX to and next level and: Milo Talk with offline guidance and explicit approval before saving suggested actions. Replayable walkthrough and app-wide text sizing up to 150%. Distinct Deep Work/Cyberpunk themes; preserved Light/Dark. Install guidance, offline support, refreshed screenshots, and technical documentation. Fixed Settings headings and Deep Work contrast. As per your reviews and real time feedback, thank you guys!"}, {"post_id": 75526, "ts": "2026-09-30T11:33:39Z", "hours": 8.6486, "text": "I tried making this the final boss of Self Improvement APP, i think i am finally over, longin and start LEVELING UPPP!!!!!!!!!!!"}, {"post_id": 72287, "ts": "2026-09-22T16:18:34Z", "hours": 1.9244, "text": "I think there is nothing to be upgraded in this, all i have to do now is add subscryptions and make money!!!!!!!!!!!!"}, {"post_id": 71049, "ts": "2026-09-20T07:44:31Z", "hours": 0.8897, "text": "I upgraded my MVP called Level Up: transforming a local-first self-development book into a full-featured, Today-first operating system—still running 100% in your browser.The Motivation While Ship #1 proved that a 20-hour video transcript could become a searchable, evidence-graded web book, the feedback was clear: the UI/UX felt fragmented. Having deep individual features wasn’t enough if the home experience didn’t tell you what to do right now. I set out to redesign Level Up from a passive reading interface into an actionable personal operating system.What’s New: The Today-First OS & Local AI Instead of a crowded home screen, the app now centers on a streamlined /today/ hub that answers one core question: “What should I do next?”Today Shell Navigation: Simplified navigation down to Today, Learn, Goals, Progress, and More, placing your current focus front and center.On-Device Study Workspace: Integrated a dedicated Study Mode featuring an automated Daily Planner, a Local Coach, and an interactive Tutor mode to explain or practice any of the 28 chapters.Smart Local AI Integration: Added support for local LLMs via Ollama with full offline fallback, letting you generate study plans and ask questions without leaking private data to external servers.How We Upgraded ItTyped Local State Boundary: Replaced fragmented localStorage usage with a single, typed local repository boundary managed via pure TypeScript modules and useSyncExternalStore.Data Diagnostics & Migrations: Hardened JSON schema validation, improved backup/restore transaction handling, and added local data health checks to ensure offline state never gets corrupted.UI/UX Consistency System: Standardized spacing, card hierarchies, buttons, forms, and empty states across all routes so every tool feels like part of a unified product.Into the Trenches (Challenges & Learnings)The Monolith vs. Workspaces Tradeoff: Moving from a multi-tool dashboard to a focused Today-first layout meant rethinking information architecture. We hid creation forms behind empty states and compressed secondary features like inbox items into compact panels to avoid visual clutter.Local AI Fallbacks: Integrating Ollama required explicit status checks and graceful local degradation so non-technical users or fully offline environments still get a clean UI without broken promises.What I’m Proud OfCoherent OS Feel: Level Up no longer feels like separate utilities tacked together; it operates as one smooth, self-contained habit driver.Privacy Preserved: Despite adding AI study tools and custom daily planners, everything remains zero-tracking, zero-backend, and fully functional on-device.Try it out:Live site: https://hustlenix.github.io/LevelUp/Source code: https://github.com/Hustlenix/LevelUpTech Stack: Next.js 16, Tailwind v4, TypeScript, node:sqlite, MiniSearch, Ollama / On-Device Local State, GitHub Pages"}, {"post_id": 70978, "ts": "2026-09-20T04:38:42Z", "hours": 5.0881, "text": "Till now for my app i have like genrated the overall Backend and front end, but the frontend UI/UX is kinda mid. so i am thinking of improving it and opt for te second ship. In UI/UX i am thinking of doind this: 1. Today-first operating system shell — recommended Make /today/ the clear home of the product. Changes: Simplify navigation to: Today Learn Goals Progress More Make Today answer one question: “What should I do next?” Replace the long stacked Today page with a priority layout: Current goal One next action Start session Progress signal Recovery option Move goal creation into a focused onboarding/empty state instead of displaying a large form immediately. Turn Inbox, patterns, and reminders into compact secondary sections. Keep Goals, Focus, Review, Portfolio, and Roadmap as deep workspaces. Apply the same card, spacing, button, form, and empty-state system across all routes. Keep the existing editorial chapter experience intact. Backend/local-state work: Add a single typed local repository boundary. Harden localStorage validation and migrations. Improve backup/restore transaction handling. Make Ollama status and fallback behavior clearer. Add local data health diagnostics. Preserve offline use. Tradeoff: largest visible improvement, but touches navigation and the main execution surfaces. Editorial workspace polish Keep the existing navigation and route structure, but improve every page individually. Changes: Refine each page’s spacing and hierarchy. Upgrade cards, forms, progress indicators, and empty states. Add shared page headers and breadcrumbs. Improve mobile behavior without changing information architecture. Backend/local-state work remains the same. Tradeoff: lowest risk, but the product may still feel like multiple separate tools rather than one coherent operating system. Dashboard-centric command center Make /dashboard/ the main product and move most functionality into a dense professional workspace. Changes: Dashboard becomes a multi-panel command center. Today, Goals, Focus, Review, and Progress become dashboard tabs or panels. More information is visible at once. Strong for desktop power users. Tradeoff: efficient for experienced users but heavier, more complex, and less approachable on mobile."}, {"post_id": 70451, "ts": "2026-09-19T07:02:36Z", "hours": 8.2389, "text": "I thought to keep this as a normal book website for a 20 hr video, until i didnt i wanted to somehow plan to make money out of this, so I am not planning to improve this to a full App and Add pricing and make money out of it. The app is gonna be about implementing the things for the 20 hr video effectively in my website for a lil $. For now everyone can try it our for free on https://hustlenix.github.io/LevelUp"}, {"post_id": 68897, "ts": "2026-09-16T00:04:43Z", "hours": 1.1653, "text": "Me corrently using my own app to study and finish my home work🤣🤣. Youto use it on https://hustlenix.github.io/LevelUp/ for free"}, {"post_id": 67964, "ts": "2026-09-14T09:11:00Z", "hours": 2.6825, "text": "Instead of making this website feel like a simple website like a book, i am on a mission to make this website a full stack website for self improvement and i am thinking of adding paywall and make some money, but stripe isnt working from INDIA someone please help. STAY HARD!!!!!!!!!!!!!!!"}, {"post_id": 66090, "ts": "2026-09-11T17:47:02Z", "hours": 13.0997, "text": "I built a free MVP called Level Up: a 28-chapter self-development book built from a 20-hour video transcript, running entirely in your browser.The Motivation It started with a simple question: What if you could turn a 20-hour self-dev video into something you could actually read, search, and verify? Most online self-development content exists to sell courses, not to present evidence. I wanted something honest. So, I built a real book where every notable claim is graded against cited research.What It Is: Zero Tracking, 100% Local The result is roughly 32k words across four pillars, a 30-claim evidence audit (graded A–D/U), 13 testable protocols, and full-text search.The best part? Zero tracking. No accounts, no APIs, no cookies. Your reading progress, streaks, highlights, themes, and quiz scores live entirely in your browser’s localStorage. Nothing leaves your machine.How We Built It The original video transcript was ~20k lines. We tag-teamed Claude, Gemini, and Opencode to compress it. From there, we built the site in layers:The Content Pipeline: scripts/build-data.mjs compiles Markdown chapters into SQLite using node:sqlite, then emits JSON data and a 30KB MiniSearch index.The Frontend: Next.js 16 static export and Tailwind v4. We used useSyncExternalStore for reactive local state via pure TypeScript modules.The Deploy: Automated via GitHub Actions straight to GitHub Pages.Into the Trenches (Challenges & Learnings)The CI Spiral: We added a React 19 QuoteCard. It built flawlessly locally (22/22 tests green), but failed eight consecutive GitHub Actions runs with a phantom TS error. It wasn’t a code bug; it was an environment disagreement. Lesson: Sometimes a feature just isn’t ready. We deleted it rather than fighting the environment or shipping it broken.Turbopack’s Quiet Types: The dev server uses Turbopack, which skips full type-checking for speed. We shipped a PR that built locally but failed in CI. Lesson: Always run tsc locally, or CI will aggressively remind you of the difference between “builds” and “types.“Case Sensitivity: GitHub Pages serves paths case-sensitively. NEXT_PUBLIC_BASE_PATH=/LevelUp is fundamentally different from /levelup. We learned this the hard way.What I’m Proud OfHonest Grading: No invented citations. If a famous “5x flow” stat is folklore, the site tells you so.Backend-less Magic: Search, quizzes, highlights, streaks, and schema-validated JSON backup/restore—all completely offline-capable.The Architecture: The data layer isn’t just a pile of JSON; it’s a statically served, compiled artifact from Markdown.Try it out:Live site: https://hustlenix.github.io/LevelUp/Source code: https://github.com/Hustlenix/LevelUpTech Stack: Next.js 16, Tailwind v4, node:sqlite, MiniSearch, GitHub Pages"}, {"post_id": 50297, "ts": "2026-08-19T13:37:53Z", "hours": 12.4239, "text": "So called Devlog, 3 The agenda today is to simplify the home page. I paid attention to it for 8 hours and ended up with two fewer things on screen than when I started lol😅✌🏻. After removing the large hero box and changing the chapter list to an accordion, the homepage appeared empty. I created a big wishlists of items to add: heatmaps, quote-generators, streak-trackers, quiz-cards, XP-counters, etc. Everything was built local-first on Next.js 16 (static export on GitHub Pages) using localStorage keys like levelup-streak-v1 no tracking or backend APIs. I constructed a QuoteCard component to retrieve data from /data/quotes.json. All 22 tests passed on my machine, but for some reason, GitHub Actions fails a phantom TS7006 type error 8+ times in a row because of that one CI error. I kept spamming commit messages like “force CI re-run”, “force CI re-re-re-run, and this time ts-ignore…”. It turned out to be a weird CI environment mismatch that ate half my day. I discarded the quote card to avoid clutter. In what was shipped was a simple PrivacyBadge (“100% Private · On-Device Storage Only”) along with a ThemeTimeShift script that alters the –hue CSS variable based off your clock. Next thing we must do is transition smoothly into the chapter! Stay techulated or smtg. STAY HARD GNG!"}, {"post_id": 47521, "ts": "2026-08-15T14:15:55Z", "hours": 0.4181, "text": "Finished writing the git hub repo, and used AI to organise the words cause it was full of gramatical mistakes and stuff. I am ready to ship this project GNG, what did I miss, please check this out and give some valid review please."}, {"post_id": 47501, "ts": "2026-08-15T13:29:22Z", "hours": 13.9158, "text": "This is my trust worthy, non tracked website for leveling up in your life but somehow works without any login or stuff, the tracking just works, inspired by this 20 hour video: https://www.youtube.com/watch?v=wvaY5bG5p7A&t=65s which is totally worth it. To build this I started by getting the transcript for making this website, and with that 20k lines transcript I pasted it into claude to compact this, and it ran out of tokens, and i tried gemini too sadly it too ran out of tokens, and lastly I tried Opencode few time and it finally gave me the summary for this and after few hours i finished the website and pushed the code to git hub, branched it real good, and finally build and in actions started a build and deploy workflow and got this running. STAY HARD GNG!!!!!!!!"}]...
|
Title: Level Up by @Lalith | Stardance
Devlogs:
T Title: Level Up by @Lalith | Stardance
Devlogs:
This is my trust worthy, non tracked website for leveling up in your life but somehow works without any login or stuff, the tracking just works, inspired by this 20 hour video: https://www.youtube.com/watch?v=wvaY5bG5p7A&t=65s which is totally worth it. To build this I started by getting the transcript for making this website, and with that 20k lines transcript I pasted it into claude to compact this, and it ran out of tokens, and i tried gemini too sadly it too ran out of tokens, and lastly I tried Opencode few time and it finally gave me the summary for this and after few hours i finished the website and pushed the code to git hub, branched it real good, and finally build and in actions started a build and deploy workflow and got this running. STAY HARD GNG!!!!!!!!
Finished writing the git hub repo, and used AI to organise the words cause it was full of gramatical mistakes and stuff. I am ready to ship this project GNG, what did I miss, please check this out and give some valid review please.
So called Devlog, 3 The agenda today is to simplify the home page. I paid attention to it for 8 hours and ended up with two fewer things on screen than when I started lol😅✌🏻. After removing the large hero box and changing the chapter list to an accordion, the homepage appeared empty. I created a big wishlists of items to add: heatmaps, quote-generators, streak-trackers, quiz-cards, XP-counters, etc. Everything was built local-first on Next.js 16 (static export on GitHub Pages) using localStorage keys like levelup-streak-v1 no tracking or backend APIs. I constructed a QuoteCard component to retrieve data from /data/quotes.json. All 22 tests passed on my machine, but for some reason, GitHub Actions fails a phantom TS7006 type error 8+ times in a row because of that one CI error. I kept spamming commit messages like “force CI re-run”, “force CI re-re-re-run, and this time ts-ignore…”. It turned out to be a weird CI environment mismatch that ate half my day. I discarded the quote card to avoid clutter. In what was shipped was a simple PrivacyBadge (“100% Private · On-Device Storage Only”) along with a ThemeTimeShift script that alters the –hue CSS variable based off your clock. Next thing we must do is transition smoothly into the chapter! Stay techulated or smtg. STAY HARD GNG!
I built a free MVP called Level Up: a 28-chapter self-development book built from a 20-hour video transcript, running entirely in your browser.The Motivation It started with a simple question: What if you could turn a 20-hour self-dev video into something you could actually read, search, and verify? Most online self-development content exists to sell courses, not to present evidence. I wanted something honest. So, I built a real book where every notable claim is graded against cited research.What It Is: Zero Tracking, 100% Local The result is roughly 32k words across four pillars, a 30-claim evidence audit (graded A–D/U), 13 testable protocols, and full-text search.The best part? Zero tracking. No accounts, no APIs, no cookies. Your reading progress, streaks, highlights, themes, and quiz scores live entirely in your browser’s localStorage. Nothing leaves your machine.How We Built It The original video transcript was ~20k lines. We tag-teamed Claude, Gemini, and Opencode to compress it. From there, we built the site in layers:The Content Pipeline: scripts/build-data.mjs compiles Markdown chapters into SQLite using node:sqlite, then emits JSON data and a 30KB MiniSearch index.The Frontend: Next.js 16 static export and Tailwind v4. We used useSyncExternalStore for reactive local state via pure TypeScript modules.The Deploy: Automated via GitHub Actions straight to GitHub Pages.Into the Trenches (Challenges & Learnings)The CI Spiral: We added a React 19 QuoteCard. It built flawlessly locally (22/22 tests green), but failed eight consecutive GitHub Actions runs with a phantom TS error. It wasn’t a code bug; it was an environment disagreement. Lesson: Sometimes a feature just isn’t ready. We deleted it rather than fighting the environment or shipping it broken.Turbopack’s Quiet Types: The dev server uses Turbopack, which skips full type-checking for speed. We shipped a PR that built locally but failed in CI. Lesson: Always run tsc locally, or CI will aggressively remind you of the difference between “builds” and “types.“Case Sensitivity: GitHub Pages serves paths case-sensitively. NEXT_PUBLIC_BASE_PATH=/LevelUp is fundamentally different from /levelup. We learned this the hard way.What I’m Proud OfHonest Grading: No invented citations. If a famous “5x flow” stat is folklore, the site tells you so.Backend-less Magic: Search, quizzes, highlights, streaks, and schema-validated JSON backup/restore—all completely offline-capable.The Architecture: The data layer isn’t just a pile of JSON; it’s a statically served, compiled artifact from Markdown.Try it out:Live site: https://hustlenix.github.io/LevelUp/Source code: https://github.com/Hustlenix/LevelUpTech Stack: Next.js 16, Tailwind v4, node:sqlite, MiniSearch, GitHub Pages
Instead of making this website feel like a simple website like a book, i am on a mission to make this website a full stack website for self improvement and i am thinking of adding paywall and make some money, but stripe isnt working from INDIA someone please help. STAY HARD!!!!!!!!!!!!!!!
Me corrently using my own app to study and finish my home work🤣🤣. Youto use it on https://hustlenix.github.io/LevelUp/ for free
I thought to keep this as a normal book website for a 20 hr video, until i didnt i wanted to somehow plan to make money out of this, so I am not planning to improve this to a full App and Add pricing and make money out of it. The app is gonna be about implementing the things for the 20 hr video effectively in my website for a lil $. For now everyone can try it our for free on https://hustlenix.github.io/LevelUp
Till now for my app i have like genrated the overall Backend and front end, but the frontend UI/UX is kinda mid. so i am thinking of improving it and opt for te second ship. In UI/UX i am thinking of doind this: 1. Today-first operating system shell — recommended Make /today/ the clear home of the product. Changes: Simplify navigation to: Today Learn Goals Progress More Make Today answer one question: “What should I do next?” Replace the long stacked Today page with a priority layout: Current goal One next action Start session Progress signal Recovery option Move goal creation into a focused onboarding/empty state instead of displaying a large form immediately. Turn Inbox, patterns, and reminders into compact secondary sections. Keep Goals, Focus, Review, Portfolio, and Roadmap as deep workspaces. Apply the same card, spacing, button, form, and empty-state system across all routes. Keep the existing editorial chapter experience intact. Backend/local-state work: Add a single typed local repository boundary. Harden localStorage validation and migrations. Improve backup/restore transaction handling. Make Ollama status and fallback behavior clearer. Add local data health diagnostics. Preserve offline use. Tradeoff: largest visible improvement, but touches navigation and the main execution surfaces. Editorial workspace polish Keep the existing navigation and route structure, but improve every page individually. Changes: Refine each page’s spacing and hierarchy. Upgrade cards, forms, progress indicators, and empty states. Add shared page headers and breadcrumbs. Improve mobile behavior without changing information architecture. Backend/local-state work remains the same. Tradeoff: lowest risk, but the product may still feel like multiple separate tools rather than one coherent operating system. Dashboard-centric command center Make /dashboard/ the main product and move most functionality into a dense professional workspace. Changes: Dashboard becomes a multi-panel command center. Today, Goals, Focus, Review, and Progress become dashboard tabs or panels. More information is visible at once. Strong for desktop power users. Tradeoff: efficient for experienced users but heavier, more complex, and less approachable on mobile.
I upgraded my MVP called Level Up: transforming a local-first self-development book into a full-featured, Today-first operating system—still running 100% in your browser.The Motivation While Ship #1 proved that a 20-hour video transcript could become a searchable, evidence-graded web book, the feedback was clear: the UI/UX felt fragmented. Having deep individual features wasn’t enough if the home experience didn’t tell you what to do right now. I set out to redesign Level Up from a passive reading interface into an actionable personal operating system.What’s New: The Today-First OS & Local AI Instead of a crowded home screen, the app now centers on a streamlined /today/ hub that answers one core question: “What should I do next?”Today Shell Navigation: Simplified navigation down to Today, Learn, Goals, Progress, and More, placing your current focus front and center.On-Device Study Workspace: Integrated a dedicated Study Mode featuring an automated Daily Planner, a Local Coach, and an interactive Tutor mode to explain or practice any of the 28 chapters.Smart Local AI Integration: Added support for local LLMs via Ollama with full offline fallback, letting you generate study plans and ask questions without leaking private data to external servers.How We Upgraded ItTyped Local State Boundary: Replaced fragmented localStorage usage with a single, typed local repository boundary managed via pure TypeScript modules and useSyncExternalStore.Data Diagnostics & Migrations: Hardened JSON schema validation, improved backup/restore transaction handling, and added local data health checks to ensure offline state never gets corrupted.UI/UX Consistency System: Standardized spacing, card hierarchies, buttons, forms, and empty states across all routes so every tool feels like part of a unified product.Into the Trenches (Challenges & Learnings)The Monolith vs. Workspaces Tradeoff: Moving from a multi-tool dashboard to a focused Today-first layout meant rethinking information architecture. We hid creation forms behind empty states and compressed secondary features like inbox items into compact panels to avoid visual clutter.Local AI Fallbacks: Integrating Ollama required explicit status checks and graceful local degradation so non-technical users or fully offline environments still get a clean UI without broken promises.What I’m Proud OfCoherent OS Feel: Level Up no longer feels like separate utilities tacked together; it operates as one smooth, self-contained habit driver.Privacy Preserved: Despite adding AI study tools and custom daily planners, everything remains zero-tracking, zero-backend, and fully functional on-device.Try it out:Live site: https://hustlenix.github.io/LevelUp/Source code: https://github.com/Hustlenix/LevelUpTech Stack: Next.js 16, Tailwind v4, TypeScript, node:sqlite, MiniSearch, Ollama / On-Device Local State, GitHub Pages
I think there is nothing to be upgraded in this, all i have to do now is add subscryptions and make money!!!!!!!!!!!!
I tried making this the final boss of Self Improvement APP, i think i am finally over, longin and start LEVELING UPPP!!!!!!!!!!!
Finishing touches, i think this is coming to and end, so i lokced in in these 10 hours and did some major changes, like used HCB APi key and give MILO an life so it can interact with you guys, and bumped up the UI/UX to and next level and: Milo Talk with offline guidance and explicit approval before saving suggested actions. Replayable walkthrough and app-wide text sizing up to 150%. Distinct Deep Work/Cyberpunk themes; preserved Light/Dark. Install guidance, offline support, refreshed screenshots, and technical documentation. Fixed Settings headings and Deep Work contrast. As per your reviews and real time feedback, thank you guys!
It was a w working with Stardance, thanks!
Ships:
I built a free MVP called Level Up : a 28-chapter self-development book built from a 20-hour video transcript, running entirely in your browser. The Motivation It started with a simple question: What if you could turn a 20-hour self-dev video into something you could actually read, search, and verify? Most online self-development content exists to sell courses, not to present evidence. I wanted something honest. So, I built a real book where every notable claim is graded against cited research. What It Is: Zero Tracking, 100% Local The result is roughly 32k words across four pillars, a 30-claim evidence audit (graded A–D/U), 13 testable protocols, and full-text search. The best part? Zero tracking. No accounts, no APIs, no cookies. Your reading progress, streaks, highlights, themes, and quiz scores live entirely in your browser’s localStorage . Nothing leaves your machine. How We Built It The original video transcript was ~20k lines. We tag-teamed Claude, Gemini, and Opencode to compress it. From there, we built the site in layers: The Content Pipeline: scripts/build-data.mjs compiles Markdown chapters into SQLite using node:sqlite , then emits JSON data and a 30KB MiniSearch index. The Frontend: Next.js 16 static export and Tailwind v4. We used useSyncExternalStore for reactive local state via pure TypeScript modules. The Deploy: Automated via GitHub Actions straight to GitHub Pages. Into the Trenches (Challenges & Learnings) The CI Spiral: We added a React 19 QuoteCard. It built flawlessly locally (22/22 tests green), but failed eight consecutive GitHub Actions runs with a phantom TS error. It wasn’t a code bug; it was an environment disagreement. Lesson: Sometimes a feature just isn’t ready. We deleted it rather than fighting the environment or shipping it broken. Turbopack’s Quiet Types: The dev server uses Turbopack, which skips full type-checking for speed. We shipped a PR that built locally but failed in CI. Lesson: Always run tsc locally, or CI will aggressively remind you of the difference between “builds” and “types.” Case Sensitivity: GitHub Pages serves paths case-sensitively. NEXT_PUBLIC_BASE_PATH=/LevelUp is fundamentally different from /levelup . We learned this the hard way. What I’m Proud Of Honest Grading: No invented citations. If a famous “5x flow” stat is folklore, the site tells you so. Backend-less Magic: Search, quizzes, highlights, streaks, and schema-validated JSON backup/restore—all completely offline-capable. The Architecture: The data layer isn’t just a pile of JSON; it’s a statically served, compiled artifact from Markdown. Try it out: Live site: https://hustlenix.github.io/LevelUp/ Source code: https://github.com/Hustlenix/LevelUp Tech Stack: Next.js 16, Tailwind v4, node:sqlite, MiniSearch, GitHub Pages
I upgraded my MVP called Level Up: transforming a local-first self-development book into a full-featured, Today-first operating system—still running 100% in your browser. The Motivation While Ship #1 proved that a 20-hour video transcript could become a searchable, evidence-graded web book, the feedback was clear: the UI/UX felt fragmented. Having deep individual features wasn’t enough if the home experience didn’t tell you what to do right now. I set out to redesign Level Up from a passive reading interface into an actionable personal operating system. What’s New: The Today-First OS & Local AI Instead of a crowded home screen, the app now centers on a streamlined /today/ hub that answers one core question: “What should I do next?” Today Shell Navigation: Simplified navigation down to Today, Learn, Goals, Progress, and More, placing your current focus front and center. On-Device Study Workspace: Integrated a dedicated Study Mode featuring an automated Daily Planner, a Local Coach, and an interactive Tutor mode to explain or practice any of the 28 chapters. Smart Local AI Integration: Added support for local LLMs via Ollama with full offline fallback, letting you generate study plans and ask questions without leaking private data to external servers. How We Upgraded It Typed Local State Boundary: Replaced fragmented localStorage usage with a single, typed local repository boundary managed via pure TypeScript modules and useSyncExternalStore. Data Diagnostics & Migrations: Hardened JSON schema validation, improved backup/restore transaction handling, and added local data health checks to ensure offline state never gets corrupted. UI/UX Consistency System: Standardized spacing, card hierarchies, buttons, forms, and empty states across all routes so every tool feels like part of a unified product. Into the Trenches (Challenges & Learnings) The Monolith vs. Workspaces Tradeoff: Moving from a multi-tool dashboard to a focused Today-first layout meant rethinking information architecture. We hid creation forms behind empty states and compressed secondary features like inbox items into compact panels to avoid visual clutter. Local AI Fallbacks: Integrating Ollama required explicit status checks and graceful local degradation so non-technical users or fully offline environments still get a clean UI without broken promises. What I’m Proud Of Coherent OS Feel: Level Up no longer feels like separate utilities tacked together; it operates as one smooth, self-contained habit driver. Privacy Preserved: Despite adding AI study tools and custom daily planners, everything remains zero-tracking, zero-backend, and fully functional on-device. Try it out: Live site: https://hustlenix.github.io/LevelUp/ Source code: https://github.com/Hustlenix/LevelUp Tech Stack: Next.js 16, Tailwind v4, TypeScript, node:sqlite, MiniSearch, Ollama / On-Device Local State, GitHub Pages
This is my final ship for Level Up. Level Up originally started as a simple idea: turn a 20-hour self-improvement video into something I could actually read, search, understand, and use. It started as basically a local-first book. Over time I kept asking the same question: “How do I make this useful after someone finishes reading?” So I kept rebuilding it. Now Level Up is much closer to a complete self-improvement app. The main experience is built around Today — you open the app, see what you are working toward, get a clear next action, start a focus/study session, and track your progress instead of just consuming more content. I also added Goals, Progress, Study Mode, a daily planner, tutor/coach tools, local AI through Ollama, chapter search, quizzes, streaks, highlights, backups, restore, and a much more consistent UI across the app. The hardest part was making all of this work while keeping the original idea of Level Up: no account required, no cloud database, and your personal progress stays on your device. I had to rebuild a lot of the local state system, handle migrations and corrupted data, improve backup/restore, and make sure the app still works properly offline or without local AI installed. The thing I’m most proud of is that it no longer feels like a book with random features added around it. It finally feels like one connected product. If you test it, don’t just click around. Actually use it: Create a goal Open Today and follow the next action Start a focus/study session Read or study a chapter Check your Progress Refresh/reopen the app and see your data persist There are definitely things I could keep polishing forever, but I don’t want this project to become an endless cycle of “one more redesign.” This is the version I’m calling finished. Try it: https://hustlenix.github.io/LevelUp/ Source: https://github.com/Hustlenix/LevelUp Thanks to everyone who tested it, gave feedback, or followed the devlogs while this went from a small reading website into this. LEVEL UP. 🚀
Shipped LevelUp! It started as a way to make a long self-development video easier to read. Now it has 28 chapters, practical plans, habits, focus timers, and a daily mission system. You can save an idea from a chapter and actually try it instead of forgetting it five minutes later. Milo is the little companion that reacts to your reading and focus activity. Everything important works locally, without an account or trackers. There’s also an offline progress system called Nexus, which handles changes across tabs and lets you move progress using encrypted files. This update mostly brought the different parts together. I fixed mobile layouts, added larger text and a quick tutorial, and made backups include the newer features. Cloud chat still needs work, and the app could be simpler, but the full version is live now. Try it: https://hustlenix.github.io/LevelUp/
It was a w working with Stardance, thanks!...
|
1793339517.4246867
|
1793425917.4246867
|
|
28896
|
webdev log by @gdev | Stardance
|
gdev
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T04:30:58Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a personal website for myself to practice and learn different types of code and further strengthen my skills. I am very proud of the ui and how it turned out. Stuff like the clock, however, was pretty hard to get to work and took many tutorials. Also, finding a good way to add the Spotify now-playing system was complex.", "repo": "https://github.com/galaxydevvv/gdev", "demo": "https://galaxydevvv.github.io/gdev/index.html"}]...
|
[{"post_id": 68450, "ts": "202 [{"post_id": 68450, "ts": "2026-09-15T04:26:10Z", "hours": 0.8225, "text": "Log #4 // Bug fixes, website polishing, and finished the working clock & redid the socials tab and the footer"}, {"post_id": 20543, "ts": "2026-07-02T04:58:11Z", "hours": 4.8711, "text": "Log #3 // Full HTML & CSS Redesign and Revamp of Home page"}, {"post_id": 20083, "ts": "2026-07-01T16:31:21Z", "hours": 0.8675, "text": "Log #2 // CSS, Theme, Site Improvements, and Demo Launch"}, {"post_id": 19675, "ts": "2026-07-01T01:48:14Z", "hours": 1.4881, "text": "Log: #1 // HTML; Images, Text, Audio"}]...
|
Title: webdev log by @gdev | Stardance
Devlogs:
L Title: webdev log by @gdev | Stardance
Devlogs:
Log: #1 // HTML; Images, Text, Audio
Log #2 // CSS, Theme, Site Improvements, and Demo Launch
Log #3 // Full HTML & CSS Redesign and Revamp of Home page
Log #4 // Bug fixes, website polishing, and finished the working clock & redid the socials tab and the footer
Ships:
I made a personal website for myself to practice and learn different types of code and further strengthen my skills. I am very proud of the ui and how it turned out. Stuff like the clock, however, was pretty hard to get to work and took many tutorials. Also, finding a good way to add the Spotify now-playing system was complex....
|
1793339514.4613616
|
1793425914.4613616
|
|
9850
|
Cadpad by @Alexx | Stardance
|
Alexx
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:33:42Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finished the Cadpad! had to debug the code to get it working properly, and it works amazingly.", "repo": "https://github.com/xuealex2010-blip/hackpad-alex", "demo": ""}]...
|
[{"post_id": 78411, "ts": "202 [{"post_id": 78411, "ts": "2026-10-10T18:16:17Z", "hours": 3.7167, "text": "Built and created the Cadpad! After waiting for what felt like way too long for everything to arrive, I got everything and built the design. Soldering was a bit tricky, but I got it all done."}, {"post_id": 56798, "ts": "2026-08-28T18:30:00Z", "hours": 1.0333, "text": "QMK code finally compiled. Hopefully when I get to flashing it will work. I spent a lot of time sorting through the compiling errors that I was being given, many of which did not make sense, but seemed to resolve themselves when other issues were fixed. After a few hours, I was able to get the code set up for the encoders and special tap dance features compiled, and hopefully functional."}, {"post_id": 56227, "ts": "2026-08-27T22:00:10Z", "hours": 1.6878, "text": "QMK troubles: I began creating the code for the cadpad and hit my first issue when the output was a .hex file rather than the .uf2 needed, I figured out that this was due to the controller or bootloader not being supported by uf2. I tried to create a new one to set my own configuration. However, when I tried to compile it, I got a bunch of errors that I still haven’t solved (File errors such as missing keyboard name). I have also read much of the documentation to figure out how to implement tap dance, and encoders to make the most use out of the cadpad. While I am not done, progress is moving."}, {"post_id": 54800, "ts": "2026-08-25T22:38:14Z", "hours": 0.85, "text": "Starting QMK code, I have never used QMK before, and I was really confused when the guide to set it up was seemingly not working, turns out it just takes a long time. I’m still not sure exactly what I am doing, but I hope that trial and error and maybe a few tutorials will get me there in the end."}, {"post_id": 53897, "ts": "2026-08-24T16:27:39Z", "hours": 2.3206, "text": "Updating 3D models for the Cadpad, added a cool decal on the top, and fixed some errors that I had with the PCB, and collisions between the case. I had some trouble with KiCad exports causing some errors, but they ended up being non-critical. Also made sure that the PCB is very versatile, implementing a dual SMD and THT footprint so that if I want to learn how to solder some SMD components, I will have a great way to practice and get another cadpad! (Makes a great gift)"}, {"post_id": 53478, "ts": "2026-08-24T01:35:24Z", "hours": 3.35, "text": "Refining the 3D Models, I made a few revisions to the PCB earlier to ensure it fits the switches nicely, which required me to update the 3d models, I also took the time to refine them and get close to a final candidate. I also think that a great use for the rotary encoder for cad will be to implement it for arrow key navigation. Since its a dual layer numpad / macropad, using the knob for text navigation gives the Cadpad even more features!"}, {"post_id": 51968, "ts": "2026-08-21T23:17:23Z", "hours": 2.95, "text": "Learned a bit into KiCad footprint editing, my plan is to make a footprint that supports 2 major keyswitch types, Choc and MX style. The hope for this is to be able to not have the 5 PCBs in a typical MOQ to go to waste. So far it looks good, I had some trouble with the initial Choc footprint not lining up, as well as clearance under the SEEED XIAO, but a few tweaks were able to get me into CAD to see how the switches fit."}, {"post_id": 51362, "ts": "2026-08-20T23:51:51Z", "hours": 2.8833, "text": "Initial Planning: My first devblog, I am experimenting with ways to make the PCB more reliable, since I dont want the other 4 from the set of 5 to go to waste! I am not sure if this will eventually turn out into something usable, but willing to try."}]...
|
Title: Cadpad by @Alexx | Stardance
Devlogs:
Init Title: Cadpad by @Alexx | Stardance
Devlogs:
Initial Planning: My first devblog, I am experimenting with ways to make the PCB more reliable, since I dont want the other 4 from the set of 5 to go to waste! I am not sure if this will eventually turn out into something usable, but willing to try.
Learned a bit into KiCad footprint editing, my plan is to make a footprint that supports 2 major keyswitch types, Choc and MX style. The hope for this is to be able to not have the 5 PCBs in a typical MOQ to go to waste. So far it looks good, I had some trouble with the initial Choc footprint not lining up, as well as clearance under the SEEED XIAO, but a few tweaks were able to get me into CAD to see how the switches fit.
Refining the 3D Models, I made a few revisions to the PCB earlier to ensure it fits the switches nicely, which required me to update the 3d models, I also took the time to refine them and get close to a final candidate. I also think that a great use for the rotary encoder for cad will be to implement it for arrow key navigation. Since its a dual layer numpad / macropad, using the knob for text navigation gives the Cadpad even more features!
Updating 3D models for the Cadpad, added a cool decal on the top, and fixed some errors that I had with the PCB, and collisions between the case. I had some trouble with KiCad exports causing some errors, but they ended up being non-critical. Also made sure that the PCB is very versatile, implementing a dual SMD and THT footprint so that if I want to learn how to solder some SMD components, I will have a great way to practice and get another cadpad! (Makes a great gift)
Starting QMK code, I have never used QMK before, and I was really confused when the guide to set it up was seemingly not working, turns out it just takes a long time. I’m still not sure exactly what I am doing, but I hope that trial and error and maybe a few tutorials will get me there in the end.
QMK troubles: I began creating the code for the cadpad and hit my first issue when the output was a .hex file rather than the .uf2 needed, I figured out that this was due to the controller or bootloader not being supported by uf2. I tried to create a new one to set my own configuration. However, when I tried to compile it, I got a bunch of errors that I still haven’t solved (File errors such as missing keyboard name). I have also read much of the documentation to figure out how to implement tap dance, and encoders to make the most use out of the cadpad. While I am not done, progress is moving.
QMK code finally compiled. Hopefully when I get to flashing it will work. I spent a lot of time sorting through the compiling errors that I was being given, many of which did not make sense, but seemed to resolve themselves when other issues were fixed. After a few hours, I was able to get the code set up for the encoders and special tap dance features compiled, and hopefully functional.
Built and created the Cadpad! After waiting for what felt like way too long for everything to arrive, I got everything and built the design. Soldering was a bit tricky, but I got it all done.
Ships:
Finished the Cadpad! had to debug the code to get it working properly, and it works amazingly....
|
1793339507.8219001
|
1793425907.8219001
|
|
24700
|
GlintX by @taran | Stardance
|
taran
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T23:35:12Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made GlintX, a hands-free phone cleaning machine that uses microfiber rollers, cleaning fluid, and UV lights to clean the outside of a phone. The phone sits vertically in the center while two rollers move along its sides using threaded rods and motors. It works kinda like a car wash. It’s main function to clean surface level grime and dirt to make your phone squeaky clean! :) The most challenging part was getting the mechanical system to work reliably. My original 3D-printed carriage broke twice the day before Open Sauce, so I redesigned it so that each roller had its own separate carriage. I also had to do a lot of wiring, debugging, and testing to get the motors, pump, and cleaning mechanism working together. I’m most proud that I was able to take an idea from a rough concept to a working machine that I could actually demonstrate to people at Open Sauce in just a few weeks. Seeing 100+ people reacting to my project amused, surprised, and amazed was really rewarding to me. If you want to test GlintX, place a phone vertically in the center of the machine and start the cleaning cycle. The rollers should move along both sides of the phone while the pump applies cleaning fluid. Please make sure the phone is secured properly before starting the cycle.", "repo": "https://github.com/tiger-14/GlintX", "demo": ""}]...
|
[{"post_id": 40957, "ts": "202 [{"post_id": 40957, "ts": "2026-08-04T20:22:08Z", "hours": 8.8961, "text": "We finally finished assembling and coding GlintX! We spent a lot of time putting together all the electronics and getting the motors, pump, and cleaning mechanism to work together properly. There was a lot of wiring and debugging involved, especially getting everything to fit inside the enclosure while still keeping all the connections accessible. The code also took some testing to get our carriage synced up and work properly. Our 3D printed carriage broke twice thed ay before open sauce and then we decided to have asplit design with each roller having their own carriage and that fixed it! After getting everything working, we brought GlintX to Open Sauce and got to demo it to 100+ people! It was really cool seeing people watching their phones get clean, providing their own feedback and appreciating our project! i am extremely grateful for hack club providing me with this awesome opportunity :)"}, {"post_id": 17385, "ts": "2026-06-28T04:36:11Z", "hours": 6.0561, "text": "We finally finished making the 3D model of our project! We spent a long time on the carriage design (the square piece in the attached vid that holds the two microfiber rollers) and getting the gap between rollers right to fit phones of all sizes, including cases. We went for a sleek futuristic look, so it had to be compact and not too big. In the end, while designing the cleaning fluid container, we realized in the end that we have only one water pump and one long pipe but 4 nozzles lol. So we have to cut them and find a way to arrange and connect them separately. The hardest part was the middle base — it supports the carriage, phone, and threaded rods simultaneously, and getting exact measurements was annoying since several Amazon listings don’t list dimensions. We also designed two internal pillars for structural integrity that double as mounts for the UV strips. The build splits into 6 parts: top lid, carriage, middle base, 2 parts for the shell, and bottom base for all the wiring and Arduino. This was because we wanted to 3D print this project easily without much supports. I also added all our files and created a README to our Github repo and also created a demo video. Our project is now ready to submit for the outpost funding! Thanks for reading! (sorry about making this a bit too long, I should’ve made this into multiple devposts)"}, {"post_id": 15850, "ts": "2026-06-25T19:30:12Z", "hours": 2.8833, "text": "Hey everyone! I finalized the parts list after almost 3 hours of research. Figuring out the motor setup was pretty challenging. I first looked at the NEMA 17, but that was too overkill, then went through 4+ different DC motors before picking TT motors, which have low RPM but high torque (required for spinning our threaded rods) unlike the other motors we looked at. Also had to ditch our first power adapter when we realized 1300mA wouldn’t handle 4 motors running simultaneously. Swapped it for a proper 12V 2A supply. Next, we have to create the CAD model for our project and submit the design!"}, {"post_id": 14723, "ts": "2026-06-23T22:41:50Z", "hours": 2.6067, "text": "Hello everyone! I tried to come up with an original and useful idea for a hardware project for Outpost and decided to make a phone cleaner! @Ben_A and I designed some of the mechanical design for the project in a whiteboard today. The cleaner uses two threaded rods to drive a microfiber roller up and down both sides of the phone, with UV lights lining the inner walls and a sliding door on top to add cleaning fluid. The phone sits vertically in the center. Hardest part of the design was figuring out the microfiber roller design. We ended up choosing threaded rods in order to make the roller move up and down along the phone’s screen and back. Next, we have to complete a proper diagram of our project, make the CAD models to 3D print, and finalize the parts list. We’re trying to find as many parts as possible in local stores nearby to avoid shipping delays!"}]...
|
Title: GlintX by @taran | Stardance
Devlogs:
Hell Title: GlintX by @taran | Stardance
Devlogs:
Hello everyone! I tried to come up with an original and useful idea for a hardware project for Outpost and decided to make a phone cleaner! @Ben_A and I designed some of the mechanical design for the project in a whiteboard today. The cleaner uses two threaded rods to drive a microfiber roller up and down both sides of the phone, with UV lights lining the inner walls and a sliding door on top to add cleaning fluid. The phone sits vertically in the center. Hardest part of the design was figuring out the microfiber roller design. We ended up choosing threaded rods in order to make the roller move up and down along the phone’s screen and back. Next, we have to complete a proper diagram of our project, make the CAD models to 3D print, and finalize the parts list. We’re trying to find as many parts as possible in local stores nearby to avoid shipping delays!
Hey everyone! I finalized the parts list after almost 3 hours of research. Figuring out the motor setup was pretty challenging. I first looked at the NEMA 17, but that was too overkill, then went through 4+ different DC motors before picking TT motors, which have low RPM but high torque (required for spinning our threaded rods) unlike the other motors we looked at. Also had to ditch our first power adapter when we realized 1300mA wouldn’t handle 4 motors running simultaneously. Swapped it for a proper 12V 2A supply. Next, we have to create the CAD model for our project and submit the design!
We finally finished making the 3D model of our project! We spent a long time on the carriage design (the square piece in the attached vid that holds the two microfiber rollers) and getting the gap between rollers right to fit phones of all sizes, including cases. We went for a sleek futuristic look, so it had to be compact and not too big. In the end, while designing the cleaning fluid container, we realized in the end that we have only one water pump and one long pipe but 4 nozzles lol. So we have to cut them and find a way to arrange and connect them separately. The hardest part was the middle base — it supports the carriage, phone, and threaded rods simultaneously, and getting exact measurements was annoying since several Amazon listings don’t list dimensions. We also designed two internal pillars for structural integrity that double as mounts for the UV strips. The build splits into 6 parts: top lid, carriage, middle base, 2 parts for the shell, and bottom base for all the wiring and Arduino. This was because we wanted to 3D print this project easily without much supports. I also added all our files and created a README to our Github repo and also created a demo video. Our project is now ready to submit for the outpost funding! Thanks for reading! (sorry about making this a bit too long, I should’ve made this into multiple devposts)
We finally finished assembling and coding GlintX! We spent a lot of time putting together all the electronics and getting the motors, pump, and cleaning mechanism to work together properly. There was a lot of wiring and debugging involved, especially getting everything to fit inside the enclosure while still keeping all the connections accessible. The code also took some testing to get our carriage synced up and work properly. Our 3D printed carriage broke twice thed ay before open sauce and then we decided to have asplit design with each roller having their own carriage and that fixed it! After getting everything working, we brought GlintX to Open Sauce and got to demo it to 100+ people! It was really cool seeing people watching their phones get clean, providing their own feedback and appreciating our project! i am extremely grateful for hack club providing me with this awesome opportunity :)
Ships:
I made GlintX, a hands-free phone cleaning machine that uses microfiber rollers, cleaning fluid, and UV lights to clean the outside of a phone. The phone sits vertically in the center while two rollers move along its sides using threaded rods and motors. It works kinda like a car wash. It’s main function to clean surface level grime and dirt to make your phone squeaky clean! :) The most challenging part was getting the mechanical system to work reliably. My original 3D-printed carriage broke twice the day before Open Sauce, so I redesigned it so that each roller had its own separate carriage. I also had to do a lot of wiring, debugging, and testing to get the motors, pump, and cleaning mechanism working together. I’m most proud that I was able to take an idea from a rough concept to a working machine that I could actually demonstrate to people at Open Sauce in just a few weeks. Seeing 100+ people reacting to my project amused, surprised, and amazed was really rewarding to me. If you want to test GlintX, place a phone vertically in the center of the machine and start the cleaning cycle. The rollers should move along both sides of the phone while the pump applies cleaning fluid. Please make sure the phone is secured properly before starting the cycle....
|
1793339502.9082778
|
1793425902.9082778
|
|
48156
|
AI3DSTUDIO by @Madhanraj | Stardance
|
Madhanraj
|
1
|
43.81
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T11:59:39Z", "hours": 33.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I am shipping Stardance in its current state because my available development time has been limited by my Class 12 studies and school schedule. Although the complete vision for AI3D Studio is much larger and several features are still under development, I wanted to submit the working progress I have achieved rather than leave the project unshipped. The current version represents a major milestone of the project, with a functional 3D environment, AI interaction, computer-vision-based interaction, and database integration already implemented. I plan to continue developing the remaining features after shipping. This is not the final version of AI3D Studio — it is the first major milestone toward the complete system I originally envisioned.", "repo": "https://github.com/maddy9002/AI3DSTUDIO", "demo": "https://ai-3-dstudio-beta.vercel.app/"}]...
|
[{"post_id": 80154, "ts": "202 [{"post_id": 80154, "ts": "2026-10-16T13:02:11Z", "hours": 2.0864, "text": "Worked on the new ui for the html file, implementing necessary features for cad operations"}, {"post_id": 78229, "ts": "2026-10-10T01:32:38Z", "hours": 3.5311, "text": "Worked on AI3DSTUDIO’s advanced modeling capabilities, implementing Merge/Weld Vertices, Vertex Dissolve, Edge Dissolve, and Face Dissolve, including topology updates and Undo/Redo support.I also created requirements.txt and README.md, resolved Python dependency conflicts involving MediaPipe, NumPy, and OpenCV, verified the application launches successfully, and pushed the changes to the advanced-modeling branch on GitHub.Next, I’ll test the installation process in a fresh environment to make AI3DSTUDIO easier for others to try."}, {"post_id": 76640, "ts": "2026-10-04T07:39:58Z", "hours": 2.7172, "text": "After implementing Inset, AI3DSTUDIO’S mesh-editing system was expanded with several advanced modeling features, including Loop Cut, Bevel, Merge/Weld Vertices, Vertex Dissolve, Edge Dissolve, Face Dissolve, and Bridge Edge Loops. The editing workflow was also improved with Vertex, Edge, and Face selection and manipulation, along with Undo/Redo support for mesh-editing operations, significantly improving AI3DSTUDIO’S overall polygon-modeling capabilities."}, {"post_id": 74257, "ts": "2026-09-27T02:43:36Z", "hours": 2.4761, "text": "While upgrading the UI the features that I made had disappeared and now I worked to create a html file where i can link it to Stardance."}, {"post_id": 71170, "ts": "2026-09-20T11:58:49Z", "hours": 0.8817, "text": "Worked to improve the UI"}, {"post_id": 70963, "ts": "2026-09-20T03:52:57Z", "hours": 2.2081, "text": "Implemented and stabilized hand-based viewport interaction. The system now supports a screen-space hand cursor controlled by the index finger, pinch-based selection of vertices, edges, and faces, and two-hand gesture editing. Vertex movement is working, while edge and face movement are being integrated by transforming their underlying mesh vertices. Object Mode gestures for movement, rotation, and scaling remain functional. The next focus is completing reliable hand-based edge/face manipulation and improving pinch-based selection accuracy."}, {"post_id": 68678, "ts": "2026-09-15T15:07:33Z", "hours": 2.2633, "text": "Completed till multi-face selection"}, {"post_id": 64857, "ts": "2026-09-09T15:32:34Z", "hours": 5.7969, "text": "Completed the undo redo system for all the edit options."}, {"post_id": 47430, "ts": "2026-08-15T11:13:47Z", "hours": 22.1772, "text": "WORKING TO UPGRADE THE 3D DESIGNING SOFTWARE"}]...
|
Title: AI3DSTUDIO by @Madhanraj | Stardance
Devlo Title: AI3DSTUDIO by @Madhanraj | Stardance
Devlogs:
WORKING TO UPGRADE THE 3D DESIGNING SOFTWARE
Completed the undo redo system for all the edit options.
Completed till multi-face selection
Implemented and stabilized hand-based viewport interaction. The system now supports a screen-space hand cursor controlled by the index finger, pinch-based selection of vertices, edges, and faces, and two-hand gesture editing. Vertex movement is working, while edge and face movement are being integrated by transforming their underlying mesh vertices. Object Mode gestures for movement, rotation, and scaling remain functional. The next focus is completing reliable hand-based edge/face manipulation and improving pinch-based selection accuracy.
Worked to improve the UI
While upgrading the UI the features that I made had disappeared and now I worked to create a html file where i can link it to Stardance.
After implementing Inset, AI3DSTUDIO’S mesh-editing system was expanded with several advanced modeling features, including Loop Cut, Bevel, Merge/Weld Vertices, Vertex Dissolve, Edge Dissolve, Face Dissolve, and Bridge Edge Loops. The editing workflow was also improved with Vertex, Edge, and Face selection and manipulation, along with Undo/Redo support for mesh-editing operations, significantly improving AI3DSTUDIO’S overall polygon-modeling capabilities.
Worked on AI3DSTUDIO’s advanced modeling capabilities, implementing Merge/Weld Vertices, Vertex Dissolve, Edge Dissolve, and Face Dissolve, including topology updates and Undo/Redo support.I also created requirements.txt and README.md, resolved Python dependency conflicts involving MediaPipe, NumPy, and OpenCV, verified the application launches successfully, and pushed the changes to the advanced-modeling branch on GitHub.Next, I’ll test the installation process in a fresh environment to make AI3DSTUDIO easier for others to try.
Worked on the new ui for the html file, implementing necessary features for cad operations
Ships:
I am shipping Stardance in its current state because my available development time has been limited by my Class 12 studies and school schedule. Although the complete vision for AI3D Studio is much larger and several features are still under development, I wanted to submit the working progress I have achieved rather than leave the project unshipped. The current version represents a major milestone of the project, with a functional 3D environment, AI interaction, computer-vision-based interaction, and database integration already implemented. I plan to continue developing the remaining features after shipping. This is not the final version of AI3D Studio — it is the first major milestone toward the complete system I originally envisioned....
|
1793339495.8685532
|
1793425895.8685532
|
|
33751
|
Seedha Cut by @shreyas | Stardance
|
shreyas
|
1
|
14.41
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T16:54:37Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Seedha Cut (“straight cut”) is a free, open-source URL shortener that respects your privacy.Each link has an analytics page assigned to them. The challenging part for me was that the browser’s datetime-local picker gives local time, but the Vercel runs in UTC. Launch and expiry times kept firing at the wrong moment until I converted them to ISO/UTC on the client, checked them in UTC and rendered them back in local time . Im happy that im part of the free open source sofwtare movement which respects the users privacy", "repo": "", "demo": ""}]...
|
[{"post_id": 77569, "ts": "202 [{"post_id": 77569, "ts": "2026-10-07T14:38:48Z", "hours": 1.4089, "text": "I have fixed the background flickering whenever a user types the domain name or the url he wnats to shorten .the bug was affected due to a Each time the canvas resizes itself .Now this bug has ben fixed ."}, {"post_id": 76428, "ts": "2026-10-03T14:22:41Z", "hours": 0.8303, "text": "Finally i have fixed most of the bugs in the slug and unqiue link creation . The tool has been deployed via vercel added features are browser identification,unqiue clicks and direct referer"}, {"post_id": 73132, "ts": "2026-09-24T13:31:12Z", "hours": 2.8336, "text": "Heyy , I have been working on the dashboard for my links . The dashbaord will house all my links and their shortened ones along with action buttons such as Delete , View analytics and Edit . tweaking them to get them into action"}, {"post_id": 31271, "ts": "2026-07-19T15:27:30Z", "hours": 1.9611, "text": "I have been working on the analytics for created shortened links since the past 2 days .The analytics will be implemeneted using the Cookies on the client side i.e the browser .It will be used to identify every unqiue clicks , browser agents , user device,etc . The website will ask for consent to collect cookies from the user"}, {"post_id": 29542, "ts": "2026-07-16T15:20:01Z", "hours": 1.2564, "text": "i have added a custom slug feature with the ability to add Expiration date for teh created link .This will allow the users to fully customize their shortened links"}, {"post_id": 28890, "ts": "2026-07-15T14:12:57Z", "hours": 2.1672, "text": "I have added a client side component while we will allow users to shorten the link using the inhouse api with customizable options such as the expiration link . I also planning to implement a cookie based analytics for tracking the virtue of sharing the links and their search engines"}, {"post_id": 27694, "ts": "2026-07-13T14:05:53Z", "hours": 1.7589, "text": "I will be using PostgresSQL database hosted on the Neon DB instance as my primary database for my application .I have created the Link model with Unique ids, clicks,etc . I have also started working on the api routes for the shortening the links .All the created shortened links will be fetched through a api and rendered in to my dashbaord page"}, {"post_id": 27011, "ts": "2026-07-12T04:41:20Z", "hours": 0.4872, "text": "This is how the background for my web application looks !! Rigth now im working on the api routes for shortening the link"}, {"post_id": 26994, "ts": "2026-07-12T03:50:56Z", "hours": 1.3661, "text": "Im working on Background template consisting on Glitch animation of Letters and Numbers with a gradient effect .It will host my web applcation background . I have completed the components as well as the Dashboard areas work"}]...
|
Title: Seedha Cut by @shreyas | Stardance
Devlogs Title: Seedha Cut by @shreyas | Stardance
Devlogs:
Im working on Background template consisting on Glitch animation of Letters and Numbers with a gradient effect .It will host my web applcation background . I have completed the components as well as the Dashboard areas work
This is how the background for my web application looks !! Rigth now im working on the api routes for shortening the link
I will be using PostgresSQL database hosted on the Neon DB instance as my primary database for my application .I have created the Link model with Unique ids, clicks,etc . I have also started working on the api routes for the shortening the links .All the created shortened links will be fetched through a api and rendered in to my dashbaord page
I have added a client side component while we will allow users to shorten the link using the inhouse api with customizable options such as the expiration link . I also planning to implement a cookie based analytics for tracking the virtue of sharing the links and their search engines
i have added a custom slug feature with the ability to add Expiration date for teh created link .This will allow the users to fully customize their shortened links
I have been working on the analytics for created shortened links since the past 2 days .The analytics will be implemeneted using the Cookies on the client side i.e the browser .It will be used to identify every unqiue clicks , browser agents , user device,etc . The website will ask for consent to collect cookies from the user
Heyy , I have been working on the dashboard for my links . The dashbaord will house all my links and their shortened ones along with action buttons such as Delete , View analytics and Edit . tweaking them to get them into action
Finally i have fixed most of the bugs in the slug and unqiue link creation . The tool has been deployed via vercel added features are browser identification,unqiue clicks and direct referer
I have fixed the background flickering whenever a user types the domain name or the url he wnats to shorten .the bug was affected due to a Each time the canvas resizes itself .Now this bug has ben fixed .
Ships:
Seedha Cut (“straight cut”) is a free, open-source URL shortener that respects your privacy.Each link has an analytics page assigned to them. The challenging part for me was that the browser’s datetime-local picker gives local time, but the Vercel runs in UTC. Launch and expiry times kept firing at the wrong moment until I converted them to ISO/UTC on the client, checked them in UTC and rendered them back in local time . Im happy that im part of the free open source sofwtare movement which respects the users privacy...
|
1793339490.9287474
|
1793425890.9287474
|
|
23805
|
Inverted Pendulum by @runthebot | Stardance
|
runthebot
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T15:14:05Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an inverted pendulum and leant a lot about control theory.", "repo": "https://github.com/RunTheBot/inverted-pendulum", "demo": ""}]...
|
[{"post_id": 67424, "ts": "202 [{"post_id": 67424, "ts": "2026-09-13T15:11:02Z", "hours": 37.8686, "text": "This is one big catch-up log covering nine recordings. I worked on the initial design, rebuilt parts of the belt assembly, chose and mounted the encoders, dealt with the wiring, and started learning how to control the system with a state-space model and LQR. Starting the CAD I began by researching different mechanical options while building the model in Onshape. Before I could get far into the full assembly, I needed to settle details such as the shaft, bearings, supports, and how everything would fit together.The first recording was only 57 minutes because recording my screen was making everything lag. In the next session, I continued developing the pivot assembly. The shaft passes through a bearing mounted in a shaped support plate, with another support behind it.The following 2h 52m session continued the CAD work. I spent more time on the plates, their hole layouts, and the surrounding geometry. At this stage, I was still developing individual parts rather than working with a finished mechanism. Reworking the belt assembly I spent another 38 minutes remaking the belt-related parts. I moved between editing the plate and checking how everything fit in the full assembly. This made it easier to see how the rail, carriage, shaft supports, and belt system would work together.This is why the update contains several separate CAD sessions. I kept returning to the same mechanism as the design developed: first the pivot, then the plates and belt assembly, and eventually the encoder mounts and smaller hardware details.Choosing the encodersThe next problem was deciding which encoders to use. I researched different options and mounting arrangements, including AMT-style encoders, before deciding to use the encoders I already had. That took another 1h 1m.Choosing the encoder was only half of the problem. I still had to determine how to mount it and connect everything reliably. Encoder wiring pain The appropriately named “Encoder Wiring Pain” session lasted 3h 40m. I worked through the encoder connections and looked at mounting references while figuring out how the sensor would fit into the rest of the mechanism.After that, I spent another 1h 52m making smaller mechanical changes in Onshape. By this point I was working on details around the encoder housing, connector, fasteners, and nearby parts.These changes were individually small, but they mattered because the sensor needed to fit around the existing hardware without interfering with the moving assembly.Learning state space and LQR The longest of the first eight sessions was 5h 19m. I spent it coding, learning about state-space control and LQR, and continuing some of the CAD work.I worked through notes for a state-space model and LQR controller for a cart double-pendulum system. This included defining the system’s state vector and understanding how the state-space equations describe its motion.This part was mainly development and learning. I haven’t established a successful balancing test from these recordings yet, so the controller still needs to be implemented, tuned, and tested on the real mechanism.Hardware work and final CAD changes The last recording covers hands-on hardware work alongside a few final CAD changes. I worked on the wiring at my desk while using references such as the Raspberry Pi Pico pinout.Again, this recording ran much longer than the actual work. Please count it as roughly 4–5 hours rather than the full 7h 41m shown by Lapse."}, {"post_id": 56170, "ts": "2024-08-16T00:00:00Z", "hours": 0.0, "text": "Programming… AND TUNING!!!! and testing. No challange here really, smooth sailing"}, {"post_id": 56169, "ts": "2024-08-14T00:00:00Z", "hours": 0.0, "text": "Hours: 4h Started on rewiring, Using a SKR Pico for a stepper this time. passing encoder through a RP2350 since its a 5v sensor. Im using a SKR pico now sooooo… I first feed the 5V encoder signal through a Pico 2 to translate it to 3.3v"}, {"post_id": 56089, "ts": "2024-08-10T00:00:00Z", "hours": 0.0, "text": "Hours: 4 Very slow CADing of a redesign. Using a stepper motor now soo yay."}, {"post_id": 56088, "ts": "2024-07-09T00:00:00Z", "hours": 0.0, "text": "Chud day. Worked on amt alignment for second stage, quite fast, went through 4 iteration, testing and calculating spacing ending up making the tool below did the wireing for the amt"}, {"post_id": 56087, "ts": "2024-06-21T00:00:00Z", "hours": 0.0, "text": "Switched Hex shaft in CAD to a bored out hex shaft"}]...
|
Title: Inverted Pendulum by @runthebot | Stardance Title: Inverted Pendulum by @runthebot | Stardance
Devlogs:
Switched Hex shaft in CAD to a bored out hex shaft
Chud day. Worked on amt alignment for second stage, quite fast, went through 4 iteration, testing and calculating spacing ending up making the tool below did the wireing for the amt
Hours: 4 Very slow CADing of a redesign. Using a stepper motor now soo yay.
Hours: 4h Started on rewiring, Using a SKR Pico for a stepper this time. passing encoder through a RP2350 since its a 5v sensor. Im using a SKR pico now sooooo… I first feed the 5V encoder signal through a Pico 2 to translate it to 3.3v
Programming… AND TUNING!!!! and testing. No challange here really, smooth sailing
This is one big catch-up log covering nine recordings. I worked on the initial design, rebuilt parts of the belt assembly, chose and mounted the encoders, dealt with the wiring, and started learning how to control the system with a state-space model and LQR. Starting the CAD I began by researching different mechanical options while building the model in Onshape. Before I could get far into the full assembly, I needed to settle details such as the shaft, bearings, supports, and how everything would fit together.The first recording was only 57 minutes because recording my screen was making everything lag. In the next session, I continued developing the pivot assembly. The shaft passes through a bearing mounted in a shaped support plate, with another support behind it.The following 2h 52m session continued the CAD work. I spent more time on the plates, their hole layouts, and the surrounding geometry. At this stage, I was still developing individual parts rather than working with a finished mechanism. Reworking the belt assembly I spent another 38 minutes remaking the belt-related parts. I moved between editing the plate and checking how everything fit in the full assembly. This made it easier to see how the rail, carriage, shaft supports, and belt system would work together.This is why the update contains several separate CAD sessions. I kept returning to the same mechanism as the design developed: first the pivot, then the plates and belt assembly, and eventually the encoder mounts and smaller hardware details.Choosing the encodersThe next problem was deciding which encoders to use. I researched different options and mounting arrangements, including AMT-style encoders, before deciding to use the encoders I already had. That took another 1h 1m.Choosing the encoder was only half of the problem. I still had to determine how to mount it and connect everything reliably. Encoder wiring pain The appropriately named “Encoder Wiring Pain” session lasted 3h 40m. I worked through the encoder connections and looked at mounting references while figuring out how the sensor would fit into the rest of the mechanism.After that, I spent another 1h 52m making smaller mechanical changes in Onshape. By this point I was working on details around the encoder housing, connector, fasteners, and nearby parts.These changes were individually small, but they mattered because the sensor needed to fit around the existing hardware without interfering with the moving assembly.Learning state space and LQR The longest of the first eight sessions was 5h 19m. I spent it coding, learning about state-space control and LQR, and continuing some of the CAD work.I worked through notes for a state-space model and LQR controller for a cart double-pendulum system. This included defining the system’s state vector and understanding how the state-space equations describe its motion.This part was mainly development and learning. I haven’t established a successful balancing test from these recordings yet, so the controller still needs to be implemented, tuned, and tested on the real mechanism.Hardware work and final CAD changes The last recording covers hands-on hardware work alongside a few final CAD changes. I worked on the wiring at my desk while using references such as the Raspberry Pi Pico pinout.Again, this recording ran much longer than the actual work. Please count it as roughly 4–5 hours rather than the full 7h 41m shown by Lapse.
Ships:
I made an inverted pendulum and leant a lot about control theory....
|
1793339486.7277253
|
1793425886.7277253
|
|
43242
|
mtg tool by @flyingfish | Stardance
|
flyingfish
|
1
|
46.0
|
400
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:16:08Z", "hours": 46.0, "multiplier": 8.6, "payout": 400, "blessing": "neutral", "text": "i made a tool for making custom mtg cards in bulk i dont aurally know anything about mtg my brother just wanted me to make this", "repo": "https://github.com/dinotiger01/frfr", "demo": "https://github.com/dinotiger01/frfr/releases/tag/idk"}]...
|
[{"post_id": 71543, "ts": "202 [{"post_id": 71543, "ts": "2026-09-21T01:14:49Z", "hours": 1.4325, "text": "just some last minute repo fixes"}, {"post_id": 44887, "ts": "2026-08-10T22:42:40Z", "hours": 9.2114, "text": "it works on windows"}, {"post_id": 43638, "ts": "2026-08-09T00:43:02Z", "hours": 8.2292, "text": "i have spent the past 4 HOURS trying to fix a bug and nothing works(i am going to try to ship by the end of today if i can fix this stupid bug)"}, {"post_id": 42311, "ts": "2026-08-06T23:27:47Z", "hours": 8.6642, "text": "it can conect to an api now"}, {"post_id": 41448, "ts": "2026-08-05T17:41:26Z", "hours": 9.0586, "text": "it can export now"}, {"post_id": 39896, "ts": "2026-08-03T05:48:25Z", "hours": 4.0275, "text": "its too late in the day for this jusdt work for like 10 hrs today"}, {"post_id": 39784, "ts": "2026-08-02T23:52:07Z", "hours": 5.8589, "text": "ykyk"}]...
|
Title: mtg tool by @flyingfish | Stardance
Devlog Title: mtg tool by @flyingfish | Stardance
Devlogs:
ykyk
its too late in the day for this jusdt work for like 10 hrs today
it can export now
it can conect to an api now
i have spent the past 4 HOURS trying to fix a bug and nothing works(i am going to try to ship by the end of today if i can fix this stupid bug)
it works on windows
just some last minute repo fixes
Ships:
i made a tool for making custom mtg cards in bulk i dont aurally know anything about mtg my brother just wanted me to make this...
|
1793339483.68441
|
1793425883.68441
|
|
43204
|
Kasimirs Kebab by @laupi_oida | Stardance
|
laupi_oida
|
2
|
86.0
|
1014
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T17:51:23Z", "hours": 38.0, "multiplier": 14.42, "payout": 554, "blessing": "neutral", "text": "What did I made? I rewrote my game made in LÖVE2D to Godot and added: 3 new Chapters and rebuild of one chapter sounds mobile controls a paywall (because why not) What was challenging? The complete rewrite wasn’t actually that hard but some special effects and scene switching was hard, because I tried a different way to switch scenes, than normal. And audio design was challenging because I’m not so good at it. What I’m proud of? I’m very proud of the laser beam in chapter2, the last chapter and the mobile controls, because I think they are good.", "repo": "https://github.com/Laup0403/Kasimirs-Kebab/", "demo": "https://laupi-oida.itch.io/kasimirs-kebab"}, {"ship_num": 2, "ts": "2026-09-23T18:54:58Z", "hours": 48.0, "multiplier": 9.84, "payout": 460, "blessing": "neutral", "text": "I developed a rpg game with the framework LÖVE2D using Lua. I made my own textbox queue system, collision system, fight system, menu and you can change the keyboard layout. I learned that it’s important to write clean code and how to automate many processes. And somehow I learned more English than in school (I’m still bad at English).", "repo": "https://github.com/Laup0403/Kasimirs-Kebab/", "demo": "https://laupi-oida.itch.io/kasimirs-kebab"}]...
|
[{"post_id": 82378, "ts": "202 [{"post_id": 82378, "ts": "2026-10-24T17:32:31Z", "hours": 0.7311, "text": "Final Devlog! Twin I made it! I had some issues with the scene loading in chapter5 because of how I load chapter4 and chapter5 loads on top of chapter4 then. And I changed the looping of the sound at the end of chapter5, because it didn’t work on web. At last I also changed the Github readme and the Itch site. This was it. Bye Twin!"}, {"post_id": 82214, "ts": "2026-10-24T09:38:39Z", "hours": 6.3717, "text": "TWIN! This is the last or the second last devlog. Here’s what i added: 1. Mobile controls In the settings you can now enable mobile mode. I think I made it really cool because I made 3 States and in 1 state you can see the arrows,in the other nothing and the complete screen is action1 and in the last you see the question buttons. That works really well I think 2. Sounds Some sounds are good some sounds are not so good but I think they match the games style and the sounds from the last chapter are really good I think 3. New main menu It looks the same but now I use buttons instead of areas and you can just control it with mouse or touchscreen and not arrow keys anymore I’m gonna send the game to my playtesters and see if they find any bugs (they are really good in bug finding) Bye Twin!"}, {"post_id": 81615, "ts": "2026-10-21T19:31:39Z", "hours": 4.5936, "text": "YOOOOOOOOOOOOOOOOOOOO TWIN!!! It’s done. I mean the story the game isn’t ready yet I added the castle and the isn’t Kasimir. Then you go into the kitchen and see a doner kebab. And what then happens I won’t spoiler. But after that comes: a paywall because why not? But I think the last chapters are a bit empty but I didn’t really had fun at the end. Löve was way more fun. Now there are the following the tasks: Updating the menu: There aren’t all chapters in the load scene Mobile controls: I want that everyone can play this game and I think mobile controls are necessary (not even all my friends have a PC) Language translation: I want German translation and Latin (just for prank), because that are the only languages I speak except English Audio: I’m really bad at sound but I think some sound will be good! We are so far but I still don’t see the end. Bye Twin!"}, {"post_id": 80813, "ts": "2026-10-18T21:04:19Z", "hours": 2.6544, "text": "Yo Twin! The City stands! The corners look a bit weird but ok. In the city there are 4 houses and 4 wise man inside that tell you something about Kasimir and if you speak to all of them the gate to the “real valley” opens. And I also changed the dialog with the doner guy, because the thief is now Kasimir and not a beetle. The next chapter will become a bit more chill, but the last chapter will be CRAZY. Trust me. Ok bye Twin!"}, {"post_id": 79979, "ts": "2026-10-15T18:38:49Z", "hours": 2.0311, "text": "Yo Twin! This time I drew more. Here’s everything I did: 1. I updated the Github readme and itch.io site 2. A smooth transition When the wall is broken there is a new path. When you go there the scene switches and the wall collapses so you can’t go back. 3. A bit of the town If you follow the path, you get into the town. This is the third chapter. The game shouldn’t be that long so after that there will come 2 more chapters: The REAL valley and then the castle where the legendary Kasimir sits and there will also be the kebab skewer(yay). Ok that was everything. Bye Twin!"}, {"post_id": 78833, "ts": "2026-10-11T18:34:52Z", "hours": 6.8011, "text": "Yo Twin! I must learn to make decisions because now I completely removed the fight system and you just do a puzzle. The Puzzle It is just some puzzle I made in PuzzleScript in the computer science lessons and I ported it to Godot but it it is a bit challenging. The crazy effects are back! Now after you solved the puzzle Hans comes to you and shows you his cool new gadget. And here I made also some plans for the future: Audio - The puzzle and the new Hans scene would be so much cooler and I already have an idea Translation - For now it should just be German because I speak that and Latin just for prank and I think for other languages I need help but I don’t want to use AI And I decided I will make the game a bit shorter I hope I will get it to like 30-60 minutes. Ok, Bye Twin!"}, {"post_id": 77367, "ts": "2026-10-06T17:53:13Z", "hours": 3.6044, "text": "UPDATE!!! Yo Twin! Finally I have a fight system I like. Actually it is just a redesign but it looks way better I think. This time I didn’t put the moves menu on the bottom but on the right side. That makes so much more space and I have big plans with it. I also removed the health bar and replaced it with a variable in the moves menu because it looks more like a hacker and Klaus looks like a hacker too. And I made something like paths I think that looks cool. I also added the Spooky man If I haven’t said this already And I made a sick new Animation that looks hacky (cool word) Ok bye Twin!"}, {"post_id": 75939, "ts": "2026-10-01T17:39:31Z", "hours": 1.5761, "text": "TWINNNNNNNNNNNNN I did fixed some textboxes, because sometimes I wrote Ms Mauer and sometimes Ms. Mauer and I did TWO BIG THINGS: 1. Mouse controls in the menu because some people didn’t understand it and 2. the new web version I host the game now on itch.io because it is less complicated and there are less issues but somehow the mouse controls aren’t working right. (Here try it: https://laupi-oida.itch.io/kasimirs-kebab ) Yeah pretty cool (like the image) , I know and now comes the fight system. Bye Twin!"}, {"post_id": 75671, "ts": "2026-09-30T18:14:55Z", "hours": 8.1503, "text": "BOOM Yo Twin it didn’t thought that I can remake the game in like 10 hours. But I did it. I also added a house for Klaus, because that’s a better starting point and the input delay in the menu is gone. Now I’m stuck at the fight system again. I think it isn’t a secret that the old fight system was just bad. I brain stormed a bit and have some thoughts in mind that I must combined. But that’s harder then I thought But I will brainstorm a bit. I think switching to Godot was a great decision. Bye Twin!"}, {"post_id": 73732, "ts": "2026-09-25T20:06:40Z", "hours": 1.8886, "text": "Twin! First of all: Thanks for all the reviews on my project! Many people reported issues and I want to fix them. But first: I will use Godot Yes I know in the other devlog I said I don’t really had a good time with Godot but somehow it is still the best open source game engine and it somehow really triggered me that GameMaker isn’t open source What is the current state of the game? I have already reprogrammed the textbox, the intro map and the player movement and it is SO MUCH FASTER than in LÖVE. I also saw that you can make like 2.5D graphics and I think this might look cool and I will try this in future. The issues reported 1. Many People couldn’t open the game Now that I use godot it will be a better web port and I will host it on itch.io so it should work for anyone 2. Some out of bounce glitches Yeah I didn’t place the collision boxes well but I will fix this. 3. Many People had problems with the controls I know I made it a bit confusing. I’ll make little markers at the bottom if you can do something and I will make mouse inputs in the menu. I will try to remake the game as fast as possible. Thanks for everything and bye Twin!"}, {"post_id": 72778, "ts": "2026-09-23T18:45:22Z", "hours": 1.6147, "text": "Twin! I wanted to finish the prototype It isn’t what it should be but I added a win screen and a game over screen and I changed the default action key to z because most people have qwerty kb and it was y because I have qwertz kb. There was much I wanted to add but I think love was a great experience but I must search new Horizons until I find an engine made for me. Bye Twin!"}, {"post_id": 71903, "ts": "2026-09-21T18:57:17Z", "hours": 3.0531, "text": "I give up Yo Twin! First of all i figured out how to make a web version and now you can test the game But now the sad news I give up with my plans to make a game with love2d. I had a great time and love2d but now the it feels like I must reinvent the wheel (like we in germany say), because I must code everything myself and it takes so long. That doesn’t mean I won’t finish Kasimirs Kebab This is now just a prototype or a beta. I will just switch my game engine! I first thought of Godot but I had bad experience and I think I will go to the game engine I started with: Game Maker! I like it and some great games were made with it that are similar to the game I want to make like undertale, deltarune or forager. The only thing I don’t like about it is that it isn’t open source but it only cost 100$ one time for a professional license and I mean that’s WAY better than Unity or Unreal and you support the developers, but I won’t sell this game so that doesn’t matter. You can try my prototype here: https://laup0403.github.io/Kasimirs-Kebab/ What did we learn? - All roads lead to rome. And bye Twin!"}, {"post_id": 70103, "ts": "2026-09-18T13:51:27Z", "hours": 6.8772, "text": "Yo Twin! After changin the concept of the fight system 4 times I wanted to give you an update on my inprovements. 1. Textbox improvements First of all I thougth the textbox was a bit boring so I added a read effect and also dots are read slower and thats very cool in some dialogues and you can also skip the reading. 2. A black bar It doesn’t sound important but on the left if I didn’t0 play at fullscreen there was always a little space on the left where it shouldn’t be and this bar fixes it 3. Spookyman He’s like an super human because I needed a way to give the player a wepon and he’s kinda cool AND NOW 4. The fight system It’s not done yet but I did it like in my last post but the bar with actions is at the bottom and I also automated the drawing. That means it shows always 3 Things and if I add more then it shows arrows as a notification and I can move up or down to see the other actions. And the Healthbar is like in the last post because I like that design. It was actually not that easy to make the healthbar (or I am dumb) because it is 62 pixels long and I needed to calculate how much the player has left in percent and then I set the healthbar further behind (this is the calculation for anyone wondering: (1-(fight.enemyhealth/fight.maxenemyhealth)) * 62) I also added my first sound effect for switching the action. That were some big changes! Sorry for bad english and Bye Twin!"}, {"post_id": 63784, "ts": "2026-09-07T18:59:41Z", "hours": 0.6903, "text": "Twin! Did’nt code that much but I made a plan: The “basic combat” should be similair to Final Fantasy or the Mario and Luigi game. You have a health bar and you enemy has one. Then there is a Action Field where you can do attacks and use items. Pretty basic, right? FALSE Now you think how? Idk either but there will be more because this is just the “basic combat” Note: I also tryed to make music loops and it worked well but I have no music right now. Bye Twin!"}, {"post_id": 61601, "ts": "2026-09-04T16:14:55Z", "hours": 5.1753, "text": "TWIN! First of all: sadly, I cannot make a web version of the game because of the push library and even if i try to do it without the library it won’t work. But there are also good news: I made the first boss! So you cannot fight yet but our first boss Ms. Mauer exists. I made a cool feature that if you make her mad she drops a stone on you. I already have a plan for the the fight. It should be similar to cuphead but rythm based. Think I might add sound Bye Twin!"}, {"post_id": 56638, "ts": "2026-08-28T14:01:24Z", "hours": 3.4297, "text": "BOOOM !!! Now I have your attention Twin and can tell you about my GREAT changes on the main menu. 1. The loading menu There is just one chapter for now and I will change the loading menu when I need to. I think I will make it look like the settings menu. 2. The settings menu You now start with the arrow keys and z and x as the default layout and in the settings you can change it! I tryed to record it but it is a bit async( I think that’s what it’s called). Bye Twin!"}, {"post_id": 53972, "ts": "2026-08-24T17:58:30Z", "hours": 3.4322, "text": "TWIN! I made a sign. But that is not crazy and because of that I made a main menu You can already start the game and exit the game. For the load button I thougth I will not make a safefile but from there you can start into the different chapters, because that’s easier to program and more stable if I make a web export. For the settings file there will be some audio settings and key bindings. And i also made custom symbols in my font for arrows and the exit symbol because my default font doesn’t have this. Bye Twin!"}, {"post_id": 51225, "ts": "2026-08-20T19:14:54Z", "hours": 4.0833, "text": "Twin! During the past few days I hadn’t much time but I made some bug fixes and: 1. a gamescene switch system This is important later for savestates and for easier debugging and it saves RAM usage (I hope). 2. a dialoge choice system or whatever this thing from zelda where you can choose an option is 3. the tickle monster very important. 4. new controls you can either play with wasd and k and l or with the arrow key and z/y and x Bye Twin!"}, {"post_id": 47160, "ts": "2026-08-14T20:54:39Z", "hours": 4.7125, "text": "TWIN!!!!!!!!!!!!!!! This is the biggest update in a game about kebab in the entire human history! Here’s what I added: 1. a new name Kasimirs Kebab sounds much cooler than everyone wants kebab and it will make more sense later. 2. the tickle monster Border are boring so if you go out of the map the tickle monster comes (there is no real tickle monster. the game closes it’s self but there will be one next update). 3. an intro You wan’t a doner kebab but the skewer was stolen and now you best friend hans flies with an jetpack trough the air or something idk 4. a cool Animation very Cool 5. a cover picture also very Cool. I know that was very much and I will try to make a web export so that you can try that crazy story but for now you must watch the video. Hope you liked it. Bye Twin!"}, {"post_id": 45624, "ts": "2026-08-12T07:22:13Z", "hours": 2.2822, "text": "Twin! I made some changes. 1. redesigned the textures The old textures looked pretty boring so I redesigned them and made flowers and grass 2. ySort For those who don’t know: ySort sorts the draw order based on the y coordinates and what that does you can see in the video. 3. a sick animation Now you can give Hans a handshake How cool is that? That was everything for this devlog. Bye Twin!"}, {"post_id": 45183, "ts": "2026-08-11T14:35:24Z", "hours": 4.4089, "text": "TWIN! I made BIG changes. 1. a static resolution Now you can scale the game to whatever size you want because I used the push library to set the resolution to 160x90 and it scales with the window. Note: If you want to use push and cameraMgr like me, you must change every love.graphics.getWidth() and love.graphics.getHeight() in cameraMgr.lua to if push then camera.w, camera.h = push:getDimensions() else camera.w = love.graphics.getWidth() camera.h = love.graphics.getHeight() end 2. a collsision box for our friend hans Yeah very BIG change but that’s important but here comes the biggest addon: 3. A TEXTBOX I made a system, were you add text to a queue and if the queue is not empty, it shows the textbox and first line of the queue and if you press K it just deletes the first line. Simple but extremly efficent. I think I must change the font because the font I use now has a good size but it looks kinda normal and that’s lowk boring. That was everything for this BIG update. Bye Twin!"}, {"post_id": 44134, "ts": "2026-08-09T18:14:46Z", "hours": 3.7253, "text": "TWIN! I made Collisionboxes and I made it WITHOUT A LIBRARY! It was very crazy and if I have more than 50 collision boxes it begins to lag but IT WORKS! I made 3 types of the collision boxes: 1.Player (It walks), 2.Areas (You can walk through ) and 3.Wall (You can’t walk through it). How wonderful! The video shows it more or less. Explanation how I made it: The collision detection: I use an aabb-collision detection so i check if the coordinates of two boxes are overlapping. The wall: First in the code, the player is moved. Then the coordinates of the player are given to the collision box of the player. After that the code checks if the collision box of the player overlaps with a wall and if that’s the case than it resets the position or smth like that. (I know I’m good at explaining) Bye Twin!"}, {"post_id": 42839, "ts": "2026-08-07T19:37:34Z", "hours": 1.4167, "text": "Do you think the word camera looks kinda weird? Yeah I know I should get some help, but: I fixed the map and now it’s smooth. I just must draw every Layer of the map seperate. And we got this cool guy with cool hat named hans. Bye twin!"}, {"post_id": 40851, "ts": "2026-08-04T17:14:13Z", "hours": 1.6425, "text": "Hi, Twin! My game has now a map (wow) It’s pretty ugly but it’s just a prototype so that’s ok. For the map I used the tiled app ( https://thorbjorn.itch.io/tiled ) and Simple-Tiled-Implementation ( https://github.com/karai17/Simple-Tiled-Implementation/ ) to implement it in love. And then I needed to move the camera and I use the camera script from hump ( https://github.com/vrld/hump ) for this, but the problem is, that the map doesn’t move and I really just move the map (I think) and that means I must write my own camera script. But that’s a project for the future. Bye twin!"}, {"post_id": 40342, "ts": "2026-08-03T19:44:22Z", "hours": 1.4144, "text": "Hello Twin! I wanted to make a game. I don’t have a big plan but it should include kebab because Everyone wants Kebab. I also want to challenge me so use no Gameengine just love2d or LÖVE or whatever. For the start I drawed a very Cool player and gave him controls and animations with the anim8 lib."}]...
|
Title: Kasimirs Kebab by @laupi_oida | Stardance
Title: Kasimirs Kebab by @laupi_oida | Stardance
Devlogs:
Hello Twin! I wanted to make a game. I don’t have a big plan but it should include kebab because Everyone wants Kebab. I also want to challenge me so use no Gameengine just love2d or LÖVE or whatever. For the start I drawed a very Cool player and gave him controls and animations with the anim8 lib.
Hi, Twin! My game has now a map (wow) It’s pretty ugly but it’s just a prototype so that’s ok. For the map I used the tiled app ( https://thorbjorn.itch.io/tiled ) and Simple-Tiled-Implementation ( https://github.com/karai17/Simple-Tiled-Implementation/ ) to implement it in love. And then I needed to move the camera and I use the camera script from hump ( https://github.com/vrld/hump ) for this, but the problem is, that the map doesn’t move and I really just move the map (I think) and that means I must write my own camera script. But that’s a project for the future. Bye twin!
Do you think the word camera looks kinda weird? Yeah I know I should get some help, but: I fixed the map and now it’s smooth. I just must draw every Layer of the map seperate. And we got this cool guy with cool hat named hans. Bye twin!
TWIN! I made Collisionboxes and I made it WITHOUT A LIBRARY! It was very crazy and if I have more than 50 collision boxes it begins to lag but IT WORKS! I made 3 types of the collision boxes: 1.Player (It walks), 2.Areas (You can walk through ) and 3.Wall (You can’t walk through it). How wonderful! The video shows it more or less. Explanation how I made it: The collision detection: I use an aabb-collision detection so i check if the coordinates of two boxes are overlapping. The wall: First in the code, the player is moved. Then the coordinates of the player are given to the collision box of the player. After that the code checks if the collision box of the player overlaps with a wall and if that’s the case than it resets the position or smth like that. (I know I’m good at explaining) Bye Twin!
TWIN! I made BIG changes. 1. a static resolution Now you can scale the game to whatever size you want because I used the push library to set the resolution to 160x90 and it scales with the window. Note: If you want to use push and cameraMgr like me, you must change every love.graphics.getWidth() and love.graphics.getHeight() in cameraMgr.lua to if push then camera.w, camera.h = push:getDimensions() else camera.w = love.graphics.getWidth() camera.h = love.graphics.getHeight() end 2. a collsision box for our friend hans Yeah very BIG change but that’s important but here comes the biggest addon: 3. A TEXTBOX I made a system, were you add text to a queue and if the queue is not empty, it shows the textbox and first line of the queue and if you press K it just deletes the first line. Simple but extremly efficent. I think I must change the font because the font I use now has a good size but it looks kinda normal and that’s lowk boring. That was everything for this BIG update. Bye Twin!
Twin! I made some changes. 1. redesigned the textures The old textures looked pretty boring so I redesigned them and made flowers and grass 2. ySort For those who don’t know: ySort sorts the draw order based on the y coordinates and what that does you can see in the video. 3. a sick animation Now you can give Hans a handshake How cool is that? That was everything for this devlog. Bye Twin!
TWIN!!!!!!!!!!!!!!! This is the biggest update in a game about kebab in the entire human history! Here’s what I added: 1. a new name Kasimirs Kebab sounds much cooler than everyone wants kebab and it will make more sense later. 2. the tickle monster Border are boring so if you go out of the map the tickle monster comes (there is no real tickle monster. the game closes it’s self but there will be one next update). 3. an intro You wan’t a doner kebab but the skewer was stolen and now you best friend hans flies with an jetpack trough the air or something idk 4. a cool Animation very Cool 5. a cover picture also very Cool. I know that was very much and I will try to make a web export so that you can try that crazy story but for now you must watch the video. Hope you liked it. Bye Twin!
Twin! During the past few days I hadn’t much time but I made some bug fixes and: 1. a gamescene switch system This is important later for savestates and for easier debugging and it saves RAM usage (I hope). 2. a dialoge choice system or whatever this thing from zelda where you can choose an option is 3. the tickle monster very important. 4. new controls you can either play with wasd and k and l or with the arrow key and z/y and x Bye Twin!
TWIN! I made a sign. But that is not crazy and because of that I made a main menu You can already start the game and exit the game. For the load button I thougth I will not make a safefile but from there you can start into the different chapters, because that’s easier to program and more stable if I make a web export. For the settings file there will be some audio settings and key bindings. And i also made custom symbols in my font for arrows and the exit symbol because my default font doesn’t have this. Bye Twin!
BOOOM !!! Now I have your attention Twin and can tell you about my GREAT changes on the main menu. 1. The loading menu There is just one chapter for now and I will change the loading menu when I need to. I think I will make it look like the settings menu. 2. The settings menu You now start with the arrow keys and z and x as the default layout and in the settings you can change it! I tryed to record it but it is a bit async( I think that’s what it’s called). Bye Twin!
TWIN! First of all: sadly, I cannot make a web version of the game because of the push library and even if i try to do it without the library it won’t work. But there are also good news: I made the first boss! So you cannot fight yet but our first boss Ms. Mauer exists. I made a cool feature that if you make her mad she drops a stone on you. I already have a plan for the the fight. It should be similar to cuphead but rythm based. Think I might add sound Bye Twin!
Twin! Did’nt code that much but I made a plan: The “basic combat” should be similair to Final Fantasy or the Mario and Luigi game. You have a health bar and you enemy has one. Then there is a Action Field where you can do attacks and use items. Pretty basic, right? FALSE Now you think how? Idk either but there will be more because this is just the “basic combat” Note: I also tryed to make music loops and it worked well but I have no music right now. Bye Twin!
Yo Twin! After changin the concept of the fight system 4 times I wanted to give you an update on my inprovements. 1. Textbox improvements First of all I thougth the textbox was a bit boring so I added a read effect and also dots are read slower and thats very cool in some dialogues and you can also skip the reading. 2. A black bar It doesn’t sound important but on the left if I didn’t0 play at fullscreen there was always a little space on the left where it shouldn’t be and this bar fixes it 3. Spookyman He’s like an super human because I needed a way to give the player a wepon and he’s kinda cool AND NOW 4. The fight system It’s not done yet but I did it like in my last post but the bar with actions is at the bottom and I also automated the drawing. That means it shows always 3 Things and if I add more then it shows arrows as a notification and I can move up or down to see the other actions. And the Healthbar is like in the last post because I like that design. It was actually not that easy to make the healthbar (or I am dumb) because it is 62 pixels long and I needed to calculate how much the player has left in percent and then I set the healthbar further behind (this is the calculation for anyone wondering: (1-(fight.enemyhealth/fight.maxenemyhealth)) * 62) I also added my first sound effect for switching the action. That were some big changes! Sorry for bad english and Bye Twin!
I give up Yo Twin! First of all i figured out how to make a web version and now you can test the game But now the sad news I give up with my plans to make a game with love2d. I had a great time and love2d but now the it feels like I must reinvent the wheel (like we in germany say), because I must code everything myself and it takes so long. That doesn’t mean I won’t finish Kasimirs Kebab This is now just a prototype or a beta. I will just switch my game engine! I first thought of Godot but I had bad experience and I think I will go to the game engine I started with: Game Maker! I like it and some great games were made with it that are similar to the game I want to make like undertale, deltarune or forager. The only thing I don’t like about it is that it isn’t open source but it only cost 100$ one time for a professional license and I mean that’s WAY better than Unity or Unreal and you support the developers, but I won’t sell this game so that doesn’t matter. You can try my prototype here: https://laup0403.github.io/Kasimirs-Kebab/ What did we learn? - All roads lead to rome. And bye Twin!
Twin! I wanted to finish the prototype It isn’t what it should be but I added a win screen and a game over screen and I changed the default action key to z because most people have qwerty kb and it was y because I have qwertz kb. There was much I wanted to add but I think love was a great experience but I must search new Horizons until I find an engine made for me. Bye Twin!
Twin! First of all: Thanks for all the reviews on my project! Many people reported issues and I want to fix them. But first: I will use Godot Yes I know in the other devlog I said I don’t really had a good time with Godot but somehow it is still the best open source game engine and it somehow really triggered me that GameMaker isn’t open source What is the current state of the game? I have already reprogrammed the textbox, the intro map and the player movement and it is SO MUCH FASTER than in LÖVE. I also saw that you can make like 2.5D graphics and I think this might look cool and I will try this in future. The issues reported 1. Many People couldn’t open the game Now that I use godot it will be a better web port and I will host it on itch.io so it should work for anyone 2. Some out of bounce glitches Yeah I didn’t place the collision boxes well but I will fix this. 3. Many People had problems with the controls I know I made it a bit confusing. I’ll make little markers at the bottom if you can do something and I will make mouse inputs in the menu. I will try to remake the game as fast as possible. Thanks for everything and bye Twin!
BOOM Yo Twin it didn’t thought that I can remake the game in like 10 hours. But I did it. I also added a house for Klaus, because that’s a better starting point and the input delay in the menu is gone. Now I’m stuck at the fight system again. I think it isn’t a secret that the old fight system was just bad. I brain stormed a bit and have some thoughts in mind that I must combined. But that’s harder then I thought But I will brainstorm a bit. I think switching to Godot was a great decision. Bye Twin!
TWINNNNNNNNNNNNN I did fixed some textboxes, because sometimes I wrote Ms Mauer and sometimes Ms. Mauer and I did TWO BIG THINGS: 1. Mouse controls in the menu because some people didn’t understand it and 2. the new web version I host the game now on itch.io because it is less complicated and there are less issues but somehow the mouse controls aren’t working right. (Here try it: https://laupi-oida.itch.io/kasimirs-kebab ) Yeah pretty cool (like the image) , I know and now comes the fight system. Bye Twin!
UPDATE!!! Yo Twin! Finally I have a fight system I like. Actually it is just a redesign but it looks way better I think. This time I didn’t put the moves menu on the bottom but on the right side. That makes so much more space and I have big plans with it. I also removed the health bar and replaced it with a variable in the moves menu because it looks more like a hacker and Klaus looks like a hacker too. And I made something like paths I think that looks cool. I also added the Spooky man If I haven’t said this already And I made a sick new Animation that looks hacky (cool word) Ok bye Twin!
Yo Twin! I must learn to make decisions because now I completely removed the fight system and you just do a puzzle. The Puzzle It is just some puzzle I made in PuzzleScript in the computer science lessons and I ported it to Godot but it it is a bit challenging. The crazy effects are back! Now after you solved the puzzle Hans comes to you and shows you his cool new gadget. And here I made also some plans for the future: Audio - The puzzle and the new Hans scene would be so much cooler and I already have an idea Translation - For now it should just be German because I speak that and Latin just for prank and I think for other languages I need help but I don’t want to use AI And I decided I will make the game a bit shorter I hope I will get it to like 30-60 minutes. Ok, Bye Twin!
Yo Twin! This time I drew more. Here’s everything I did: 1. I updated the Github readme and itch.io site 2. A smooth transition When the wall is broken there is a new path. When you go there the scene switches and the wall collapses so you can’t go back. 3. A bit of the town If you follow the path, you get into the town. This is the third chapter. The game shouldn’t be that long so after that there will come 2 more chapters: The REAL valley and then the castle where the legendary Kasimir sits and there will also be the kebab skewer(yay). Ok that was everything. Bye Twin!
Yo Twin! The City stands! The corners look a bit weird but ok. In the city there are 4 houses and 4 wise man inside that tell you something about Kasimir and if you speak to all of them the gate to the “real valley” opens. And I also changed the dialog with the doner guy, because the thief is now Kasimir and not a beetle. The next chapter will become a bit more chill, but the last chapter will be CRAZY. Trust me. Ok bye Twin!
YOOOOOOOOOOOOOOOOOOOO TWIN!!! It’s done. I mean the story the game isn’t ready yet I added the castle and the isn’t Kasimir. Then you go into the kitchen and see a doner kebab. And what then happens I won’t spoiler. But after that comes: a paywall because why not? But I think the last chapters are a bit empty but I didn’t really had fun at the end. Löve was way more fun. Now there are the following the tasks: Updating the menu: There aren’t all chapters in the load scene Mobile controls: I want that everyone can play this game and I think mobile controls are necessary (not even all my friends have a PC) Language translation: I want German translation and Latin (just for prank), because that are the only languages I speak except English Audio: I’m really bad at sound but I think some sound will be good! We are so far but I still don’t see the end. Bye Twin!
TWIN! This is the last or the second last devlog. Here’s what i added: 1. Mobile controls In the settings you can now enable mobile mode. I think I made it really cool because I made 3 States and in 1 state you can see the arrows,in the other nothing and the complete screen is action1 and in the last you see the question buttons. That works really well I think 2. Sounds Some sounds are good some sounds are not so good but I think they match the games style and the sounds from the last chapter are really good I think 3. New main menu It looks the same but now I use buttons instead of areas and you can just control it with mouse or touchscreen and not arrow keys anymore I’m gonna send the game to my playtesters and see if they find any bugs (they are really good in bug finding) Bye Twin!
Final Devlog! Twin I made it! I had some issues with the scene loading in chapter5 because of how I load chapter4 and chapter5 loads on top of chapter4 then. And I changed the looping of the sound at the end of chapter5, because it didn’t work on web. At last I also changed the Github readme and the Itch site. This was it. Bye Twin!
Ships:
I developed a rpg game with the framework LÖVE2D using Lua. I made my own textbox queue system, collision system, fight system, menu and you can change the keyboard layout. I learned that it’s important to write clean code and how to automate many processes. And somehow I learned more English than in school (I’m still bad at English).
What did I made? I rewrote my game made in LÖVE2D to Godot and added: 3 new Chapters and rebuild of one chapter sounds mobile controls a paywall (because why not) What was challenging? The complete rewrite wasn’t actually that hard but some special effects and scene switching was hard, because I tried a different way to switch scenes, than normal. And audio design was challenging because I’m not so good at it. What I’m proud of? I’m very proud of the laser beam in chapter2, the last chapter and the mobile controls, because I think they are good....
|
1793339479.6495368
|
1793425879.6495368
|
|
5020
|
FLOWS by @UntitledMacaw | Stardance
|
UntitledMacaw
|
1
|
34.44
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T18:21:49Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is FLOWS. It is a program that takes in terrain data and water infiltration data and finds bowl-like depressions (or simply “basins”). Why is that useful: for each basin, water-height doesn’t change (for the same rainfall). This means we can pre-calculate various rainfall scenarios and store their results, so we can have a simple and quick way of estimating flood risk. Compilation was also made focusing on lower-end hardware, were we avoid feeding the entire data into the RAM, and instead partition the dataset in smart ways so we can make it all fit within our constrains!", "repo": "https://github.com/UntitledMacaw/FLOWS", "demo": "https://github.com/UntitledMacaw/FLOWS/releases/tag/Beta"}]...
|
[{"post_id": 79403, "ts": "202 [{"post_id": 79403, "ts": "2026-10-13T20:29:07Z", "hours": 0.9344, "text": "Alright, so new changes! Today I tried to make a DEMO for my project! Since the user is originally intended to provided topological files (that for demonstration purposes may not be available), I have also packaged inside the .sh file a DEMO version, that has its own very small dataset, so everyone can see the project in action even without the needed files."}, {"post_id": 77692, "ts": "2026-10-07T22:54:32Z", "hours": 0.6186, "text": "Another day and guess what: another feature! I added a new function to the code that takes in a “starting point” for basin compilation. What this does is, given a starting point integer provided by the user (call it S), it skips all basins with an ID lower than S. This is good ’cuz we can stop the code with control + C and later keep on where we left by choosing our last compiled basin as our starting point! I probably should have done this a long time ago instead of right know when I actually needed it, but hey: Better late than never am i right?"}, {"post_id": 74665, "ts": "2026-09-27T22:24:01Z", "hours": 2.655, "text": "YEEEEAAAAH! I decided to try and create an executable for my script, and boy was hard. The problem was that major libraries like gdal and whitebox required a bunch of other system libraries to work. This means I had to try to get them into the executable, and let me tell ya: This took a lot of time. But finally, it works (i hope)! I will be posting the executable (linux only of course) on github later!"}, {"post_id": 74018, "ts": "2026-09-26T15:19:42Z", "hours": 1.2344, "text": "Update on compilation: Well, a lot of stuff happened. I can’t really keep my computer running non stop all day and night, so I was resorting to suspending the laptop so runtime would keep frozen in RAM. But today, after a week of running the program and almost halfway left, I woke up to find the computer out of battery (probably it kept running in suspend mode and just died). That was quite devastating, but the only thing I could do was to update my code with checkpoints so that if that happens again, I won’t need to run everything again like I’m about to do now. I took that chance to also fix some typos in my README and my github pages, so I guess I got something good out of this!"}, {"post_id": 71782, "ts": "2026-09-21T15:16:55Z", "hours": 5.7964, "text": "Making some minor changes so my github before posting my project!"}, {"post_id": 63759, "ts": "2026-09-07T18:33:58Z", "hours": 8.0975, "text": "Finally able to find bowl-like depressions now"}, {"post_id": 40144, "ts": "2026-08-03T15:27:42Z", "hours": 9.9969, "text": "Writing a pdf devlog for my project!"}, {"post_id": 36462, "ts": "2026-07-28T16:19:12Z", "hours": 4.8508, "text": "Just discovered this nice tool called WhiteBoxTools, and was also able to find its user manual! Now I won’t need to process terrain from scratch, and instead get I can all the data I’m looking for without reinventing the wheel."}, {"post_id": 878, "ts": "2026-06-02T16:27:54Z", "hours": 0.3542, "text": "Figured out how to read a digital elevation model with python"}]...
|
Title: FLOWS by @UntitledMacaw | Stardance
Devlog Title: FLOWS by @UntitledMacaw | Stardance
Devlogs:
Figured out how to read a digital elevation model with python
Just discovered this nice tool called WhiteBoxTools, and was also able to find its user manual! Now I won’t need to process terrain from scratch, and instead get I can all the data I’m looking for without reinventing the wheel.
Writing a pdf devlog for my project!
Finally able to find bowl-like depressions now
Making some minor changes so my github before posting my project!
Update on compilation: Well, a lot of stuff happened. I can’t really keep my computer running non stop all day and night, so I was resorting to suspending the laptop so runtime would keep frozen in RAM. But today, after a week of running the program and almost halfway left, I woke up to find the computer out of battery (probably it kept running in suspend mode and just died). That was quite devastating, but the only thing I could do was to update my code with checkpoints so that if that happens again, I won’t need to run everything again like I’m about to do now. I took that chance to also fix some typos in my README and my github pages, so I guess I got something good out of this!
YEEEEAAAAH! I decided to try and create an executable for my script, and boy was hard. The problem was that major libraries like gdal and whitebox required a bunch of other system libraries to work. This means I had to try to get them into the executable, and let me tell ya: This took a lot of time. But finally, it works (i hope)! I will be posting the executable (linux only of course) on github later!
Another day and guess what: another feature! I added a new function to the code that takes in a “starting point” for basin compilation. What this does is, given a starting point integer provided by the user (call it S), it skips all basins with an ID lower than S. This is good ’cuz we can stop the code with control + C and later keep on where we left by choosing our last compiled basin as our starting point! I probably should have done this a long time ago instead of right know when I actually needed it, but hey: Better late than never am i right?
Alright, so new changes! Today I tried to make a DEMO for my project! Since the user is originally intended to provided topological files (that for demonstration purposes may not be available), I have also packaged inside the .sh file a DEMO version, that has its own very small dataset, so everyone can see the project in action even without the needed files.
Ships:
This is FLOWS. It is a program that takes in terrain data and water infiltration data and finds bowl-like depressions (or simply “basins”). Why is that useful: for each basin, water-height doesn’t change (for the same rainfall). This means we can pre-calculate various rainfall scenarios and store their results, so we can have a simple and quick way of estimating flood risk. Compilation was also made focusing on lower-end hardware, were we avoid feeding the entire data into the RAM, and instead partition the dataset in smart ways so we can make it all fit within our constrains!...
|
1793339473.394927
|
1793425873.394927
|
|
48047
|
WildOS by @Raphel | Stardance
|
Raphel
|
2
|
37.0
|
452
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T12:17:29Z", "hours": 31.0, "multiplier": 14.67, "payout": 452, "blessing": "neutral", "text": "WILDOS at last i completed WildOS for the WebOS 2 JAM . WildOS is a web-based but nature-themed OS and my second WebOS. My first WebOS helped me understand how a WebOS works, so this time i wanted to make something bigger and more functional. What I Built I made 9 apps : Wild Notes - write notes Wild Music Player - play music Wild Files - explore and download files Wild Settings - change the appearance Wild Weather - shows the weather of the Amazon Rainforest Wild Store - download and install apps Wild Gallery - view pictures Wild Sounds - play some crazy sounds Wildo - the personal assistant of WildOS The Music Player and Wild Store took me the most time. While making them, i learned more about JavaScript , app structures and how different parts of the OS connect together. Features Custom backgrounds Appearance settings Background sounds Boot animation Boot percentage Boot music Filters Custom cursor 3 new songs Draggable windows Fullscreen support App downloading and installation I also completely changed Wildo . Now he can give guides about WildOS and generate 2 images using JavaScript . Problems I Faced One big problem i faced was having 1000+ lines of HTML in one file . As the project became bigger, it became harder to find things and fix bugs. I spent time aligning and organising the code. I also faced some lag and dragging bugs while building it. This helped me learn how important it is to keep the code organised when a project gets bigger. How It Works mainly WildOS works like a small OS inside the browser. You can open apps from the dock, move the windows around, change the appearance, play music and download apps from the Store. You can play it directly in the browser. Use fullscreen and headphones for a better experience. Easter Eggs There are some Easter Eggs hidden inside WildOS. Double-click the tree icon on the top Double-click the WildOS text on the top There are also some more things hidden around the WildOS. I really enjoyed building WildOS and learned a lot about JavaScript, app structures, dragging windows, music players and fixing bugs . That’s it for WebOS 2 . check it out, ya tried!", "repo": "https://github.com/RaphelReji/WildOS", "demo": "https://raphelreji.github.io/WildOS/"}, {"ship_num": 2, "ts": "2026-09-09T03:07:49Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "WildOS It was so cool to complete the WebOS 1 JAM. I made WildOS, a web-based but nature-themed OS. Thanks to MeowOS for inspiring me to build one too. Also thanks to the WebOS Guide that helped me understand what to build, and thanks to the team that built that guide. So what I built is a nature-themed OS called WildOS. It is fully nature-themed and has some awesome features. This one is web playable, so anyone can test it directly in the browser. I added 5 apps to it. The first one is WildNotes, where you can write your notes. The second one is a music player that lets you play some cool music. The third one is Files, which is just a simple file window. The fourth one is Settings, where you can change the theme. And the fifth one is WILDO, WildOS’s personal assistant, but it is always unreachable. I also added a booting window, text animations, a live clock, customizable themes, and draggable windows. This is my second WebOS. The first one gave me an idea of how a WebOS could work, and while building WildOS I learned more about JavaScript, especially dragging windows and making the booting screen. I also took a little inspiration from macOS for the dock and some of the icons, but I tried to make the rest of the design my own and keep everything around the nature theme. It was really interesting to build and I learned a lot from it. That’s it for WebOS 1. let’s see what I can build for WebOS 2.", "repo": "https://github.com/RaphelReji/WildOS", "demo": "https://raphelreji.github.io/WildOS/"}]...
|
[{"post_id": 68944, "ts": "202 [{"post_id": 68944, "ts": "2026-09-16T02:53:40Z", "hours": 1.4153, "text": "completed the readme for the project and made it properly written with the project details and everything needed. it took some time to arrange everything in the readme so it looks clean and understandable. i also aligned the 1000 line html code properly because it was not properly aligned before and it was hard to read and work with. now the readme is completed and the html code is properly aligned."}, {"post_id": 68735, "ts": "2026-09-15T17:19:06Z", "hours": 7.9703, "text": "WILDOS FINAL-DEVLOG at last i completed the wildos. i completed the store and the rest of the apps . the store took a long time to make but at last i completed it and made it functional. i also changed some app styles from webos1, made my own backgrounds for the boot and main window, added filters and a cursor image. also added boot percentage, boot music, some easter eggs and 3 new songs. i completely changed wildo and now he can give guides and generate 2 images. i also aligned the 1000 line html code and added the wifi logo. at last everything is done. ready to ship..!"}, {"post_id": 67756, "ts": "2026-09-14T00:10:29Z", "hours": 3.3075, "text": "WEBOS 2 today was another interesting day of working on my webos 2. i added two more apps to the webos — Gallery and Sounds . i also somehow managed to fix the lag bug that was happening when using the webos. it was a really annoying bug because sometimes the ui would get stuck or become slow, but after working on it i finally got it working much better. after that i completed the design of the Store app . the store is going to be one of the bigger parts of the webos because it can be used to show and add different apps. the design part is now completed and i also started working on the JS for it. i also added a click sound when interacting with things in the webos. its a small feature but it makes the experience feel much better and gives the webos a little more life. added Gallery app added Sounds app fixed the lag bug completed the Store design started the Store JS added click sounds today also taught me a lot about JavaScript, app structures, bugs and how different parts of the webos connect together . the wildos is slowly becoming bigger and more complete with every update. there is still a lot left to build I am trying to make it fast ,bye!"}, {"post_id": 67245, "ts": "2026-09-13T09:32:47Z", "hours": 5.0822, "text": "Devlog WildOS Today I worked on APP STORE mostly and sometime on settings as well. I added store app struture and details for apps in store . I also have some lag bugs with web but i am trying to resolve that Next, I am going to: resolve the lag bug finish the store app with js build sounds and galllery app yay bugs bugs let me complete this one"}, {"post_id": 66588, "ts": "2026-09-12T13:13:04Z", "hours": 3.57, "text": "wildOS Worked on settings today. I added appearance , customisable backgrounds and background music . I also worked on fixing javascript bugs and learned more about music ,dragging etc . Next, I am going to: completeing settings app store some music Getting closer to completing my WebOS2"}, {"post_id": 66357, "ts": "2026-09-12T04:37:35Z", "hours": 2.8344, "text": "I ADDED MUSIC PLAYER ,THE FILES- ALL BUTTONS IS WORKING ADDED A STORE BUT NOT COMPLTED ALSO FIXED SOME BUGS OF DRAGGING WINDOW"}, {"post_id": 65689, "ts": "2026-09-11T00:38:15Z", "hours": 2.0319, "text": "worked on music player added the javascript now adding the store app and inside that some apps to download also added new fonts , changed all macos style icons in green icons more comming"}, {"post_id": 65408, "ts": "2026-09-10T15:02:23Z", "hours": 4.5831, "text": "I started working on WebOS 2.Today, I added some new things:Added a new structure for the Music Player Added a Weather app Added file downloading in the File app Added full-size windows for all apps Next, I’m going to finish the Music Player and start working on a Store app."}, {"post_id": 64587, "ts": "2026-09-09T02:59:52Z", "hours": 5.2072, "text": "At last i completed it.It was so cool to complete the WebOS 1 JAM. I made WildOS, a web-based but nature-themed OS.Thanks to MeowOS for inspiring me to build one too, and also thanks to the WebOS Guide that helped me understand what to build. Also thanks to the team that built that guide.So what i built is a nature-themed OS called WildOS.It is fully nature-themed and has some awesome features. This one is web-playable, so anyone can test it directly in the browser.I added 5 apps to it. The first one is WildNotes, where you can write your notes. The second one is a music player that lets you play some cool music. The third one is Files, which is just a simple file window. The fourth one is Settings, where you can change the theme. And the fifth one is WILDO, WildOS’s personal assistant, but it is always unreachable.I also added a clock based on the WebOS Guide.I took a little inspiration from macOS, mainly for the dock and the icons, but most of the design is based around my own nature theme.Overall, it was really fun to build WildOS and learn how a WebOS works while making it.Now I’m ready for WebOS 2."}, {"post_id": 58221, "ts": "2026-08-30T16:04:35Z", "hours": 0.7883, "text": "WILDOS Hi i am using my free time to complete the webos i am mainly using html,css,and some javascript.So i making the first webOS so a very simple.btw i created the booting screen and a dragable window now i want to style it and thanks to the guide by stardance and meowos , i take it a inspiration to bulid this . see ya"}, {"post_id": 54947, "ts": "2026-08-26T11:25:46Z", "hours": 0.4189, "text": "WildOS — 2DayDevlog Day 1 The Beginning Today I started working on WildOS, The main goal is to create an OS with a unique identity SO I began by planning the overall design, user interface, and the features I want WildOS to have.I worked on the basic structure of the project and thought about how the desktop, applications, settings, and navigation should work together. I also started experimenting with the visual style and layout.There is still a lot to build, but getting the foundation started feels like a big step. Day 1 progress :Started the WildOS project Planned the basic OS structureDesigned the initial UI conceptStarted working on the desktop experienceListed features for future versions Day 2 — Building the WildOS focused more on turning the initial idea into something that actually feels like an operating system.I worked on the interface and started connecting different parts of the system together. I also thought about how users will interact with WildOS, including the desktop, applications, menus, and settings.The project is still in an early stage, but the direction is becoming much clearer. There are plenty of things left to improve. so at last i created the desktop booting and the first window ,still a lot more"}]...
|
Title: WildOS by @Raphel | Stardance
Devlogs:
Wil Title: WildOS by @Raphel | Stardance
Devlogs:
WildOS — 2DayDevlog Day 1 The Beginning Today I started working on WildOS, The main goal is to create an OS with a unique identity SO I began by planning the overall design, user interface, and the features I want WildOS to have.I worked on the basic structure of the project and thought about how the desktop, applications, settings, and navigation should work together. I also started experimenting with the visual style and layout.There is still a lot to build, but getting the foundation started feels like a big step. Day 1 progress :Started the WildOS project Planned the basic OS structureDesigned the initial UI conceptStarted working on the desktop experienceListed features for future versions Day 2 — Building the WildOS focused more on turning the initial idea into something that actually feels like an operating system.I worked on the interface and started connecting different parts of the system together. I also thought about how users will interact with WildOS, including the desktop, applications, menus, and settings.The project is still in an early stage, but the direction is becoming much clearer. There are plenty of things left to improve. so at last i created the desktop booting and the first window ,still a lot more
WILDOS Hi i am using my free time to complete the webos i am mainly using html,css,and some javascript.So i making the first webOS so a very simple.btw i created the booting screen and a dragable window now i want to style it and thanks to the guide by stardance and meowos , i take it a inspiration to bulid this . see ya
At last i completed it.It was so cool to complete the WebOS 1 JAM. I made WildOS, a web-based but nature-themed OS.Thanks to MeowOS for inspiring me to build one too, and also thanks to the WebOS Guide that helped me understand what to build. Also thanks to the team that built that guide.So what i built is a nature-themed OS called WildOS.It is fully nature-themed and has some awesome features. This one is web-playable, so anyone can test it directly in the browser.I added 5 apps to it. The first one is WildNotes, where you can write your notes. The second one is a music player that lets you play some cool music. The third one is Files, which is just a simple file window. The fourth one is Settings, where you can change the theme. And the fifth one is WILDO, WildOS’s personal assistant, but it is always unreachable.I also added a clock based on the WebOS Guide.I took a little inspiration from macOS, mainly for the dock and the icons, but most of the design is based around my own nature theme.Overall, it was really fun to build WildOS and learn how a WebOS works while making it.Now I’m ready for WebOS 2.
I started working on WebOS 2.Today, I added some new things:Added a new structure for the Music Player Added a Weather app Added file downloading in the File app Added full-size windows for all apps Next, I’m going to finish the Music Player and start working on a Store app.
worked on music player added the javascript now adding the store app and inside that some apps to download also added new fonts , changed all macos style icons in green icons more comming
I ADDED MUSIC PLAYER ,THE FILES- ALL BUTTONS IS WORKING ADDED A STORE BUT NOT COMPLTED ALSO FIXED SOME BUGS OF DRAGGING WINDOW
wildOS Worked on settings today. I added appearance , customisable backgrounds and background music . I also worked on fixing javascript bugs and learned more about music ,dragging etc . Next, I am going to: completeing settings app store some music Getting closer to completing my WebOS2
Devlog WildOS Today I worked on APP STORE mostly and sometime on settings as well. I added store app struture and details for apps in store . I also have some lag bugs with web but i am trying to resolve that Next, I am going to: resolve the lag bug finish the store app with js build sounds and galllery app yay bugs bugs let me complete this one
WEBOS 2 today was another interesting day of working on my webos 2. i added two more apps to the webos — Gallery and Sounds . i also somehow managed to fix the lag bug that was happening when using the webos. it was a really annoying bug because sometimes the ui would get stuck or become slow, but after working on it i finally got it working much better. after that i completed the design of the Store app . the store is going to be one of the bigger parts of the webos because it can be used to show and add different apps. the design part is now completed and i also started working on the JS for it. i also added a click sound when interacting with things in the webos. its a small feature but it makes the experience feel much better and gives the webos a little more life. added Gallery app added Sounds app fixed the lag bug completed the Store design started the Store JS added click sounds today also taught me a lot about JavaScript, app structures, bugs and how different parts of the webos connect together . the wildos is slowly becoming bigger and more complete with every update. there is still a lot left to build I am trying to make it fast ,bye!
WILDOS FINAL-DEVLOG at last i completed the wildos. i completed the store and the rest of the apps . the store took a long time to make but at last i completed it and made it functional. i also changed some app styles from webos1, made my own backgrounds for the boot and main window, added filters and a cursor image. also added boot percentage, boot music, some easter eggs and 3 new songs. i completely changed wildo and now he can give guides and generate 2 images. i also aligned the 1000 line html code and added the wifi logo. at last everything is done. ready to ship..!
completed the readme for the project and made it properly written with the project details and everything needed. it took some time to arrange everything in the readme so it looks clean and understandable. i also aligned the 1000 line html code properly because it was not properly aligned before and it was hard to read and work with. now the readme is completed and the html code is properly aligned.
Ships:
WildOS It was so cool to complete the WebOS 1 JAM. I made WildOS, a web-based but nature-themed OS. Thanks to MeowOS for inspiring me to build one too. Also thanks to the WebOS Guide that helped me understand what to build, and thanks to the team that built that guide. So what I built is a nature-themed OS called WildOS. It is fully nature-themed and has some awesome features. This one is web playable, so anyone can test it directly in the browser. I added 5 apps to it. The first one is WildNotes, where you can write your notes. The second one is a music player that lets you play some cool music. The third one is Files, which is just a simple file window. The fourth one is Settings, where you can change the theme. And the fifth one is WILDO, WildOS’s personal assistant, but it is always unreachable. I also added a booting window, text animations, a live clock, customizable themes, and draggable windows. This is my second WebOS. The first one gave me an idea of how a WebOS could work, and while building WildOS I learned more about JavaScript, especially dragging windows and making the booting screen. I also took a little inspiration from macOS for the dock and some of the icons, but I tried to make the rest of the design my own and keep everything around the nature theme. It was really interesting to build and I learned a lot from it. That’s it for WebOS 1. let’s see what I can build for WebOS 2.
WILDOS at last i completed WildOS for the WebOS 2 JAM . WildOS is a web-based but nature-themed OS and my second WebOS. My first WebOS helped me understand how a WebOS works, so this time i wanted to make something bigger and more functional. What I Built I made 9 apps : Wild Notes - write notes Wild Music Player - play music Wild Files - explore and download files Wild Settings - change the appearance Wild Weather - shows the weather of the Amazon Rainforest Wild Store - download and install apps Wild Gallery - view pictures Wild Sounds - play some crazy sounds Wildo - the personal assistant of WildOS The Music Player and Wild Store took me the most time. While making them, i learned more about JavaScript , app structures and how different parts of the OS connect together. Features Custom backgrounds Appearance settings Background sounds Boot animation Boot percentage Boot music Filters Custom cursor 3 new songs Draggable windows Fullscreen support App downloading and installation I also completely changed Wildo . Now he can give guides about WildOS and generate 2 images using JavaScript . Problems I Faced One big problem i faced was having 1000+ lines of HTML in one file . As the project became bigger, it became harder to find things and fix bugs. I spent time aligning and organising the code. I also faced some lag and dragging bugs while building it. This helped me learn how important it is to keep the code organised when a project gets bigger. How It Works mainly WildOS works like a small OS inside the browser. You can open apps from the dock, move the windows around, change the appearance, play music and download apps from the Store. You can play it directly in the browser. Use fullscreen and headphones for a better experience. Easter Eggs There are some Easter Eggs hidden inside WildOS. Double-click the tree icon on the top Double-click the WildOS text on the top There are also some more things hidden around the WildOS. I really enjoyed building WildOS and learned a lot about JavaScript, app structures, dragging windows, music players and fixing bugs . That’s it for WebOS 2 . check it out, ya tried!...
|
1793339470.3145778
|
1793425870.3145778
|
|
43178
|
GamEngine by @bartoszkasyna | Stardance
|
bartoszkasyna
|
1
|
244.34
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T15:49:21Z", "hours": 195.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made GPU driven game engine. It use vulkan 1.4. GTAO and VSM are still little bugged. Project will be still in development. This experimental version. More deatils are in devlogs. If engine or demo crashes on your device please send me generated logs and device specification", "repo": "https://github.com/B4rtekk1/GamEngine", "demo": "https://github.com/B4rtekk1/GamEngine/releases/tag/v0.1.0"}]...
|
[{"post_id": 79106, "ts": "202 [{"post_id": 79106, "ts": "2026-10-12T18:07:52Z", "hours": 10.8381, "text": "I was working on bug fixes and glass system. Glass is not working was I want but it havs some progress. Currently glass is highly unoptimized."}, {"post_id": 78281, "ts": "2026-10-10T08:29:57Z", "hours": 4.4117, "text": "I made custom installer for my engine. Now i willl work on optimatization"}, {"post_id": 74967, "ts": "2026-09-28T18:36:35Z", "hours": 9.7639, "text": "I mainly working on bug fixing. Now VSM and GTAO are fully stable, TAA still needs some love. I was also working on fbx model importer. On the image you can see Amazon Lumberyard Bistro which has 2.7M triangles with 140FPS. I have to work on fps stability while moving camera and make glass shader/object."}, {"post_id": 74396, "ts": "2026-09-27T09:59:55Z", "hours": 9.5208, "text": "I was trying to made my version of DDGI but it was unstable, so I made this disabled. Full DDGI would be impossible for my gpu so I used Brixelizer GI from FidelityFX SDK from AMD. It looks good and stable. Image is capyured on intel sponza which has 2.7M traingles - 13x more than original sponza so my engine scale well."}, {"post_id": 73521, "ts": "2026-09-25T09:34:28Z", "hours": 9.7292, "text": "I was working on Ray Traced Contact Shadows and DDGI. Ray traced shadows works well without droping fps that much. Currently my DDGI is bugged - its very dark. The image is taken with RTCS, DGGI disabled"}, {"post_id": 72555, "ts": "2026-09-23T06:37:29Z", "hours": 5.0792, "text": "Successfully optimized GTAO and VSM, 40FPS gain and more stable 1% low"}, {"post_id": 71260, "ts": "2026-09-20T15:17:19Z", "hours": 7.5197, "text": "I was working on game optimization, editor functionalities and standalone game building. I successfully optimized GTAO and VSM a little. GTAO still have some halo around some objects and VSM are not full stable. I added option build game in editor. I have to optimize editor a little and add some more functionalities. On the first image you can see nvidia nsight graphics profiler and on the second one standalone game build running in 160 after few seconds. This is decent score for rtx 3050."}, {"post_id": 70490, "ts": "2026-09-19T08:46:32Z", "hours": 7.4986, "text": "I was trying to fix shadows but it didint go well, so I gave up and started refactoring code for better readibiliy. On the image you can see broken verin of shadows, dont worry I went back to working ones. I fixed few smaller nearly invisible shadows bugs, so I didint waste myy time. Now I will focus on optimatization and graphics effet"}, {"post_id": 69704, "ts": "2026-09-17T16:43:10Z", "hours": 8.0603, "text": "I started migration to dynamic rendering, so rendering pipeline would be much easier for user. I also made custom title bar. Im in process of improving UI. I found two bugs - in certains camera angle shadows/AO or something doesnt work correctly. Second - some random patterns may occur while looking into sky inside sponza"}, {"post_id": 69075, "ts": "2026-09-16T10:23:21Z", "hours": 5.7283, "text": "I made water system but it look horrible and performance isnt great, so i focused next on large models importing. Big models are now devided into meshlets. On the image you can see very popular benchmark scene, its called crytek sponza. I think that 170FPS in this stage is good"}, {"post_id": 68570, "ts": "2026-09-15T10:28:57Z", "hours": 8.1017, "text": "I am working on water system. I decided to make something diffrent that normal water commonly used in every modern engine. I want to make virtual water system which is inspired by VSM. More technical details I will provide in devlog when I finish my water system. I dont have any working water image so I just upload some engine footage. PS. It might be much more optimize than normal water."}, {"post_id": 67943, "ts": "2026-09-14T08:27:35Z", "hours": 6.5411, "text": "I was working on water system and improving GTAO. While testing I found weird little horizontal strips on shadows. I thought it was my WSM bug so I was trying to fix it. After I checked all possible bugs i realized that I could downgrade GTAO by linear interpolation. I fixed it and now works fine. Water currently has implemented SSR and simple Gernster waves. On the images you can see clip levels and virutal pages shown in shadow debug mode"}, {"post_id": 67159, "ts": "2026-09-13T07:20:53Z", "hours": 7.1444, "text": "I was working on editor optimatization and bug fixes. Editor launch time jumped from ~7seconds to 1.5 seconds if editor has cache, otherwise 4.3 seconds. Launching editor no more cause vulkan errors. I also added IBL and reflects. I also bugged shadows a little."}, {"post_id": 66406, "ts": "2026-09-12T06:58:22Z", "hours": 6.8744, "text": "I was working on finishing render graph. I also optimized editor - in huge scenes it will have more stable 60FPS. I optimized game mode - 1% low are higher now"}, {"post_id": 65853, "ts": "2026-09-11T08:49:16Z", "hours": 8.0272, "text": "I was mainly working on models and textures compression. Textures are now compressed into BC7 format. I also added remdergraph so user dont have to make it manually."}, {"post_id": 65239, "ts": "2026-09-10T07:13:42Z", "hours": 7.9544, "text": "Today I was working on game optimatization and little shadows improvements. I was mainly working on game profiler as you can see in the image"}, {"post_id": 64328, "ts": "2026-09-08T16:49:40Z", "hours": 9.6778, "text": "Last 2 days I was working on editor functionalities. I added built-in powersheell terminal. I also added shadergraph which currently is doesnt want to compile properly"}, {"post_id": 63480, "ts": "2026-09-07T11:14:38Z", "hours": 6.3356, "text": "I was working on UX in editor. Then I found bug which I couldnt fix for 3 hours. Bug was caused my matrix decompose floating point"}, {"post_id": 62420, "ts": "2026-09-05T19:23:52Z", "hours": 5.1811, "text": "Today I was working on optimatization, code quality and better model imports. fps jumped from ~400 to ~430."}, {"post_id": 61744, "ts": "2026-09-04T20:02:01Z", "hours": 8.3261, "text": "I was working on game optimzatization. I made jump from around 200FPS to 400. There is still a lot more things to optimize."}, {"post_id": 59136, "ts": "2026-08-31T19:21:14Z", "hours": 5.6275, "text": "I was working on optimizing grass system. I added wind component and optimized colission with other objects. Thanks to optimatization FPS jumped from ~250 to ~320. I also modified scene saving system - binary file as main file and .terrains failes as terrain data. I added Editor layout to AppData so editor rembeber your last layout"}, {"post_id": 58356, "ts": "2026-08-30T19:03:02Z", "hours": 6.1303, "text": "Today i was adding missing tests. I also updated terrain sculping system - you can now sculp all terrain at once if multiple instances. I added some utils and deleted fps limit in play mode."}, {"post_id": 57564, "ts": "2026-08-29T19:02:32Z", "hours": 4.8972, "text": "Today I was working on better shadow implemenatation. I implemented VSM shadows - smiliar are used in UE5. I think its looks good"}, {"post_id": 56852, "ts": "2026-08-28T20:10:13Z", "hours": 5.6839, "text": "Today I was working on code quality and better terrain sculping tools. I added grass painting. I also added some nice shader to grass - A rolling ball leaves a trail in the grass. Check it out!"}, {"post_id": 56432, "ts": "2026-08-28T06:18:19Z", "hours": 5.745, "text": "I was working on terrain sculping. I was inspired by unity system generator so I wanted to make something smiliar. Now there is only one brush but i will extend possibilities of my system."}, {"post_id": 55427, "ts": "2026-08-27T07:58:03Z", "hours": 4.6125, "text": "Added gltf models importing with editor asset manager. Imported gameobject has his unique mesh collider."}, {"post_id": 54988, "ts": "2026-08-26T12:44:55Z", "hours": 2.9125, "text": "I was fixing my physics system. I fixed some bugs and created new ones. First new bug is sphere bouning up on first contact. 2 bug is cube lifting up another cube. I’m happy that I removed object shaking"}, {"post_id": 54700, "ts": "2026-08-25T19:29:26Z", "hours": 6.6933, "text": "Today I was mainly working on code quality and project refactorization. When I was testing scenes with various of configuration I found some type of physics bug - Objects are shaking for some reason, you can see this in attached video"}, {"post_id": 53759, "ts": "2026-08-24T13:13:25Z", "hours": 1.2175, "text": "last 1.25h I was adding cube physics, imo it look very satisfying."}, {"post_id": 53644, "ts": "2026-08-24T09:33:54Z", "hours": 4.9856, "text": "I was working on realistic sphere physics. I think it looks good enough. I was also working on tests. Fixed bug when ramp after start/stop was changing her location."}, {"post_id": 52942, "ts": "2026-08-23T09:58:18Z", "hours": 3.4753, "text": "I added simple gravity and colliders. I also reorganized code a little - I make high level API so user dont have to use Vulkan and SDL directly."}, {"post_id": 52275, "ts": "2026-08-22T11:51:51Z", "hours": 3.0019, "text": "Added Color picker, and updated window reloading while adding MSAA or new color. Now you can easily change color in editor"}, {"post_id": 51666, "ts": "2026-08-21T13:55:21Z", "hours": 2.4742, "text": "I made object scriptable!"}, {"post_id": 50944, "ts": "2026-08-20T12:37:57Z", "hours": 4.6658, "text": "I messed something up and m editor wasnt responding I couldt click anything. I was trying to fix it almost 5 hours. What I fixed? - vulkan and SDL were recreating while turning MSAA on and GPU was loosing context"}, {"post_id": 49752, "ts": "2026-08-18T17:53:31Z", "hours": 3.2764, "text": "Editor Update The editor has been significantly improved and now looks much better. Cross-Platform Support The editor no longer depends on the Windows API, which means it should work on both Windows and Linux . Technology Stack The original goal was to use only: C++ Vulkan SDK SDL3 GLM These are all standard components that come with a typical Vulkan development setup. After further research, Dear ImGui was also added. It is currently the only third-party dependency . Performance Both the Scene View and Game View are capped at 60 FPS . The Scene View captures the 90th frame of the particle effect so that it remains static. Next Steps Focus will now shift to expanding the editor’s functionality."}, {"post_id": 49441, "ts": "2026-08-18T09:01:45Z", "hours": 1.725, "text": "I made basic editor. Now looks like terrible but I will make it better"}, {"post_id": 49021, "ts": "2026-08-17T16:44:03Z", "hours": 1.5692, "text": "Added movement, you can move by using wasd, scroll and RMB"}, {"post_id": 48153, "ts": "2026-08-16T13:31:10Z", "hours": 4.0589, "text": "Particle System I was trying to add .glb models importer but this is very hard to do without third parties dependencies and i messed up something - Tree looks flat(second attachment). After many failed attempts I decided to start making particle system, as you can see it looks good. It is also optimized. FPS drop which you can see on video is caused by cmake compilation in background. I hope you like my particles :) All of this is made in C++ and the Vulkan SDK."}, {"post_id": 47579, "ts": "2026-08-15T15:41:56Z", "hours": 2.8206, "text": "Progress Update – Last 3 Hours Focused on two main things: Engine Optimization Font Rasterizer – added support for rendering fonts in the HUD Optimizations: Integrated VMA (Vulkan Memory Allocator) Added object instancing Fixed a buffer bug that was causing a memory leak Image: Cube made of 30×30×30 (27 000) smaller cubes + HUD with rendered font. All of this is made in C++ and the Vulkan SDK."}, {"post_id": 47338, "ts": "2026-08-15T06:56:33Z", "hours": 5.75, "text": "Engine Updates Added GPU-driven Hi-Z culling Added canvas — you can now make HUDs Optimized scenes a little Added Scene Serializer Added Asset Manager Added Color class — you no longer have to work with plain vectors Showcase On the image you can see a cube made from 30×30×30 smaller cubes, each one casting a shadow. In the bottom-left corner you can see the canvas. All of this is made in C++ and the Vulkan SDK ."}, {"post_id": 46339, "ts": "2026-08-13T14:18:08Z", "hours": 4.5861, "text": "Added Engine Math based on glm. Optimized multi object drawing. Made better project structure"}, {"post_id": 45817, "ts": "2026-08-12T15:21:12Z", "hours": 2.5969, "text": "Added shadows, game objects, engine vectors and matrixs, standaole camera, position and transforms"}, {"post_id": 40303, "ts": "2026-08-03T18:52:30Z", "hours": 3.1914, "text": "I have reorganized code. I added MSAA and rotaing cube!"}, {"post_id": 39619, "ts": "2026-08-02T18:45:09Z", "hours": 0.8017, "text": "I finished my previus project so now i can have two concurrent - this and c++/cuda custom llm. Successfully rendered triangle :) Its only about ~1000 lines of code. I used offical tutorial for start."}]...
|
Title: GamEngine by @bartoszkasyna | Stardance
De Title: GamEngine by @bartoszkasyna | Stardance
Devlogs:
I finished my previus project so now i can have two concurrent - this and c++/cuda custom llm. Successfully rendered triangle :) Its only about ~1000 lines of code. I used offical tutorial for start.
I have reorganized code. I added MSAA and rotaing cube!
Added shadows, game objects, engine vectors and matrixs, standaole camera, position and transforms
Added Engine Math based on glm. Optimized multi object drawing. Made better project structure
Engine Updates Added GPU-driven Hi-Z culling Added canvas — you can now make HUDs Optimized scenes a little Added Scene Serializer Added Asset Manager Added Color class — you no longer have to work with plain vectors Showcase On the image you can see a cube made from 30×30×30 smaller cubes, each one casting a shadow. In the bottom-left corner you can see the canvas. All of this is made in C++ and the Vulkan SDK .
Progress Update – Last 3 Hours Focused on two main things: Engine Optimization Font Rasterizer – added support for rendering fonts in the HUD Optimizations: Integrated VMA (Vulkan Memory Allocator) Added object instancing Fixed a buffer bug that was causing a memory leak Image: Cube made of 30×30×30 (27 000) smaller cubes + HUD with rendered font. All of this is made in C++ and the Vulkan SDK.
Particle System I was trying to add .glb models importer but this is very hard to do without third parties dependencies and i messed up something - Tree looks flat(second attachment). After many failed attempts I decided to start making particle system, as you can see it looks good. It is also optimized. FPS drop which you can see on video is caused by cmake compilation in background. I hope you like my particles :) All of this is made in C++ and the Vulkan SDK.
Added movement, you can move by using wasd, scroll and RMB
I made basic editor. Now looks like terrible but I will make it better
Editor Update The editor has been significantly improved and now looks much better. Cross-Platform Support The editor no longer depends on the Windows API, which means it should work on both Windows and Linux . Technology Stack The original goal was to use only: C++ Vulkan SDK SDL3 GLM These are all standard components that come with a typical Vulkan development setup. After further research, Dear ImGui was also added. It is currently the only third-party dependency . Performance Both the Scene View and Game View are capped at 60 FPS . The Scene View captures the 90th frame of the particle effect so that it remains static. Next Steps Focus will now shift to expanding the editor’s functionality.
I messed something up and m editor wasnt responding I couldt click anything. I was trying to fix it almost 5 hours. What I fixed? - vulkan and SDL were recreating while turning MSAA on and GPU was loosing context
I made object scriptable!
Added Color picker, and updated window reloading while adding MSAA or new color. Now you can easily change color in editor
I added simple gravity and colliders. I also reorganized code a little - I make high level API so user dont have to use Vulkan and SDL directly.
I was working on realistic sphere physics. I think it looks good enough. I was also working on tests. Fixed bug when ramp after start/stop was changing her location.
last 1.25h I was adding cube physics, imo it look very satisfying.
Today I was mainly working on code quality and project refactorization. When I was testing scenes with various of configuration I found some type of physics bug - Objects are shaking for some reason, you can see this in attached video
I was fixing my physics system. I fixed some bugs and created new ones. First new bug is sphere bouning up on first contact. 2 bug is cube lifting up another cube. I’m happy that I removed object shaking
Added gltf models importing with editor asset manager. Imported gameobject has his unique mesh collider.
I was working on terrain sculping. I was inspired by unity system generator so I wanted to make something smiliar. Now there is only one brush but i will extend possibilities of my system.
Today I was working on code quality and better terrain sculping tools. I added grass painting. I also added some nice shader to grass - A rolling ball leaves a trail in the grass. Check it out!
Today I was working on better shadow implemenatation. I implemented VSM shadows - smiliar are used in UE5. I think its looks good
Today i was adding missing tests. I also updated terrain sculping system - you can now sculp all terrain at once if multiple instances. I added some utils and deleted fps limit in play mode.
I was working on optimizing grass system. I added wind component and optimized colission with other objects. Thanks to optimatization FPS jumped from ~250 to ~320. I also modified scene saving system - binary file as main file and .terrains failes as terrain data. I added Editor layout to AppData so editor rembeber your last layout
I was working on game optimzatization. I made jump from around 200FPS to 400. There is still a lot more things to optimize.
Today I was working on optimatization, code quality and better model imports. fps jumped from ~400 to ~430.
I was working on UX in editor. Then I found bug which I couldnt fix for 3 hours. Bug was caused my matrix decompose floating point
Last 2 days I was working on editor functionalities. I added built-in powersheell terminal. I also added shadergraph which currently is doesnt want to compile properly
Today I was working on game optimatization and little shadows improvements. I was mainly working on game profiler as you can see in the image
I was mainly working on models and textures compression. Textures are now compressed into BC7 format. I also added remdergraph so user dont have to make it manually.
I was working on finishing render graph. I also optimized editor - in huge scenes it will have more stable 60FPS. I optimized game mode - 1% low are higher now
I was working on editor optimatization and bug fixes. Editor launch time jumped from ~7seconds to 1.5 seconds if editor has cache, otherwise 4.3 seconds. Launching editor no more cause vulkan errors. I also added IBL and reflects. I also bugged shadows a little.
I was working on water system and improving GTAO. While testing I found weird little horizontal strips on shadows. I thought it was my WSM bug so I was trying to fix it. After I checked all possible bugs i realized that I could downgrade GTAO by linear interpolation. I fixed it and now works fine. Water currently has implemented SSR and simple Gernster waves. On the images you can see clip levels and virutal pages shown in shadow debug mode
I am working on water system. I decided to make something diffrent that normal water commonly used in every modern engine. I want to make virtual water system which is inspired by VSM. More technical details I will provide in devlog when I finish my water system. I dont have any working water image so I just upload some engine footage. PS. It might be much more optimize than normal water.
I made water system but it look horrible and performance isnt great, so i focused next on large models importing. Big models are now devided into meshlets. On the image you can see very popular benchmark scene, its called crytek sponza. I think that 170FPS in this stage is good
I started migration to dynamic rendering, so rendering pipeline would be much easier for user. I also made custom title bar. Im in process of improving UI. I found two bugs - in certains camera angle shadows/AO or something doesnt work correctly. Second - some random patterns may occur while looking into sky inside sponza
I was trying to fix shadows but it didint go well, so I gave up and started refactoring code for better readibiliy. On the image you can see broken verin of shadows, dont worry I went back to working ones. I fixed few smaller nearly invisible shadows bugs, so I didint waste myy time. Now I will focus on optimatization and graphics effet
I was working on game optimization, editor functionalities and standalone game building. I successfully optimized GTAO and VSM a little. GTAO still have some halo around some objects and VSM are not full stable. I added option build game in editor. I have to optimize editor a little and add some more functionalities. On the first image you can see nvidia nsight graphics profiler and on the second one standalone game build running in 160 after few seconds. This is decent score for rtx 3050.
Successfully optimized GTAO and VSM, 40FPS gain and more stable 1% low
I was working on Ray Traced Contact Shadows and DDGI. Ray traced shadows works well without droping fps that much. Currently my DDGI is bugged - its very dark. The image is taken with RTCS, DGGI disabled
I was trying to made my version of DDGI but it was unstable, so I made this disabled. Full DDGI would be impossible for my gpu so I used Brixelizer GI from FidelityFX SDK from AMD. It looks good and stable. Image is capyured on intel sponza which has 2.7M traingles - 13x more than original sponza so my engine scale well.
I mainly working on bug fixing. Now VSM and GTAO are fully stable, TAA still needs some love. I was also working on fbx model importer. On the image you can see Amazon Lumberyard Bistro which has 2.7M triangles with 140FPS. I have to work on fps stability while moving camera and make glass shader/object.
I made custom installer for my engine. Now i willl work on optimatization
I was working on bug fixes and glass system. Glass is not working was I want but it havs some progress. Currently glass is highly unoptimized.
Ships:
I made GPU driven game engine. It use vulkan 1.4. GTAO and VSM are still little bugged. Project will be still in development. This experimental version. More deatils are in devlogs. If engine or demo crashes on your device please send me generated logs and device specification...
|
1793339460.971905
|
1793425860.971905
|
|
15796
|
blowupthenoobs' website by @blowupthenoobs | S blowupthenoobs' website by @blowupthenoobs | Stardance...
|
blowupthenoobs
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T18:48:48Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Got the main stuff laid out on the home page. Still need to integrate some stuff like the art portfolio widgets and whatnot, but that’s going to come in when my google drive clone thingy is further along in completion. Other stuff like the discord widget and nuggets of wisdom are intended to be further worked on, but it is in a good state for right now I think.", "repo": "https://github.com/blowupthenoobs/PortfolioSite", "demo": "https://blowupthenoobs.dev/"}]...
|
[{"post_id": 63382, "ts": "202 [{"post_id": 63382, "ts": "2026-09-07T05:28:55Z", "hours": 0.995, "text": "Finished the basic mockup and such with a couple working features, so I should hopefully be able to qualify for the pulse mission."}, {"post_id": 63360, "ts": "2026-09-07T04:23:56Z", "hours": 0.9889, "text": "Almost finished the mockup. Added random scrolling thing cuz I saw it in someone else’s personal site, lol (It was a thing I was thinking of putting in anyways though. Scrolling’s a nice touch for it tho.)"}, {"post_id": 63337, "ts": "2026-09-07T03:19:28Z", "hours": 1.8997, "text": "Added a music detection widget (powered by a discord-based api)"}, {"post_id": 63215, "ts": "2026-09-06T21:57:32Z", "hours": 2.135, "text": "Finally got to actually working on the main page, lol."}]...
|
Title: blowupthenoobs' website by @blowuptheno Title: blowupthenoobs' website by @blowupthenoobs | Stardance
Devlogs:
Finally got to actually working on the main page, lol.
Added a music detection widget (powered by a discord-based api)
Almost finished the mockup. Added random scrolling thing cuz I saw it in someone else’s personal site, lol (It was a thing I was thinking of putting in anyways though. Scrolling’s a nice touch for it tho.)
Finished the basic mockup and such with a couple working features, so I should hopefully be able to qualify for the pulse mission.
Ships:
Got the main stuff laid out on the home page. Still need to integrate some stuff like the art portfolio widgets and whatnot, but that’s going to come in when my google drive clone thingy is further along in completion. Other stuff like the discord widget and nuggets of wisdom are intended to be further worked on, but it is in a good state for right now I think....
|
1793339451.7010446
|
1793425851.7010446
|
|
43116
|
X-Revenant by @nejenabinupa | Stardance
|
nejenabinupa
|
1
|
49.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T17:17:01Z", "hours": 49.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this model is finished now all of the details are in the readme how you like it", "repo": "https://github.com/binupax6699/X-REVENANT-3D-MODLE", "demo": "https://sketchfab.com/3d-models/x-revenant-d105edc6008d4e148df14087eecc2355"}]...
|
[{"post_id": 77351, "ts": "202 [{"post_id": 77351, "ts": "2026-10-06T17:11:44Z", "hours": 1.4131, "text": "finished up all and its ready now"}, {"post_id": 43397, "ts": "2026-08-08T16:48:16Z", "hours": 6.4225, "text": "Finally finished baking the textures to the body"}, {"post_id": 42499, "ts": "2026-08-07T08:42:02Z", "hours": 9.8578, "text": "I did the texturing for the all and I make the interior and put weapons that come out from openings, next will be backing the texture and sum small details to make it perfect."}, {"post_id": 41340, "ts": "2026-08-05T14:27:20Z", "hours": 10.5606, "text": "I added small details and sum small changes to the topology and cut out opening to add this that come out and I add the landing gear and it was the most complex part today and i even animated it and it look so perfect."}, {"post_id": 40203, "ts": "2026-08-03T16:38:36Z", "hours": 10.9303, "text": "Did so much changes and I think this is the final model I can get, maybe little more changes and textures I can add in next devlog, it’s looking good i think I did a great job to get to here and make it much more my style and better over time"}, {"post_id": 39555, "ts": "2026-08-02T16:15:05Z", "hours": 10.265, "text": "Took so long to make the based mash and it was good enough to work ok and need to make it perfect and make some small small changes along the way."}]...
|
Title: X-Revenant by @nejenabinupa | Stardance
De Title: X-Revenant by @nejenabinupa | Stardance
Devlogs:
Took so long to make the based mash and it was good enough to work ok and need to make it perfect and make some small small changes along the way.
Did so much changes and I think this is the final model I can get, maybe little more changes and textures I can add in next devlog, it’s looking good i think I did a great job to get to here and make it much more my style and better over time
I added small details and sum small changes to the topology and cut out opening to add this that come out and I add the landing gear and it was the most complex part today and i even animated it and it look so perfect.
I did the texturing for the all and I make the interior and put weapons that come out from openings, next will be backing the texture and sum small details to make it perfect.
Finally finished baking the textures to the body
finished up all and its ready now
Ships:
this model is finished now all of the details are in the readme how you like it...
|
1793339429.6954126
|
1793425829.6954126
|
|
16919
|
SmoothActions by @Jinsu | Stardance
|
Jinsu
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-30T00:24:32Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "SmoothActions is a lightweight browser extension designed to improve web interactions through seamless action management and smooth UI feedback. It enhances user experience by reducing friction between clicks, animations, and page updates, creating a more natural and responsive browsing workflow. it has several features like copy all text and copy all images for easy seamless copying. and MORE!!!", "repo": "https://github.com/JinsuHacks/Smoothactions", "demo": "https://jishiprem26.wixsite.com/smoothmyactions"}]...
|
[{"post_id": 11611, "ts": "202 [{"post_id": 11611, "ts": "2026-06-18T22:05:33Z", "hours": 3.1322, "text": "H1 Fixed downdload all images so it actually downloads all images on the page. May add download all videos but thats gonna take a hot minute i guess. im gonna work on that. Also might add a iframe browser or scramjet browser if possible!"}, {"post_id": 7195, "ts": "2026-06-12T00:41:27Z", "hours": 1.5503, "text": "Today I started building the first real feature for SmoothActions: Copy All Code Blocks. The goal was simple — click a button in the extension popup and instantly grab every code example from any webpage. ( ̄y▽ ̄)╭ Ohohoho….. What I built I wired up the popup UI and wrote the first version of the script that searches the page for and elements. The popup could run scripts on the active tab, and the alert showed up correctly. The problem When I tested it on MDN, it didn’t copy the code examples. Instead, it copied random labels like: Code for condition continue break At first I thought the selector was wrong, but the real issue was that MDN doesn’t use normal or tags for its examples. Some code is inside custom containers, some inside shadow DOM, and some duplicated in the sidebar. The fix I rewrote the feature to: scan normal and blocks scan MDN‑specific classes like .notranslate and .language-js scan inside shadow DOM elements return all code blocks as one combined string Once I injected the script properly using chrome.scripting.executeScript with a separate file, everything worked. The extension now successfully copies all code examples from the MDN Loops & Iteration page. o(  ̄ ▽ ̄)ブ pluh…"}]...
|
Title: SmoothActions by @Jinsu | Stardance
Devlog Title: SmoothActions by @Jinsu | Stardance
Devlogs:
Today I started building the first real feature for SmoothActions: Copy All Code Blocks. The goal was simple — click a button in the extension popup and instantly grab every code example from any webpage. ( ̄y▽ ̄)╭ Ohohoho….. What I built I wired up the popup UI and wrote the first version of the script that searches the page for and elements. The popup could run scripts on the active tab, and the alert showed up correctly. The problem When I tested it on MDN, it didn’t copy the code examples. Instead, it copied random labels like: Code for condition continue break At first I thought the selector was wrong, but the real issue was that MDN doesn’t use normal or tags for its examples. Some code is inside custom containers, some inside shadow DOM, and some duplicated in the sidebar. The fix I rewrote the feature to: scan normal and blocks scan MDN‑specific classes like .notranslate and .language-js scan inside shadow DOM elements return all code blocks as one combined string Once I injected the script properly using chrome.scripting.executeScript with a separate file, everything worked. The extension now successfully copies all code examples from the MDN Loops & Iteration page. o(  ̄ ▽ ̄)ブ pluh…
H1 Fixed downdload all images so it actually downloads all images on the page. May add download all videos but thats gonna take a hot minute i guess. im gonna work on that. Also might add a iframe browser or scramjet browser if possible!
Ships:
SmoothActions is a lightweight browser extension designed to improve web interactions through seamless action management and smooth UI feedback. It enhances user experience by reducing friction between clicks, animations, and page updates, creating a more natural and responsive browsing workflow. it has several features like copy all text and copy all images for easy seamless copying. and MORE!!!...
|
1793339409.1676629
|
1793425809.1676629
|
|
47952
|
Valorant Prime Vandal by @colgation | Stardance
|
colgation
|
1
|
6.0
|
73
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T03:02:35Z", "hours": 6.0, "multiplier": 10.0, "payout": 73, "blessing": "neutral", "text": "I made a Prime Vandal from Valorant in real life! It shoots foam darts, takes standard nerf magazines, and is easy to make. All the files and build instructions are available in the github source. It is made to be as accessible as possible, so even A1 mini printers can print it. It only takes up around ~500g of filament. All you need is a printer and Nerf Retaliator (easy to find anywhere, especially in second hand stores for less than 3 dollars). Go make your own one!", "repo": "https://github.com/194500-cpu/Prime-Vandal", "demo": ""}]...
|
[{"post_id": 61339, "ts": "202 [{"post_id": 61339, "ts": "2026-09-04T06:35:10Z", "hours": 1.0839, "text": "Today I painted the gold trims on my Prime Vandal. Once it dries, the rough model should be complete, after I add smoothing and finishing touches with an acrylic pen."}, {"post_id": 57065, "ts": "2026-08-29T04:45:31Z", "hours": 1.3, "text": "Spray painted the parts using gloss spray paint. Took me some time to set up, and will let dry. My Valorant Prime Vandal will be ready soon!"}, {"post_id": 50719, "ts": "2026-08-20T01:53:34Z", "hours": 0.6303, "text": "#4: Created the top of the prime vandal build. This one was a bit easier to make as all I needed to do was fill the bottom. Anyways, print underway!"}, {"post_id": 50664, "ts": "2026-08-19T22:54:31Z", "hours": 0.3, "text": "#3: Prime Vandal resemblance Finally managed to create both the muzzle and stock. I just made the priming bolt and its underway. I’m planning to paint it later on, as well as glue panels to the main body."}, {"post_id": 47361, "ts": "2026-08-15T08:05:23Z", "hours": 1.6167, "text": "Created the barrel! All that is left is making the shell to cover the main body. It took a long time to make it, since I had to remake the barrel to match nerf bullet sizes."}, {"post_id": 47250, "ts": "2026-08-15T01:39:15Z", "hours": 0.3, "text": "#2 Disassembled the nerf gun to fix internals and make it ready. Problem: I just finished 3dprinting and realised that the inside was filled in a lightning pattern (very weak)."}, {"post_id": 47210, "ts": "2026-08-14T23:40:42Z", "hours": 0.8553, "text": "Making a Prime Vandal Shell for Nerf retaliator! #1: Made the stock and sent it to print! As a side note, I am planning to share the .blend files as well so anyone can make it at home. the end product should fire nerf darts, have a swappable magazine and more! Follow this project to support me and keep up?"}]...
|
Title: Valorant Prime Vandal by @colgation | Stard Title: Valorant Prime Vandal by @colgation | Stardance
Devlogs:
Making a Prime Vandal Shell for Nerf retaliator! #1: Made the stock and sent it to print! As a side note, I am planning to share the .blend files as well so anyone can make it at home. the end product should fire nerf darts, have a swappable magazine and more! Follow this project to support me and keep up?
#2 Disassembled the nerf gun to fix internals and make it ready. Problem: I just finished 3dprinting and realised that the inside was filled in a lightning pattern (very weak).
Created the barrel! All that is left is making the shell to cover the main body. It took a long time to make it, since I had to remake the barrel to match nerf bullet sizes.
#3: Prime Vandal resemblance Finally managed to create both the muzzle and stock. I just made the priming bolt and its underway. I’m planning to paint it later on, as well as glue panels to the main body.
#4: Created the top of the prime vandal build. This one was a bit easier to make as all I needed to do was fill the bottom. Anyways, print underway!
Spray painted the parts using gloss spray paint. Took me some time to set up, and will let dry. My Valorant Prime Vandal will be ready soon!
Today I painted the gold trims on my Prime Vandal. Once it dries, the rough model should be complete, after I add smoothing and finishing touches with an acrylic pen.
Ships:
I made a Prime Vandal from Valorant in real life! It shoots foam darts, takes standard nerf magazines, and is easy to make. All the files and build instructions are available in the github source. It is made to be as accessible as possible, so even A1 mini printers can print it. It only takes up around ~500g of filament. All you need is a printer and Nerf Retaliator (easy to find anywhere, especially in second hand stores for less than 3 dollars). Go make your own one!...
|
1793339405.2437365
|
1793425805.2437365
|
|
12938
|
PetTrack by @szabence | Stardance
|
szabence
|
1
|
72.63
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T14:24:17Z", "hours": 71.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "PetTrack! A beautiful Pet Monitoring system that upcycles old smartphones into IP-cameras that you can use to see your small pet I made this project because I took in a Rabbit in May 2026 and I didn’t know what she was doing when i wasn’t home, so I decided to code this app that you can install on any Android 7+ / iPhone 6s or newer device, and use it to check on your pet, with a beautiful UI, Zone tracking, replays, medicine and vaccine tracking, and a lot more :) The hardest part was, getting used to writing Flutter. I have never used Flutter in the past, but I read about it and I liked the mentality and the mechanics of the code or how should I say, and I decided to give it a go. I love it. Simple but effective, and I can use this 1 codebase on the web, on my iPhone, on my Android and even on my WearOS smartwatch :) The project is working, and you can check it by the bottom below, select language, select Client and press Demo mode, it will show the UI. You can see it working in action on the screenshots. Check the README, and thank you for reading this!", "repo": "https://github.com/szbnce/PetTrack", "demo": "https://pettrackdemo.szabence.com"}]...
|
[{"post_id": 68851, "ts": "202 [{"post_id": 68851, "ts": "2026-09-15T21:18:20Z", "hours": 1.6314, "text": "PetTrack reship no.2 Hey guys, I have shipped the project last week, but I got rejected because I’ve used the project logo as banner and not a screenshot… Anyways, I fixed some bugs that Ive seen since shipping, which was the Notification, on both iOS and Android and Web, it wasn’t working correctly anywhere, but because of lack of time at the moment, I have removed the Notification option. on iOS it will never work self-hosted, because it requires apple dev account and the app to be on the app store or have a real backend behind it, or something like that I’ve read. I also removed the Sync with watch button from the iOS builds and Web builds, since there is only WearOS build. Google play! I have started the process to put the app on the Google Play. I was originally against this, as y’all have read in one of the first devlogs, but I thought, 25 bucks once isn’t that much, so PetTrack will be on the Play store soon, but by the looks of things, only after Stardance has already finished. WearOS I started school once again, and I couldn’t always get to my phone so I have made a minimalist app to use on the watch, it’s not that full, you can only see 1 frame / 5 seconds, and you can’t edit anything, only check the live feed, check the Monitors battery percentage and the last seen in X zone. I will ship my project once again, thank you for reading! EDIT: I did not know I just need recertification instead of a full reship lol"}, {"post_id": 62924, "ts": "2026-09-06T13:52:19Z", "hours": 5.8556, "text": "PetTrack has been released! Hello guys! I’m not going to mess around with Markdown for this last devlog, I have been testing the project for 2 weeks now, and it is working great. I fixed up minor bugs that I found, added 5 AI-translated languages for more multilang support, though Hungarian and English has been translated by me, so those are definetly correct :) I changed on the UI a bit, removed the last seen and most seen cards from the dashboard and changed it to a diagram about the Zone visits, and changed the Medical UI cards a bit. Also made the resolution in the app better, now you can make pictures from the app, and instantly share them, replays work now on both iOS and Android. The first release of PetTrack has been finally published on GitHub, so please go and check it out! https://github.com/szbnce/PetTrack/releases/tag/1.0.0 Thank you everybody who has been though this journey over 3 months with me. Thank you!"}, {"post_id": 53494, "ts": "2026-08-24T02:11:25Z", "hours": 5.7447, "text": "PetTrack Demo is finally here! I haven’t worked on PetTrack in the past 1,5 months, mostly because I just couldn’t bring myself to code, and I am going on vacation as I am writing this, and I figured, omg, if i come home, it will be already september, and besides school, i will definetly not finish this, and then, what was I working for for days on end? So, I got my sxit together, and started working on the project. Sadly, because of the time, I had to use AI so I will finish until I leave for vacation. I almost did not. It’s 3:45 AM, I left 2 hours ago, and I set up the server 15 whole minutes before leaving my house. So it was calculated, but I managed. Unified Flutter codebase: I merged the pettrack_client , pettrack_montior and pettrack_web , into one package, and is written in Flutter. The app is entirely in Flutter, I kept designs of the Client so it won’t look very different. Deployment & OS Support: The new one app method is Docker compatible, so the project will offer a Docker option, and a non-docker MacOS and Linux native installer, and a Windows installer aswell, without docker :) Branching: The one where I used AI has been moved to a new branch \"allFlutter\" . iOS Support: I initally did not want to make an iOS version because I don’t really agree with the yearly 100 usd developer program payment, and I don’t really agree with Google Play 25usd purchase aswell, but that’s very much more manageable than a yearly model, on a FOSS app. Anyways, I will publish the .ipa file, and do what you want with it :) If you have the courage and understanding, you can jailbreak and install it indefinetly, or you can sideload it, though you will have to renew it every week. If you don’t want to do that, you can of course use the Web version in a browser, it will work the exact same way, they are the same codebase under. Web support: This was my original plan to make PetTrack work on iOS devices, but then, I decided why not make it fully work on any browser? One codebase, the Webapp, the Android app and iOS app will work the EXACT SAME WAY! if you want to install a full app, you may, but if you don’t, you have all options. Medical panel: I think I have made a devlog about that, or mentioned that, but I will write it once again. We have a Medical tab now, where you will be able to track Medications and get notifications to give them to your pet, and the Vaccines tab, where you can track what the pet has gotten, when, and when its next Due. You can also set more colors. Replay: You can now replay movement. Currently for some reason, It does not work (I started implementing it at 0:30 AM, left at 1:30 so I could’ve expected that), or atleast it does not work from the browser. If i log into the server, and check it, the videos are there, and visible. It records a few seconds before and after the movement. Demo! Now you can check out PetTrack at: 👉 https://pettrackdemo.szabence.com How to access: Select language (colors are broken i know) Select Viewer For IP write asd or something, just dont leave it empty For password, write 8068 Press next, and you will see it asking if you want to go into Demo Press yes, and you are in! Its a quite basic demo, its the same codebase, just no server behind. You can add medications, test zones, etc. After you close the tab, everything will be deleted. I will test the project as I am going about my week, fix errors at night, and I will ship the project next week. Have a great week guys, and thank you for watching the project."}, {"post_id": 40217, "ts": "2026-08-03T16:58:52Z", "hours": 4.8564, "text": "Hey guys.. Its been 17 days since the last Devlog, I dont even know what I “upgraded” or didn’t. I wont’t try to make it a big devlog or anything, really i just want to get the hours logged so I can start fresh. I’ve decided to ditch all 3 (pettrack_monitor, pettrack_client and pettrack_web) codebases and rewrite everything as one flutter app. Making sure 4 sections of the app written in 3 different languages wasn’t easy on my level so I decided to ditch all and write one “pettrack_app” codebase. It will work on Android, iOS and Web, and for iOS users also PWA app, so you don’t have to install anything, and it will all work under one codebase, so everything will be the same across all devices. So. I don’t know when I will finish or anything, or write the next devlog, because I have so many things to do this month, soo…"}, {"post_id": 30037, "ts": "2026-07-17T09:22:29Z", "hours": 6.6725, "text": "The Flutter apps and the Server is 99% done until shipping! This is rather a bigger devlog, I didn’t make a more smaller ones, but let’s see what I’ve done: Easier pairing : Now instead of using a qr code (which in the Docker terminal is unreliable), you get a 4 number pairing code, which you can use to communicate the 64 char JWT token. It’s much easier, and much more reliable. Docker : I implemented Docker, but it seems like at the moment that it only really works on MacOS, i might phase Docker out and make setup commands for each, maybe a oneliner with curl, or something like that. Bugfixes : Lots of bugfixes in those 6,5 hours, I can’t even list all of them, connectivity issues, pairing issues, camera issues, UI Cleanup : I removed developer overlays from the web e.g Eruda mobile console overlay. I will be focusing a lot more on the Mock API for the demo site, and polishing for Shipping EXCEPT for one feature that I still want to add, and that would be insanely good. Bye guys!"}, {"post_id": 27994, "ts": "2026-07-13T23:20:55Z", "hours": 4.0786, "text": "🚀 WebClient is getting ready! I’ve done multiple things with the WebClient over the last 4 hours, and we are getting closer and closer to shipping! Here is a quick rundown of the progress: 🛠️ Key Features & Updates Unified Multi-Mode: You can now choose whether you want to use a device as a Client (Viewer) or a Monitor (Camera). Zone Management: Zone adding now works! (Showing current zones is still slightly broken, but we are getting there). Event Tracking: Zone enter/exit detection is fully functional. Dashboard Stats: Added panels to show “Last seen” and “Most seen” locations. Pet Profiles: You can now edit your pet’s profile directly from the Settings tab. Settings Reset: Added the ability to wipe all local settings if you want a fresh start. 🎨 UI & UX Polish Dark Mode: Synced theme with Client, dark and light mode aswell. Cleaned up the UI: Removed all unnecessary buttons. P.S. Berci got vaccinated today! 💉🐇 So now he’s immune to both physical viruses and mental breakdowns over JavaScript!"}, {"post_id": 27081, "ts": "2026-07-12T10:04:49Z", "hours": 5.1319, "text": "now i understand why web developers are all bald and angry… Okkkay so, little bit of a backgound here, I do not agree on the fact that I should pay for FOSS apps to be put on the play store and app store, that for one company i should pay 25 bucks once and then i can put my app on the app store and i have to pay 100 BUCKS YEARLY TO APPLE. So, instead of creating an app for iOS, since you can’t really sideload (there are ways for people in Europe and you can jailbreak bla bla bla…) and this app is made for ordinary people. Not developers. So, as a last resort, I am making a WebClient and WebMonitor, so the apps are able to run without even installing anything. Obviously the installed apps will run better and feel better, but then no iOS support, which I did not want. So, I started working with AI on a WebClient and WebMonitor and started learning JavaScript, but that…. Dart next to Javascript is a kids game honestly, very hard, I tried to make it easier for me by using TailwindCSS which I have some experience in, but it wasn’t that easy. To eliminate AI slop, I have a great Web developer friend (became bald at the bold age of 30), and he’ll monitor the code and check if it is alright for “prod”…"}, {"post_id": 25564, "ts": "2026-07-09T21:53:54Z", "hours": 4.0792, "text": "🛠️ BUGFIXES! BUGFIXES! I didn’t really add any new features this time, but rather focused on fixing and polishing already existing features. 🔒 Security and Stability Token Generation: I removed hardcoded “placeholder” tokens; the system now creates a new API token seamlessly. Storage Limits: Added a maximum 500 picture limit on the server, so it doesn’t fill up the storage if the cleanup task fails. Syntax Fixes: Fixed a broken dictionary on the server which threw garbage JSON. ✨ UI and Usability Notification Cooldown: Added a 1-minute cooldown between notifications to prevent spam. Better Statistics: Now the Activities tab shows 50 events instead of 5 for more accurate data. Dynamic Names: Removed fallback placeholder names (no more hardcoded fake names). 100% Localization: Removed all hardcoded UI strings and moved absolutely everything into l10n and .arb dictionaries. 🏗️ Architecture Hardware JPEG Streaming: Switched to native hardware JPEG streaming for faster picture taking, completely replacing the heavy RepaintBoundary method. 🚧 IN THE WORKS: WebSocket migration! I will tackle that tomorrow to achieve real-time streaming. Here is a picture showing git graph (lol) and Berci as I was fixing up issues. Bye guys!"}, {"post_id": 25297, "ts": "2026-07-09T14:26:21Z", "hours": 6.7308, "text": "More seamless Setup! I have edited the Setups, so now, it is more seamless: When you Install the server, it spits out a QR-code, which you have to scan while setting up the Client app, they connect, and you have to set up the profile of the pet, and a 4 digit pin code, which will be for the WebClient that I am planning to make. After that, the phone spits out another QR code, which you have to scan with the Monitor, and it will connect automatically, and only then will the app let you in. Also, I added E2EE to the server - client connection, to make it more secure, and I also did some bugfixes. I will start to Polish the apps, make it so easy to set up that even somebody who doesn’t use technology day-to-day would be able to set it up perfectly. Bye guys!"}, {"post_id": 24346, "ts": "2026-07-07T21:10:21Z", "hours": 4.4408, "text": "Monitor ready, server working, Client UI is mostly done, we are shipping soon! I made a few adjustments today: Monitor: Synced theme with Client Fixed alignment issues Added Auto reconnect and Auto capture Monitor is basically finished, I don’t think I will add anything to the monitor before shipping now. New README.md: I completly redesigned the README, now in my opinion its almost perfect. Tomorrow, I will start to make a webpage for the project, and I might make a WebUI before the project ships, and add some more tests, but I will sleep on that. Bye guys!"}, {"post_id": 22216, "ts": "2026-07-04T16:05:40Z", "hours": 3.8428, "text": "Frontend Changes to PetTrack! Today I worked a lot on PetTrack, and I made a few small but nice changes: Zone Notifications: You now get notified if a pet enters or exits a zone. Battery Alerts: Get notifications if the monitor’s battery is low (can be set between 5% and 50%). Camera Placeholder: Added a placeholder picture for when the camera is offline. Pet Types: You can now set the type of pet you have. I’ve added a few common ones, but I can add more if needed! Dynamic Live Badge: Fixed the hardcoded “Live” text on the dashboard. Now it shows exactly when the picture was taken (e.g., “30 seconds ago”), and if it’s under 10 seconds, it will say “Live”. “Continuous” Video: It’s still using pictures, but instead of updating every 30 seconds, it now updates roughly every 2 seconds. UI Cleanup: Removed the zoom buttons from the Zones screen since they were unnecessary. Custom Zones & Icons: When adding a new zone, you can now assign it a category (play area, toilet, food, water, bed) with matching icons. I’ll add a fully customizable option later! Bug Fixes: Fixed some minor layout issues. That’s all I think. Bye guys!"}, {"post_id": 21821, "ts": "2026-07-03T23:05:28Z", "hours": 3.5933, "text": "Miscellaneous Updates to PetTrack! Hey guys! I know I haven’t posted in almost 2 weeks at this point. I needed a break from coding and doing work at the PC/PetTrack. We have a few miscellaneous updates to share: Custom Monitor IDs : You can now set a custom Monitor ID, and it will show up properly in the PetTrack app as well, instead of just defaulting to “Main Monitor”. Battery Status : You can now see the battery percentage and whether it’s charging directly in the app! I plan to add a feature later that will send a notification to the PetTrack Client app when the monitor phone’s battery is running low. Backend Testing : Added testing to the PetTrack server for both the WebSocket and REST API, so you can easily check if the API and WS are working correctly. I will put more effort and hours into the project soon, but I have a lot of other things going on besides this project, and I don’t want to risk burning out. Bye! P.S: This is Berci from a few days ago and I pushed everything to GH!"}, {"post_id": 12162, "ts": "2026-06-19T21:23:36Z", "hours": 5.9286, "text": "Hey guys! I haven’t posted a devlog in a few days now, I have been working on some stuff here, and I have to say that I have some very good news! We finally have a Client app! It is a work in progress, but it is something! I don’t remember everything I have changed in the code, but: API adjusted, added a layer of security, because the API wasn’t secured. Added zones to pettrack_server, and added an API to edit it, Added Database (maybe mentioned in last devlog) Takes pictures every 2 seconds, only saves every 30 seconds for 12 hours (will add a replay mode or something like that) pettrack_monitor almost fully done, only need to add some stuff here and there. pettrack_server is in an MVP state now, it works beautifully but some features are still missing before shipping pettrack_client has been made (not pushed to GH yet), works well, though I am pretty fking shyt in UI design, so I made the UI with stitch.withgoogle.com and coded some of it with Gemini, though it still needs a lot of work. Live camera somewhat works (TODO: need to add when watching in the app to show the new pictures (that are taken every 2 seconds and not the 30 seconds saved)) Shows which zone was the most used- Shows last interaction (movement) Last 15 activities (entered zone, left zone, will add more later ? (NEED IDEAS!)) You can add zones (see the live camera and set it via adding points on the picture) You can set a picture and name for your pet in the client app- Always changing welcome greetings No logo / face for the program yet, and no website, will start working on that later The Client app seems very stable for now, no issues found, pettrack_monitor has issues with focusing, server seems stable aswell. I am soon looking for testers for the program, before shipping I want to make sure that this is functional and useful for small pet owners, and what might work for me in my use case, it might not for somebody else, and I want to make it as stable as I am able to. Everything is opensource, available on https://github.com/szbnce/PetTrack (will push everything to GH tomorrow!), DM me on Slack if interested, currently only available for Android. I will start working on the UI and fix the bugs, and get back to you guys soon! Here are some pictures of the UI!"}, {"post_id": 10248, "ts": "2026-06-16T21:39:22Z", "hours": 2.5683, "text": "Hey guys! It’s been a long day, once again, but I have some good news! I have started working on PetTrack Client, started writing the UI and the functions of the app, but that’s when I realised that I still have no way of storing the data, analyzing the data and I don’t have any API routes where I could check or see the NON EXISTENT DATA! so, I left pettrack_client and started working on the backend, it’s getting somewhere, but I have not pushed changes to GH yet, because I haven’t finished it yet and it would not run in this state. I will try to finish changes with the backend tomorrow so I can start working on the frontend / client with real, actual data. Until then, here is a picture of PetTrack Monitor running on a somewhat low end Android 8.0 device and my IDE :D"}, {"post_id": 8371, "ts": "2026-06-13T22:29:10Z", "hours": 2.42, "text": "Good day everybody! It’s been a long day. I have done a lot of things today, mainly with pettrack_monitor. Basically: Firstly, I did a git rebase and made my last few commits make a bit more sense. There were commits that weren’t that useful or had the wrong name; it’s always better to have a good commit history. Next, I finally installed the app on a real device, and let’s just say, there were some problems. The flashlight was on while taking pictures, which is what I fixed first. It was quite easy, just one line: await _controller.setFlashMode(FlashMode.off); Afterward, it dawned on me that most people (including me) will use this app in Landscape mode, not Portrait. I fixed that issue next, but that itself came with a batch of new problems. The layout broke, like, fully. I couldn’t use the app at all, so I had to rewrite the whole layout with flexes and SizedBoxes; it was a pain in the a**. After this issue, instead of showing the SetupScreen every time the app opens, I made it a one-time thing and added a Settings menu and an About page. There were some issues with overflowing, but I fixed that as well. Now the app is fully functional. However, there is an issue I haven’t gotten around to fixing yet: when I exit the SetupScreen and go into MonitorScreen, the Xiaomi Camera API kills itself for whatever reason. I tried fixing it, but to no avail. It’s currently 12:30 AM, and I am very tired now. Tomorrow, I hope I will fix all remaining issues with the Monitor app and move onto the Server-side logic, zones, database, etc. And while doing that, I will start working on the Client-side app (at least an MVP) so I can start testing the app and server together. Berci is also looking forward to testing the app! (And don’t ask why he is there he is there because he wants to I have no idea why that’s good for him) Peace out!"}, {"post_id": 7131, "ts": "2026-06-11T22:16:46Z", "hours": 1.8947, "text": "We finally have the server in Docker up and running! I haven’t had much time to work on the project yesterday and today, but I started working on the Docker and Dockerfile, and well this is still whichcraft for me :p But, we are developing and we are getting ahead, and I hope that after the MVP for the server is working, I can start working on the client side MVP of the app, and we can start implementing features from there. I am very tired, and I have a long day tomorrow. Until then, there is another picture of Berci! P.S: Tomorrow I hope I can show some of the actual project!"}, {"post_id": 5844, "ts": "2026-06-09T19:49:41Z", "hours": 3.1944, "text": "Hey! Welcome to my project, PetTrack, this is the first Devlog of the project. I just recently got a rabbit, and while in school, I don’t know what she’s doing. And I assume a lot of animal parents face the same issue, or not an issue but just an uncomfortable feeling, maybe she/he got out, maybe they are doing something wrong, maybe they are not doing well, etc. This is what PetTrack aims to solve, so this uncomfortable feeling goes away, and you can be sure that your pet is safe and sound, while you are away. It uses an old phone as a “Monitor”, which will be attached to for example the cage of a pet, and connected to external power. Originally I wanted to make it so that there is no “central” computing, but after thinking about this for some time, and figuring that most of the people who are going to use this are going to use a close to min requirement phone (assuming low range old phone, and not a new flagship/new anything basically) and the issues with if the monitor dies for some issue, I decided on using a “central server” and using FastAPI with WebSockets to make the usage more seamless. It will be a simple Docker image that you will need to compose and run on a RPI or your server. The Client will be the “main” app, the one you will use the most, the one you’ll use daily. This is my last priority at the moment, let’s get the data first (Monitor), analyze and make use of the data (Server/backend), and the last is to see the data (Client). I’m open to any and all feedback on the project, any tips, help with Py/Flutter, would appreciate! Thanks for reading! Pic Description: My rabbit, named Berci, and an MVP of the server and Monitor."}]...
|
Title: PetTrack by @szabence | Stardance
Devlogs: Title: PetTrack by @szabence | Stardance
Devlogs:
Hey! Welcome to my project, PetTrack, this is the first Devlog of the project. I just recently got a rabbit, and while in school, I don’t know what she’s doing. And I assume a lot of animal parents face the same issue, or not an issue but just an uncomfortable feeling, maybe she/he got out, maybe they are doing something wrong, maybe they are not doing well, etc. This is what PetTrack aims to solve, so this uncomfortable feeling goes away, and you can be sure that your pet is safe and sound, while you are away. It uses an old phone as a “Monitor”, which will be attached to for example the cage of a pet, and connected to external power. Originally I wanted to make it so that there is no “central” computing, but after thinking about this for some time, and figuring that most of the people who are going to use this are going to use a close to min requirement phone (assuming low range old phone, and not a new flagship/new anything basically) and the issues with if the monitor dies for some issue, I decided on using a “central server” and using FastAPI with WebSockets to make the usage more seamless. It will be a simple Docker image that you will need to compose and run on a RPI or your server. The Client will be the “main” app, the one you will use the most, the one you’ll use daily. This is my last priority at the moment, let’s get the data first (Monitor), analyze and make use of the data (Server/backend), and the last is to see the data (Client). I’m open to any and all feedback on the project, any tips, help with Py/Flutter, would appreciate! Thanks for reading! Pic Description: My rabbit, named Berci, and an MVP of the server and Monitor.
We finally have the server in Docker up and running! I haven’t had much time to work on the project yesterday and today, but I started working on the Docker and Dockerfile, and well this is still whichcraft for me :p But, we are developing and we are getting ahead, and I hope that after the MVP for the server is working, I can start working on the client side MVP of the app, and we can start implementing features from there. I am very tired, and I have a long day tomorrow. Until then, there is another picture of Berci! P.S: Tomorrow I hope I can show some of the actual project!
Good day everybody! It’s been a long day. I have done a lot of things today, mainly with pettrack_monitor. Basically: Firstly, I did a git rebase and made my last few commits make a bit more sense. There were commits that weren’t that useful or had the wrong name; it’s always better to have a good commit history. Next, I finally installed the app on a real device, and let’s just say, there were some problems. The flashlight was on while taking pictures, which is what I fixed first. It was quite easy, just one line: await _controller.setFlashMode(FlashMode.off); Afterward, it dawned on me that most people (including me) will use this app in Landscape mode, not Portrait. I fixed that issue next, but that itself came with a batch of new problems. The layout broke, like, fully. I couldn’t use the app at all, so I had to rewrite the whole layout with flexes and SizedBoxes; it was a pain in the a**. After this issue, instead of showing the SetupScreen every time the app opens, I made it a one-time thing and added a Settings menu and an About page. There were some issues with overflowing, but I fixed that as well. Now the app is fully functional. However, there is an issue I haven’t gotten around to fixing yet: when I exit the SetupScreen and go into MonitorScreen, the Xiaomi Camera API kills itself for whatever reason. I tried fixing it, but to no avail. It’s currently 12:30 AM, and I am very tired now. Tomorrow, I hope I will fix all remaining issues with the Monitor app and move onto the Server-side logic, zones, database, etc. And while doing that, I will start working on the Client-side app (at least an MVP) so I can start testing the app and server together. Berci is also looking forward to testing the app! (And don’t ask why he is there he is there because he wants to I have no idea why that’s good for him) Peace out!
Hey guys! It’s been a long day, once again, but I have some good news! I have started working on PetTrack Client, started writing the UI and the functions of the app, but that’s when I realised that I still have no way of storing the data, analyzing the data and I don’t have any API routes where I could check or see the NON EXISTENT DATA! so, I left pettrack_client and started working on the backend, it’s getting somewhere, but I have not pushed changes to GH yet, because I haven’t finished it yet and it would not run in this state. I will try to finish changes with the backend tomorrow so I can start working on the frontend / client with real, actual data. Until then, here is a picture of PetTrack Monitor running on a somewhat low end Android 8.0 device and my IDE :D
Hey guys! I haven’t posted a devlog in a few days now, I have been working on some stuff here, and I have to say that I have some very good news! We finally have a Client app! It is a work in progress, but it is something! I don’t remember everything I have changed in the code, but: API adjusted, added a layer of security, because the API wasn’t secured. Added zones to pettrack_server, and added an API to edit it, Added Database (maybe mentioned in last devlog) Takes pictures every 2 seconds, only saves every 30 seconds for 12 hours (will add a replay mode or something like that) pettrack_monitor almost fully done, only need to add some stuff here and there. pettrack_server is in an MVP state now, it works beautifully but some features are still missing before shipping pettrack_client has been made (not pushed to GH yet), works well, though I am pretty fking shyt in UI design, so I made the UI with stitch.withgoogle.com and coded some of it with Gemini, though it still needs a lot of work. Live camera somewhat works (TODO: need to add when watching in the app to show the new pictures (that are taken every 2 seconds and not the 30 seconds saved)) Shows which zone was the most used- Shows last interaction (movement) Last 15 activities (entered zone, left zone, will add more later ? (NEED IDEAS!)) You can add zones (see the live camera and set it via adding points on the picture) You can set a picture and name for your pet in the client app- Always changing welcome greetings No logo / face for the program yet, and no website, will start working on that later The Client app seems very stable for now, no issues found, pettrack_monitor has issues with focusing, server seems stable aswell. I am soon looking for testers for the program, before shipping I want to make sure that this is functional and useful for small pet owners, and what might work for me in my use case, it might not for somebody else, and I want to make it as stable as I am able to. Everything is opensource, available on https://github.com/szbnce/PetTrack (will push everything to GH tomorrow!), DM me on Slack if interested, currently only available for Android. I will start working on the UI and fix the bugs, and get back to you guys soon! Here are some pictures of the UI!
Miscellaneous Updates to PetTrack! Hey guys! I know I haven’t posted in almost 2 weeks at this point. I needed a break from coding and doing work at the PC/PetTrack. We have a few miscellaneous updates to share: Custom Monitor IDs : You can now set a custom Monitor ID, and it will show up properly in the PetTrack app as well, instead of just defaulting to “Main Monitor”. Battery Status : You can now see the battery percentage and whether it’s charging directly in the app! I plan to add a feature later that will send a notification to the PetTrack Client app when the monitor phone’s battery is running low. Backend Testing : Added testing to the PetTrack server for both the WebSocket and REST API, so you can easily check if the API and WS are working correctly. I will put more effort and hours into the project soon, but I have a lot of other things going on besides this project, and I don’t want to risk burning out. Bye! P.S: This is Berci from a few days ago and I pushed everything to GH!
Frontend Changes to PetTrack! Today I worked a lot on PetTrack, and I made a few small but nice changes: Zone Notifications: You now get notified if a pet enters or exits a zone. Battery Alerts: Get notifications if the monitor’s battery is low (can be set between 5% and 50%). Camera Placeholder: Added a placeholder picture for when the camera is offline. Pet Types: You can now set the type of pet you have. I’ve added a few common ones, but I can add more if needed! Dynamic Live Badge: Fixed the hardcoded “Live” text on the dashboard. Now it shows exactly when the picture was taken (e.g., “30 seconds ago”), and if it’s under 10 seconds, it will say “Live”. “Continuous” Video: It’s still using pictures, but instead of updating every 30 seconds, it now updates roughly every 2 seconds. UI Cleanup: Removed the zoom buttons from the Zones screen since they were unnecessary. Custom Zones & Icons: When adding a new zone, you can now assign it a category (play area, toilet, food, water, bed) with matching icons. I’ll add a fully customizable option later! Bug Fixes: Fixed some minor layout issues. That’s all I think. Bye guys!
Monitor ready, server working, Client UI is mostly done, we are shipping soon! I made a few adjustments today: Monitor: Synced theme with Client Fixed alignment issues Added Auto reconnect and Auto capture Monitor is basically finished, I don’t think I will add anything to the monitor before shipping now. New README.md: I completly redesigned the README, now in my opinion its almost perfect. Tomorrow, I will start to make a webpage for the project, and I might make a WebUI before the project ships, and add some more tests, but I will sleep on that. Bye guys!
More seamless Setup! I have edited the Setups, so now, it is more seamless: When you Install the server, it spits out a QR-code, which you have to scan while setting up the Client app, they connect, and you have to set up the profile of the pet, and a 4 digit pin code, which will be for the WebClient that I am planning to make. After that, the phone spits out another QR code, which you have to scan with the Monitor, and it will connect automatically, and only then will the app let you in. Also, I added E2EE to the server - client connection, to make it more secure, and I also did some bugfixes. I will start to Polish the apps, make it so easy to set up that even somebody who doesn’t use technology day-to-day would be able to set it up perfectly. Bye guys!
🛠️ BUGFIXES! BUGFIXES! I didn’t really add any new features this time, but rather focused on fixing and polishing already existing features. 🔒 Security and Stability Token Generation: I removed hardcoded “placeholder” tokens; the system now creates a new API token seamlessly. Storage Limits: Added a maximum 500 picture limit on the server, so it doesn’t fill up the storage if the cleanup task fails. Syntax Fixes: Fixed a broken dictionary on the server which threw garbage JSON. ✨ UI and Usability Notification Cooldown: Added a 1-minute cooldown between notifications to prevent spam. Better Statistics: Now the Activities tab shows 50 events instead of 5 for more accurate data. Dynamic Names: Removed fallback placeholder names (no more hardcoded fake names). 100% Localization: Removed all hardcoded UI strings and moved absolutely everything into l10n and .arb dictionaries. 🏗️ Architecture Hardware JPEG Streaming: Switched to native hardware JPEG streaming for faster picture taking, completely replacing the heavy RepaintBoundary method. 🚧 IN THE WORKS: WebSocket migration! I will tackle that tomorrow to achieve real-time streaming. Here is a picture showing git graph (lol) and Berci as I was fixing up issues. Bye guys!
now i understand why web developers are all bald and angry… Okkkay so, little bit of a backgound here, I do not agree on the fact that I should pay for FOSS apps to be put on the play store and app store, that for one company i should pay 25 bucks once and then i can put my app on the app store and i have to pay 100 BUCKS YEARLY TO APPLE. So, instead of creating an app for iOS, since you can’t really sideload (there are ways for people in Europe and you can jailbreak bla bla bla…) and this app is made for ordinary people. Not developers. So, as a last resort, I am making a WebClient and WebMonitor, so the apps are able to run without even installing anything. Obviously the installed apps will run better and feel better, but then no iOS support, which I did not want. So, I started working with AI on a WebClient and WebMonitor and started learning JavaScript, but that…. Dart next to Javascript is a kids game honestly, very hard, I tried to make it easier for me by using TailwindCSS which I have some experience in, but it wasn’t that easy. To eliminate AI slop, I have a great Web developer friend (became bald at the bold age of 30), and he’ll monitor the code and check if it is alright for “prod”…
🚀 WebClient is getting ready! I’ve done multiple things with the WebClient over the last 4 hours, and we are getting closer and closer to shipping! Here is a quick rundown of the progress: 🛠️ Key Features & Updates Unified Multi-Mode: You can now choose whether you want to use a device as a Client (Viewer) or a Monitor (Camera). Zone Management: Zone adding now works! (Showing current zones is still slightly broken, but we are getting there). Event Tracking: Zone enter/exit detection is fully functional. Dashboard Stats: Added panels to show “Last seen” and “Most seen” locations. Pet Profiles: You can now edit your pet’s profile directly from the Settings tab. Settings Reset: Added the ability to wipe all local settings if you want a fresh start. 🎨 UI & UX Polish Dark Mode: Synced theme with Client, dark and light mode aswell. Cleaned up the UI: Removed all unnecessary buttons. P.S. Berci got vaccinated today! 💉🐇 So now he’s immune to both physical viruses and mental breakdowns over JavaScript!
The Flutter apps and the Server is 99% done until shipping! This is rather a bigger devlog, I didn’t make a more smaller ones, but let’s see what I’ve done: Easier pairing : Now instead of using a qr code (which in the Docker terminal is unreliable), you get a 4 number pairing code, which you can use to communicate the 64 char JWT token. It’s much easier, and much more reliable. Docker : I implemented Docker, but it seems like at the moment that it only really works on MacOS, i might phase Docker out and make setup commands for each, maybe a oneliner with curl, or something like that. Bugfixes : Lots of bugfixes in those 6,5 hours, I can’t even list all of them, connectivity issues, pairing issues, camera issues, UI Cleanup : I removed developer overlays from the web e.g Eruda mobile console overlay. I will be focusing a lot more on the Mock API for the demo site, and polishing for Shipping EXCEPT for one feature that I still want to add, and that would be insanely good. Bye guys!
Hey guys.. Its been 17 days since the last Devlog, I dont even know what I “upgraded” or didn’t. I wont’t try to make it a big devlog or anything, really i just want to get the hours logged so I can start fresh. I’ve decided to ditch all 3 (pettrack_monitor, pettrack_client and pettrack_web) codebases and rewrite everything as one flutter app. Making sure 4 sections of the app written in 3 different languages wasn’t easy on my level so I decided to ditch all and write one “pettrack_app” codebase. It will work on Android, iOS and Web, and for iOS users also PWA app, so you don’t have to install anything, and it will all work under one codebase, so everything will be the same across all devices. So. I don’t know when I will finish or anything, or write the next devlog, because I have so many things to do this month, soo…
PetTrack Demo is finally here! I haven’t worked on PetTrack in the past 1,5 months, mostly because I just couldn’t bring myself to code, and I am going on vacation as I am writing this, and I figured, omg, if i come home, it will be already september, and besides school, i will definetly not finish this, and then, what was I working for for days on end? So, I got my sxit together, and started working on the project. Sadly, because of the time, I had to use AI so I will finish until I leave for vacation. I almost did not. It’s 3:45 AM, I left 2 hours ago, and I set up the server 15 whole minutes before leaving my house. So it was calculated, but I managed. Unified Flutter codebase: I merged the pettrack_client , pettrack_montior and pettrack_web , into one package, and is written in Flutter. The app is entirely in Flutter, I kept designs of the Client so it won’t look very different. Deployment & OS Support: The new one app method is Docker compatible, so the project will offer a Docker option, and a non-docker MacOS and Linux native installer, and a Windows installer aswell, without docker :) Branching: The one where I used AI has been moved to a new branch "allFlutter" . iOS Support: I initally did not want to make an iOS version because I don’t really agree with the yearly 100 usd developer program payment, and I don’t really agree with Google Play 25usd purchase aswell, but that’s very much more manageable than a yearly model, on a FOSS app. Anyways, I will publish the .ipa file, and do what you want with it :) If you have the courage and understanding, you can jailbreak and install it indefinetly, or you can sideload it, though you will have to renew it every week. If you don’t want to do that, you can of course use the Web version in a browser, it will work the exact same way, they are the same codebase under. Web support: This was my original plan to make PetTrack work on iOS devices, but then, I decided why not make it fully work on any browser? One codebase, the Webapp, the Android app and iOS app will work the EXACT SAME WAY! if you want to install a full app, you may, but if you don’t, you have all options. Medical panel: I think I have made a devlog about that, or mentioned that, but I will write it once again. We have a Medical tab now, where you will be able to track Medications and get notifications to give them to your pet, and the Vaccines tab, where you can track what the pet has gotten, when, and when its next Due. You can also set more colors. Replay: You can now replay movement. Currently for some reason, It does not work (I started implementing it at 0:30 AM, left at 1:30 so I could’ve expected that), or atleast it does not work from the browser. If i log into the server, and check it, the videos are there, and visible. It records a few seconds before and after the movement. Demo! Now you can check out PetTrack at: 👉 https://pettrackdemo.szabence.com How to access: Select language (colors are broken i know) Select Viewer For IP write asd or something, just dont leave it empty For password, write 8068 Press next, and you will see it asking if you want to go into Demo Press yes, and you are in! Its a quite basic demo, its the same codebase, just no server behind. You can add medications, test zones, etc. After you close the tab, everything will be deleted. I will test the project as I am going about my week, fix errors at night, and I will ship the project next week. Have a great week guys, and thank you for watching the project.
PetTrack has been released! Hello guys! I’m not going to mess around with Markdown for this last devlog, I have been testing the project for 2 weeks now, and it is working great. I fixed up minor bugs that I found, added 5 AI-translated languages for more multilang support, though Hungarian and English has been translated by me, so those are definetly correct :) I changed on the UI a bit, removed the last seen and most seen cards from the dashboard and changed it to a diagram about the Zone visits, and changed the Medical UI cards a bit. Also made the resolution in the app better, now you can make pictures from the app, and instantly share them, replays work now on both iOS and Android. The first release of PetTrack has been finally published on GitHub, so please go and check it out! https://github.com/szbnce/PetTrack/releases/tag/1.0.0 Thank you everybody who has been though this journey over 3 months with me. Thank you!
PetTrack reship no.2 Hey guys, I have shipped the project last week, but I got rejected because I’ve used the project logo as banner and not a screenshot… Anyways, I fixed some bugs that Ive seen since shipping, which was the Notification, on both iOS and Android and Web, it wasn’t working correctly anywhere, but because of lack of time at the moment, I have removed the Notification option. on iOS it will never work self-hosted, because it requires apple dev account and the app to be on the app store or have a real backend behind it, or something like that I’ve read. I also removed the Sync with watch button from the iOS builds and Web builds, since there is only WearOS build. Google play! I have started the process to put the app on the Google Play. I was originally against this, as y’all have read in one of the first devlogs, but I thought, 25 bucks once isn’t that much, so PetTrack will be on the Play store soon, but by the looks of things, only after Stardance has already finished. WearOS I started school once again, and I couldn’t always get to my phone so I have made a minimalist app to use on the watch, it’s not that full, you can only see 1 frame / 5 seconds, and you can’t edit anything, only check the live feed, check the Monitors battery percentage and the last seen in X zone. I will ship my project once again, thank you for reading! EDIT: I did not know I just need recertification instead of a full reship lol
Ships:
PetTrack! A beautiful Pet Monitoring system that upcycles old smartphones into IP-cameras that you can use to see your small pet I made this project because I took in a Rabbit in May 2026 and I didn’t know what she was doing when i wasn’t home, so I decided to code this app that you can install on any Android 7+ / iPhone 6s or newer device, and use it to check on your pet, with a beautiful UI, Zone tracking, replays, medicine and vaccine tracking, and a lot more :) The hardest part was, getting used to writing Flutter. I have never used Flutter in the past, but I read about it and I liked the mentality and the mechanics of the code or how should I say, and I decided to give it a go. I love it. Simple but effective, and I can use this 1 codebase on the web, on my iPhone, on my Android and even on my WearOS smartwatch :) The project is working, and you can check it by the bottom below, select language, select Client and press Demo mode, it will show the UI. You can see it working in action on the screenshots. Check the README, and thank you for reading this!...
|
1793339403.8761394
|
1793425803.8761394
|
|
16233
|
See-TreePiO by @Aryana | Stardance
|
Aryana
|
1
|
142.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T06:32:43Z", "hours": 142.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a project that can detect tree/plant species and temperature to determine whether it is dead or not. It displays the result on an LCD in the back, and will start the process of scanning a tree/plant once a button is pressed. The wiring is enclosed in a 3D printed prototype. The most difficult thing I did in this project was likely trying to fit it all in the enclosure. There were a lot of wires here and there, and the button was also quite difficult to fit in, as I needed to solder it on. However, this project was really fun to do, as it helped me gain knowledge about the environment around me, and I got to practice my software and hardware skills. I am really proud of myself, as I completed this project from start to finish, and didn’t give up. To test my project, all you have to do is plug in the battery pack, wait for a minute or so, point the prototype at the tree you want to scan, press the button, and wait for the results. Sometimes, it will take a little longer to get the results, resulting from a difficulty figuring out either the temperature or species of that particular plant/tree.", "repo": "https://github.com/dawinner395/tree-health-scanner", "demo": ""}]...
|
[{"post_id": 69981, "ts": "202 [{"post_id": 69981, "ts": "2026-09-18T05:40:56Z", "hours": 0.35, "text": "I completed the prototype by combining the enclosure with the prototype. I encased the sensors and the LCD. The prototype is finally complete!"}, {"post_id": 69965, "ts": "2026-09-18T04:18:13Z", "hours": 1.5167, "text": "I combined the parts in the bottom half of the prototype, and fit it in the encolsure."}, {"post_id": 67575, "ts": "2026-09-13T18:30:05Z", "hours": 1.3167, "text": "I researched the different types of prevalent trees in California and their temperatures during different seasons. I plan to add this to my database, as I hadn’t previously done this. I used many websites, but Our City Forest was the most helpful."}, {"post_id": 66887, "ts": "2026-09-12T20:45:05Z", "hours": 0.9333, "text": "I fixed the issues that the prototype was facing. I also added a button. The main thing I did was make the prototype able to function without the computer nearby, which can make it so that anyone in the world can use it with a battery pack."}, {"post_id": 64447, "ts": "2026-09-08T20:39:44Z", "hours": 12.0014, "text": "I 3D printed the top half of the housing for the prototype. Next, I will print the bottom half."}, {"post_id": 48288, "ts": "2026-08-16T16:26:44Z", "hours": 10.6833, "text": "I build a CAD of the structure that will house the prototype. I left holes for all the different parts, and will print it later today."}, {"post_id": 36195, "ts": "2026-07-28T03:59:06Z", "hours": 1.7667, "text": "I connected the database to the Raspberry Pi, and tested it out using a house plant. It worked really well, and the next step is to test it outside with a real tree."}, {"post_id": 35375, "ts": "2026-07-26T18:41:48Z", "hours": 1.8333, "text": "I researched about how to use the specific PlantNet API database with the Raspberry Pi and hook that database to a Machine Learning algorthim. I am finally ready to actually make the Machine Learning algorithm and get my hands dirty now that I have the information I need to continue on with the project."}, {"post_id": 32105, "ts": "2026-07-21T01:22:30Z", "hours": 0.3333, "text": "I researched more about the tree datasets, and I found one that has plenty of accurate information: PlantNet API."}, {"post_id": 31560, "ts": "2026-07-20T02:06:06Z", "hours": 0.6333, "text": "I researched the different datasets I can use for the project, as well as the amount of tree data each have in them. I still need to do some more research, but as of now, creating a dataset is the best option if I want to get a wide, accurate range of data. I haven’t found any datasets that match the amount of data I can collect by myself in my neighborhood."}, {"post_id": 29878, "ts": "2026-07-17T01:24:55Z", "hours": 0.6, "text": "I tested the camera and battery pack that came. They both worked really well. Now, I can start inputting the ML algrothm."}, {"post_id": 28665, "ts": "2026-07-15T01:45:42Z", "hours": 3.7747, "text": "I fiinshed the Machine Learning book."}, {"post_id": 28079, "ts": "2026-07-14T03:24:59Z", "hours": 1.0333, "text": "I read Chapters 14 and 15 of the Machine Learning book. The parts will come tomorrow."}, {"post_id": 27961, "ts": "2026-07-13T22:13:23Z", "hours": 0.6833, "text": "I read Chapter 13 of the Machine Learning book."}, {"post_id": 27279, "ts": "2026-07-12T18:33:41Z", "hours": 1.65, "text": "I planned the way I am going to connect the ArduCam to the Raspberry Pi with the thermal sensor. I realized I might have to solder some wires together so that more than one wire can fit on one pin on the Pi. I planned the way the wires are going to connect to the Pi and how I am going to integrate ML into the Pi using the camera and thermal sensor."}, {"post_id": 26242, "ts": "2026-07-10T22:09:55Z", "hours": 1.7667, "text": "I researched more about using the ArduCam with the Raspberry Pi 5. I found troubleshooting techniques and what I need to do after I get the camera (the setup)."}, {"post_id": 25652, "ts": "2026-07-10T02:04:39Z", "hours": 1.6847, "text": "I read Chapters 11 and 12 of the Machine Learning book."}, {"post_id": 25543, "ts": "2026-07-09T21:16:12Z", "hours": 1.5167, "text": "I watched a video about using the ArduCam with the Raspberry Pi 5."}, {"post_id": 25481, "ts": "2026-07-09T19:38:18Z", "hours": 1.2369, "text": "I read Chapters 9 and 10 of the Machine Learning book."}, {"post_id": 25077, "ts": "2026-07-09T01:30:27Z", "hours": 0.4, "text": "I read Chapter 8 of the Machine Learning book. I will stop watching the AI on the Edge videos because they are not accessible on YouTube after Lesson 31. The parts will come day after tomorrow, so I plan to finish reading this book by then."}, {"post_id": 24895, "ts": "2026-07-08T19:02:48Z", "hours": 2.1167, "text": "I watched Lesson 31 of the AI on the Edge videos."}, {"post_id": 24517, "ts": "2026-07-08T03:43:40Z", "hours": 2.1914, "text": "I watched Lesson 30 of the AI on the Edge videos."}, {"post_id": 24471, "ts": "2026-07-08T01:31:47Z", "hours": 1.9167, "text": "I watched Lesson 29 of the AI on the Edge videos."}, {"post_id": 24422, "ts": "2026-07-07T23:28:04Z", "hours": 3.2, "text": "I watched Lesson 28 of the AI on the Edge videos."}, {"post_id": 24308, "ts": "2026-07-07T19:58:17Z", "hours": 2.1003, "text": "I watched Lesson 27 of the AI on the Edge videos."}, {"post_id": 23795, "ts": "2026-07-06T23:03:10Z", "hours": 2.7667, "text": "I watched Lesson 26 of the AI on the Edge videos."}, {"post_id": 23280, "ts": "2026-07-06T04:18:00Z", "hours": 2.3625, "text": "I watched Lesson 25 of the AI on the Edge videos."}, {"post_id": 23236, "ts": "2026-07-06T01:55:59Z", "hours": 3.1667, "text": "I watched Lesson 24 of the AI on the Edge videos."}, {"post_id": 23150, "ts": "2026-07-05T22:46:20Z", "hours": 0.9167, "text": "I read chapters 6 and 7 of the Machine Learning book. I’m just reading and watching the videos until the parts arrive in three or four days. Then, I will work on the technical aspect of the prototype. I have some free time now, so I thought I would learn about Machine Learning and using the Raspberry Pi in the time I have instead of wasting it."}, {"post_id": 22461, "ts": "2026-07-04T22:37:08Z", "hours": 2.0494, "text": "I watched Lesson 23 of the AI on the Edge videos."}, {"post_id": 22380, "ts": "2026-07-04T20:34:29Z", "hours": 3.2, "text": "I watched Lesson 22 of the AI on the Edge videos."}, {"post_id": 21779, "ts": "2026-07-03T21:41:25Z", "hours": 1.5, "text": "I watched Lesson 21 of the AI on the Edge videos."}, {"post_id": 21716, "ts": "2026-07-03T20:11:28Z", "hours": 1.9, "text": "I watched Lesson 20 of the AI on the Edge videos."}, {"post_id": 21285, "ts": "2026-07-03T04:02:15Z", "hours": 2.8383, "text": "I watched Lesson 19 of the AI on the Edge videos."}, {"post_id": 21215, "ts": "2026-07-03T01:11:38Z", "hours": 2.3, "text": "I watched Lesson 18 of the AI on the Edge videos."}, {"post_id": 21101, "ts": "2026-07-02T21:55:09Z", "hours": 3.7, "text": "I watched Lesson 17 of the AI on the Edge videos."}, {"post_id": 20495, "ts": "2026-07-02T03:07:09Z", "hours": 1.9072, "text": "I watched Lesson 16 of the AI on the Edge videos."}, {"post_id": 20442, "ts": "2026-07-02T01:11:45Z", "hours": 2.3333, "text": "I watched Lesson 15 of the AI on the Edge videos."}, {"post_id": 20318, "ts": "2026-07-01T21:43:50Z", "hours": 3.6667, "text": "I watched Lesson 14 of the AI on the Edge videos."}, {"post_id": 19770, "ts": "2026-07-01T04:50:30Z", "hours": 2.7167, "text": "I watched Lesson 13 of the AI on the Edge videos."}, {"post_id": 19679, "ts": "2026-07-01T02:07:59Z", "hours": 1.4167, "text": "I watched Lesson 12 of the AI on the Edge videos."}, {"post_id": 19634, "ts": "2026-07-01T00:35:15Z", "hours": 1.6167, "text": "I read chapters 5 and 6 of the Machine Learning book."}, {"post_id": 19586, "ts": "2026-06-30T22:40:26Z", "hours": 1.6167, "text": "I watched Lesson 11 of the AI on the Edge videos."}, {"post_id": 19523, "ts": "2026-06-30T21:02:23Z", "hours": 1.0494, "text": "I watched Lesson 10 of the AI on the Edge videos."}, {"post_id": 19468, "ts": "2026-06-30T19:58:25Z", "hours": 2.1, "text": "I watched Lesson 9 of the AI on the Edge videos."}, {"post_id": 19018, "ts": "2026-06-30T05:48:49Z", "hours": 2.7, "text": "I watched Lesson 8 of the AI on the Edge videos."}, {"post_id": 18914, "ts": "2026-06-30T03:06:50Z", "hours": 0.75, "text": "I finished reading Chapter 4 of the Machine Learning book. I am also taking more notes on the book now."}, {"post_id": 18878, "ts": "2026-06-30T02:18:01Z", "hours": 0.9, "text": "I sent an email to Ms. Mint (the one I met previosuly) asking if we could meet again for some feedback on my project idea. I also converted my paper plan onto a document and calendar so I can keep track of any deadlines I might have for the project."}, {"post_id": 18760, "ts": "2026-06-29T23:18:51Z", "hours": 4.0, "text": "I watched Lesson 7 of the AI on the Edge videos."}, {"post_id": 17910, "ts": "2026-06-28T20:55:18Z", "hours": 1.2, "text": "I watched Lesson 6 of the AI on the Edge videos."}, {"post_id": 17840, "ts": "2026-06-28T19:40:59Z", "hours": 1.0667, "text": "I watched Lesson 5 of AI on the Edge. In the previous DevLog about the AI on the Edge videos, I actually watched Lesson 4, not Lesson 3."}, {"post_id": 17786, "ts": "2026-06-28T18:35:28Z", "hours": 1.7667, "text": "I made a plan on how to spend my time during this summer, as a lot of time will be dedicated to the ML aspect of my project."}, {"post_id": 17345, "ts": "2026-06-28T02:58:04Z", "hours": 2.0833, "text": "I watched Lesson 3 of the AI on the Edge videos."}, {"post_id": 17217, "ts": "2026-06-27T22:37:39Z", "hours": 3.05, "text": "I finished the 3rd lesson of the AI on the Edge."}, {"post_id": 17106, "ts": "2026-06-27T19:33:57Z", "hours": 1.5667, "text": "I watched the Lesson 2 of the AI on the Edge Raspberry Pi videos."}, {"post_id": 16603, "ts": "2026-06-27T00:34:57Z", "hours": 1.5, "text": "I watched a video about using the Raspberry Pi 5 with ML. Though the Machine Learning book is helpful (and I will keep reading it), I felt that it was not enough to help me with this specific project."}, {"post_id": 16000, "ts": "2026-06-25T23:50:46Z", "hours": 0.9333, "text": "I researched exactly what camera and battery pack to buy (to power the Raspberry Pi). I added them to the cart and will buy it as soon as possible to further develop the prototype. I can’t wait to see how it works with the thermal sensor!"}, {"post_id": 15917, "ts": "2026-06-25T21:22:07Z", "hours": 1.0667, "text": "I just researched about how to combine a thermal sensor with a camera. I found a helpful video and took notes on that video. I also found the specific type of camera I can use, which is a standard Raspberry Pi Camera Module, as well as the connector."}, {"post_id": 15877, "ts": "2026-06-25T20:08:12Z", "hours": 0.6167, "text": "Instead of physically testing the prototypes out (because my dog accidentally stepped on the ultrasonic sensor prototype), I just researched a bit more about the two sensors. I researched the benefits and downsides of each sensor, as well as how accurae they are at specifcally detecting dead trees. I found that people have used ultrasonic sensors before to detect dead trees, but no one has used thermal sensors in the way that I am before to do so. Therefore, I will stick with using a thermal sensor for this prototype. I will have to do more research about the actual pairing between a thermal sensor, a camera, and ML, but the book will help me a lot in the coding of the ML portion."}, {"post_id": 15231, "ts": "2026-06-24T18:49:08Z", "hours": 0.5333, "text": "I compared the 2 prototypes to see which sensor is more accurate (with research, not actual testing). I found that the thermal sensor is more accurate, especially when paired with a camera and an ML algorithm. However, the pairing will be new to me because of the Raspberry Pi. I am more used to working with Aruinos, but through research and practice, I will be able to implement ML. Also, the book I am reading is going to help increase my knowledge on ML. In a future DevLog, I might just test this research just to be sure the thermal sensor is the right choice."}, {"post_id": 14069, "ts": "2026-06-23T01:29:08Z", "hours": 2.3667, "text": "I created the new prototype using the ultrasonic sensor. I coded it, and it successfully functions properly. However, when I tested it with a tree, it didn’t detect it correctly (it said it was dead, not healthy). When I tested it a few more times, it showed accurate readings. I still need to compare the two prototypes together."}, {"post_id": 13982, "ts": "2026-06-22T23:01:27Z", "hours": 0.7219, "text": "I started taking notes on how to work with a thermal sensor, a camera, and ML. I found that it might be hard to integrate all 3 of these things, so I started looking in a different path. I found that I could use ultrasonic distance sensors to detect the unique ultrasonic waves emitted from trees. Therefore, I will start creating a prototype using the ultrasonic sensor and compare the 2 prototypes together."}, {"post_id": 13915, "ts": "2026-06-22T20:24:35Z", "hours": 1.6833, "text": "I copied the code from Command Prompt to GitHub so I have a way to store it somewhere safe. I also double-checkked that the code was correct, and fixed any errors."}, {"post_id": 13555, "ts": "2026-06-22T06:01:12Z", "hours": 3.0333, "text": "I interviewed a tree expert, Ms. Mint, who works at a local farm. She brought up some interesting points, and helped me narrow down what sensors I want to use for my project. She said that using a thermal sensor would be a good idea becuase of its accuracy and easy use. However, when I interviewed her, I had to record the video on my phone instead of on this Hackatime. Therefore, I screen recorded the video and that is the video shown here on this Devlog. I was also with a few other people interested in Ms. Mint’s work, so it wasn’t a one-on-one session, more of a broader overview with a lot of Q-and-A. Overall, this experience was really nice because I got to meet a curator of a nature center, feel the nature all around me, see the difference between dead and healthy trees, and get feedback on my idea."}, {"post_id": 13494, "ts": "2026-06-22T02:51:43Z", "hours": 1.1878, "text": "I wired the thermal sensor, the LCD, the Raspberry Pi, and the LCD backpack. At first, the wiring was not working, so I switched to planning the wiring on paper. Once I finished that, I used a soldering iron to combine two wires to fit in one slot. This is the completed wiring."}, {"post_id": 13467, "ts": "2026-06-22T01:34:43Z", "hours": 0.4833, "text": "I continued reading the Machine Learning book and got to Chapter 4. The book is really interesting and I already feel like I have some knowledge (not a lot, but some) about ML."}, {"post_id": 13450, "ts": "2026-06-22T01:01:41Z", "hours": 2.55, "text": "I continued reading the Machine Learning book and got to Chapter 4. The book is really interesting and I already feel like I have some knowledge (not a lot, but some) about ML."}, {"post_id": 13342, "ts": "2026-06-21T21:15:14Z", "hours": 0.4833, "text": "I have started reading a book about Machine Learning, its history, and how to train/use it to the best of my ability. I have been taking some notes and answering some questions presented in the book. I have gotten through the first 2 chapters so far and plan to finish the book in the next few weeks. This book will really help me use ML in my project, as well as use it in other projects that I may decide to pursue."}, {"post_id": 12793, "ts": "2026-06-20T22:25:53Z", "hours": 0.8169, "text": "I created the code for the basic part of the prototype. The code makes the prototype able to detect the thermal signature of a Redwood Tree and determine whether it is dead or healthy. In the future, I wil re-make the code to incorporate a camera and a Machine Learning algorithm that can be used for more accurate and broader readings, not just for Redwood trees."}, {"post_id": 12756, "ts": "2026-06-20T21:19:55Z", "hours": 1.4667, "text": "Researched about the different techniques and sensors I could use for this project. I found that using a thermal sensor with Machine Learning algorithms and a camera would be the best for my project."}, {"post_id": 12708, "ts": "2026-06-20T19:07:36Z", "hours": 0.6164, "text": "Testing and editing the code and the wiring of the prototype"}]...
|
Title: See-TreePiO by @Aryana | Stardance
Devlogs Title: See-TreePiO by @Aryana | Stardance
Devlogs:
Testing and editing the code and the wiring of the prototype
Researched about the different techniques and sensors I could use for this project. I found that using a thermal sensor with Machine Learning algorithms and a camera would be the best for my project.
I created the code for the basic part of the prototype. The code makes the prototype able to detect the thermal signature of a Redwood Tree and determine whether it is dead or healthy. In the future, I wil re-make the code to incorporate a camera and a Machine Learning algorithm that can be used for more accurate and broader readings, not just for Redwood trees.
I have started reading a book about Machine Learning, its history, and how to train/use it to the best of my ability. I have been taking some notes and answering some questions presented in the book. I have gotten through the first 2 chapters so far and plan to finish the book in the next few weeks. This book will really help me use ML in my project, as well as use it in other projects that I may decide to pursue.
I continued reading the Machine Learning book and got to Chapter 4. The book is really interesting and I already feel like I have some knowledge (not a lot, but some) about ML.
I continued reading the Machine Learning book and got to Chapter 4. The book is really interesting and I already feel like I have some knowledge (not a lot, but some) about ML.
I wired the thermal sensor, the LCD, the Raspberry Pi, and the LCD backpack. At first, the wiring was not working, so I switched to planning the wiring on paper. Once I finished that, I used a soldering iron to combine two wires to fit in one slot. This is the completed wiring.
I interviewed a tree expert, Ms. Mint, who works at a local farm. She brought up some interesting points, and helped me narrow down what sensors I want to use for my project. She said that using a thermal sensor would be a good idea becuase of its accuracy and easy use. However, when I interviewed her, I had to record the video on my phone instead of on this Hackatime. Therefore, I screen recorded the video and that is the video shown here on this Devlog. I was also with a few other people interested in Ms. Mint’s work, so it wasn’t a one-on-one session, more of a broader overview with a lot of Q-and-A. Overall, this experience was really nice because I got to meet a curator of a nature center, feel the nature all around me, see the difference between dead and healthy trees, and get feedback on my idea.
I copied the code from Command Prompt to GitHub so I have a way to store it somewhere safe. I also double-checkked that the code was correct, and fixed any errors.
I started taking notes on how to work with a thermal sensor, a camera, and ML. I found that it might be hard to integrate all 3 of these things, so I started looking in a different path. I found that I could use ultrasonic distance sensors to detect the unique ultrasonic waves emitted from trees. Therefore, I will start creating a prototype using the ultrasonic sensor and compare the 2 prototypes together.
I created the new prototype using the ultrasonic sensor. I coded it, and it successfully functions properly. However, when I tested it with a tree, it didn’t detect it correctly (it said it was dead, not healthy). When I tested it a few more times, it showed accurate readings. I still need to compare the two prototypes together.
I compared the 2 prototypes to see which sensor is more accurate (with research, not actual testing). I found that the thermal sensor is more accurate, especially when paired with a camera and an ML algorithm. However, the pairing will be new to me because of the Raspberry Pi. I am more used to working with Aruinos, but through research and practice, I will be able to implement ML. Also, the book I am reading is going to help increase my knowledge on ML. In a future DevLog, I might just test this research just to be sure the thermal sensor is the right choice.
Instead of physically testing the prototypes out (because my dog accidentally stepped on the ultrasonic sensor prototype), I just researched a bit more about the two sensors. I researched the benefits and downsides of each sensor, as well as how accurae they are at specifcally detecting dead trees. I found that people have used ultrasonic sensors before to detect dead trees, but no one has used thermal sensors in the way that I am before to do so. Therefore, I will stick with using a thermal sensor for this prototype. I will have to do more research about the actual pairing between a thermal sensor, a camera, and ML, but the book will help me a lot in the coding of the ML portion.
I just researched about how to combine a thermal sensor with a camera. I found a helpful video and took notes on that video. I also found the specific type of camera I can use, which is a standard Raspberry Pi Camera Module, as well as the connector.
I researched exactly what camera and battery pack to buy (to power the Raspberry Pi). I added them to the cart and will buy it as soon as possible to further develop the prototype. I can’t wait to see how it works with the thermal sensor!
I watched a video about using the Raspberry Pi 5 with ML. Though the Machine Learning book is helpful (and I will keep reading it), I felt that it was not enough to help me with this specific project.
I watched the Lesson 2 of the AI on the Edge Raspberry Pi videos.
I finished the 3rd lesson of the AI on the Edge.
I watched Lesson 3 of the AI on the Edge videos.
I made a plan on how to spend my time during this summer, as a lot of time will be dedicated to the ML aspect of my project.
I watched Lesson 5 of AI on the Edge. In the previous DevLog about the AI on the Edge videos, I actually watched Lesson 4, not Lesson 3.
I watched Lesson 6 of the AI on the Edge videos.
I watched Lesson 7 of the AI on the Edge videos.
I sent an email to Ms. Mint (the one I met previosuly) asking if we could meet again for some feedback on my project idea. I also converted my paper plan onto a document and calendar so I can keep track of any deadlines I might have for the project.
I finished reading Chapter 4 of the Machine Learning book. I am also taking more notes on the book now.
I watched Lesson 8 of the AI on the Edge videos.
I watched Lesson 9 of the AI on the Edge videos.
I watched Lesson 10 of the AI on the Edge videos.
I watched Lesson 11 of the AI on the Edge videos.
I read chapters 5 and 6 of the Machine Learning book.
I watched Lesson 12 of the AI on the Edge videos.
I watched Lesson 13 of the AI on the Edge videos.
I watched Lesson 14 of the AI on the Edge videos.
I watched Lesson 15 of the AI on the Edge videos.
I watched Lesson 16 of the AI on the Edge videos.
I watched Lesson 17 of the AI on the Edge videos.
I watched Lesson 18 of the AI on the Edge videos.
I watched Lesson 19 of the AI on the Edge videos.
I watched Lesson 20 of the AI on the Edge videos.
I watched Lesson 21 of the AI on the Edge videos.
I watched Lesson 22 of the AI on the Edge videos.
I watched Lesson 23 of the AI on the Edge videos.
I read chapters 6 and 7 of the Machine Learning book. I’m just reading and watching the videos until the parts arrive in three or four days. Then, I will work on the technical aspect of the prototype. I have some free time now, so I thought I would learn about Machine Learning and using the Raspberry Pi in the time I have instead of wasting it.
I watched Lesson 24 of the AI on the Edge videos.
I watched Lesson 25 of the AI on the Edge videos.
I watched Lesson 26 of the AI on the Edge videos.
I watched Lesson 27 of the AI on the Edge videos.
I watched Lesson 28 of the AI on the Edge videos.
I watched Lesson 29 of the AI on the Edge videos.
I watched Lesson 30 of the AI on the Edge videos.
I watched Lesson 31 of the AI on the Edge videos.
I read Chapter 8 of the Machine Learning book. I will stop watching the AI on the Edge videos because they are not accessible on YouTube after Lesson 31. The parts will come day after tomorrow, so I plan to finish reading this book by then.
I read Chapters 9 and 10 of the Machine Learning book.
I watched a video about using the ArduCam with the Raspberry Pi 5.
I read Chapters 11 and 12 of the Machine Learning book.
I researched more about using the ArduCam with the Raspberry Pi 5. I found troubleshooting techniques and what I need to do after I get the camera (the setup).
I planned the way I am going to connect the ArduCam to the Raspberry Pi with the thermal sensor. I realized I might have to solder some wires together so that more than one wire can fit on one pin on the Pi. I planned the way the wires are going to connect to the Pi and how I am going to integrate ML into the Pi using the camera and thermal sensor.
I read Chapter 13 of the Machine Learning book.
I read Chapters 14 and 15 of the Machine Learning book. The parts will come tomorrow.
I fiinshed the Machine Learning book.
I tested the camera and battery pack that came. They both worked really well. Now, I can start inputting the ML algrothm.
I researched the different datasets I can use for the project, as well as the amount of tree data each have in them. I still need to do some more research, but as of now, creating a dataset is the best option if I want to get a wide, accurate range of data. I haven’t found any datasets that match the amount of data I can collect by myself in my neighborhood.
I researched more about the tree datasets, and I found one that has plenty of accurate information: PlantNet API.
I researched about how to use the specific PlantNet API database with the Raspberry Pi and hook that database to a Machine Learning algorthim. I am finally ready to actually make the Machine Learning algorithm and get my hands dirty now that I have the information I need to continue on with the project.
I connected the database to the Raspberry Pi, and tested it out using a house plant. It worked really well, and the next step is to test it outside with a real tree.
I build a CAD of the structure that will house the prototype. I left holes for all the different parts, and will print it later today.
I 3D printed the top half of the housing for the prototype. Next, I will print the bottom half.
I fixed the issues that the prototype was facing. I also added a button. The main thing I did was make the prototype able to function without the computer nearby, which can make it so that anyone in the world can use it with a battery pack.
I researched the different types of prevalent trees in California and their temperatures during different seasons. I plan to add this to my database, as I hadn’t previously done this. I used many websites, but Our City Forest was the most helpful.
I combined the parts in the bottom half of the prototype, and fit it in the encolsure.
I completed the prototype by combining the enclosure with the prototype. I encased the sensors and the LCD. The prototype is finally complete!
Ships:
I made a project that can detect tree/plant species and temperature to determine whether it is dead or not. It displays the result on an LCD in the back, and will start the process of scanning a tree/plant once a button is pressed. The wiring is enclosed in a 3D printed prototype. The most difficult thing I did in this project was likely trying to fit it all in the enclosure. There were a lot of wires here and there, and the button was also quite difficult to fit in, as I needed to solder it on. However, this project was really fun to do, as it helped me gain knowledge about the environment around me, and I got to practice my software and hardware skills. I am really proud of myself, as I completed this project from start to finish, and didn’t give up. To test my project, all you have to do is plug in the battery pack, wait for a minute or so, point the prototype at the tree you want to scan, press the button, and wait for the results. Sometimes, it will take a little longer to get the results, resulting from a difficulty figuring out either the temperature or species of that particular plant/tree....
|
1793339400.0579014
|
1793425800.0579014
|