|
28148
|
JishOS by @JishnuDutta | Stardance
|
JishnuDutta
|
1
|
30.01
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T12:56:48Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "After a lot of late nights, I finally finished JishOS v1 ! JishOS is a browser-based desktop environment built with React. It has draggable and resizable windows, desktop widgets, a browser, notes app, and a Python IDE powered by Pyodide, so you can write and run Python entirely in your browser—no backend required. Some highlights: Custom window manager with dragging, resizing and focus management Monaco Editor for the Python IDE Interactive terminal pip install support for Pyodide packages Persistent package installation using LocalStorage Built-in Matplotlib support with a Plot Viewer Welcome app with a quick start guide Clock and calendar widgets The most challenging part was definitely integrating Matplotlib. I wanted plots to behave like a desktop application instead of just appearing at the bottom of the page, so I ended up embedding the WebAgg plot viewer inside its own JishOS window. There are still lots of ideas for future versions (a virtual filesystem, multiple Python files, a file explorer, projects, and more), but I wanted to ship a solid v1 instead of endlessly adding features. I’d love to hear any feedback or ideas for future versions!", "repo": "https://github.com/J1234D/JishOS", "demo": "https://jish-os.vercel.app"}]...
|
[{"post_id": 29004, "ts": "202 [{"post_id": 29004, "ts": "2026-07-15T17:27:29Z", "hours": 1.0067, "text": "I added a maximize button!"}, {"post_id": 24082, "ts": "2026-07-07T12:46:35Z", "hours": 0.7014, "text": "I finally completed the README.md and Welcome app, JishOS is now ready to ship! here is the github repo: https://github.com/J1234D/jishos"}, {"post_id": 24068, "ts": "2026-07-07T11:53:30Z", "hours": 12.6186, "text": "JishOS Python IDE Becomes a Real IDE This was one of the biggest development sessions for JishOS so far. The Python IDE went from a basic code runner to something that feels much closer to a real desktop IDE. ✨ New Features 🧩 Desktop Widgets Introduced desktop widgets to enhance the operating system experience. Features: 🕒 Live digital clock 📅 Interactive calendar Seamlessly integrated with the desktop UI 🐍 Pyodide Integration Embedded a full Python runtime using Pyodide. Python now runs completely inside the browser. No backend server required. 📝 Monaco Editor Integrated Monaco Editor. Python syntax highlighting. Larger font and cleaner editing experience. Code is automatically saved using local storage. 💻 Interactive Terminal Terminal displays Python output. Color-coded messages: 🟢 Python output 🔴 Errors 🟡 User commands 🔵 JishOS responses Auto-scroll implemented. Fixed several scrolling and layout bugs. 📦 Package Manager Implemented a lightweight package manager. Supported command: pip install <package> Features: Downloads packages using pyodide.loadPackage() Remembers installed packages with LocalStorage Prevents duplicate installations Clean success/error messages Successfully tested with: numpy pandas matplotlib 📊 Plot Viewer Added the first version of the Plot Viewer. Current implementation: Detects when Matplotlib creates figures. Automatically opens a Plot Viewer window. Embeds Matplotlib’s native WebAgg viewer inside JishOS. Toolbar (zoom, pan, save) works. This is considered a temporary v1 solution before moving to a custom renderer in a future version. 🖥 Window System Improvements Improved the desktop window manager: Better focus handling More reliable resizing Fixed several overflow issues Better scrolling behavior for embedded applications 🐛 Major Bugs Fixed Fixed terminal scrollbar appearing too late. Fixed Monaco editor overflowing its window. Fixed terminal auto-scroll. Fixed rounded Monaco container. Fixed Pyodide loading issues. Fixed duplicate package installation. Fixed Plot Viewer DOM integration. 📚 Things Learned Today involved learning about: Pyodide package loading Browser virtual file systems React refs DOM manipulation WebAgg backend LocalStorage persistence Component communication in React Handling asynchronous Python execution 🔜 Planned for Version 2 Instead of delaying the first release, these features have been postponed to v2: 📁 Virtual filesystem 📄 Multiple files ( main.py , main2.py , data.csv , notes.txt ) 🗂 File Explorer 📂 Folder support 💾 Projects 🖼 Custom Plot Viewer (PNG-based rendering) 🖥 Multiple Python projects"}, {"post_id": 22696, "ts": "2026-07-05T08:09:35Z", "hours": 6.0608, "text": "Window Management Improvements This update focused on making the JishOS desktop feel much closer to a real operating system. What’s new: 🖱️ Added window resizing from all four edges with minimum size limits. 📏 Fixed windows resizing beyond the desktop boundaries. 🪟 Fixed newly opened windows occasionally appearing partially off-screen due to CSS positioning issues. 📐 Implemented cascading window offsets so each new window opens slightly offset from the previous one. 🎯 Added window focus, allowing a clicked window to move to the front of the stack. This update significantly improves the overall desktop experience and lays the groundwork for future features like minimizing, maximizing, and window snapping."}, {"post_id": 21995, "ts": "2026-07-04T07:01:50Z", "hours": 6.545, "text": "Progress Update (Past 2 Days) 🚀 Over the past two days, I built the core desktop environment for JishOS, including: 🖥️ Desktop layout 📌 Top bar 🪟 Reusable window component 📂 Desktop icons 📝 Notes app 🖱️ Custom window dragging system built from scratch using React (no drag library) Next, I’ll add localStorage support for notes, multiple named notes, improved window management, and more desktop applications."}, {"post_id": 18409, "ts": "2026-06-29T15:27:16Z", "hours": 3.1319, "text": "I made the boot screen! I made this using React JS"}]...
|
Title: JishOS by @JishnuDutta | Stardance
Devlogs Title: JishOS by @JishnuDutta | Stardance
Devlogs:
I made the boot screen! I made this using React JS
Progress Update (Past 2 Days) 🚀 Over the past two days, I built the core desktop environment for JishOS, including: 🖥️ Desktop layout 📌 Top bar 🪟 Reusable window component 📂 Desktop icons 📝 Notes app 🖱️ Custom window dragging system built from scratch using React (no drag library) Next, I’ll add localStorage support for notes, multiple named notes, improved window management, and more desktop applications.
Window Management Improvements This update focused on making the JishOS desktop feel much closer to a real operating system. What’s new: 🖱️ Added window resizing from all four edges with minimum size limits. 📏 Fixed windows resizing beyond the desktop boundaries. 🪟 Fixed newly opened windows occasionally appearing partially off-screen due to CSS positioning issues. 📐 Implemented cascading window offsets so each new window opens slightly offset from the previous one. 🎯 Added window focus, allowing a clicked window to move to the front of the stack. This update significantly improves the overall desktop experience and lays the groundwork for future features like minimizing, maximizing, and window snapping.
JishOS Python IDE Becomes a Real IDE This was one of the biggest development sessions for JishOS so far. The Python IDE went from a basic code runner to something that feels much closer to a real desktop IDE. ✨ New Features 🧩 Desktop Widgets Introduced desktop widgets to enhance the operating system experience. Features: 🕒 Live digital clock 📅 Interactive calendar Seamlessly integrated with the desktop UI 🐍 Pyodide Integration Embedded a full Python runtime using Pyodide. Python now runs completely inside the browser. No backend server required. 📝 Monaco Editor Integrated Monaco Editor. Python syntax highlighting. Larger font and cleaner editing experience. Code is automatically saved using local storage. 💻 Interactive Terminal Terminal displays Python output. Color-coded messages: 🟢 Python output 🔴 Errors 🟡 User commands 🔵 JishOS responses Auto-scroll implemented. Fixed several scrolling and layout bugs. 📦 Package Manager Implemented a lightweight package manager. Supported command: pip install <package> Features: Downloads packages using pyodide.loadPackage() Remembers installed packages with LocalStorage Prevents duplicate installations Clean success/error messages Successfully tested with: numpy pandas matplotlib 📊 Plot Viewer Added the first version of the Plot Viewer. Current implementation: Detects when Matplotlib creates figures. Automatically opens a Plot Viewer window. Embeds Matplotlib’s native WebAgg viewer inside JishOS. Toolbar (zoom, pan, save) works. This is considered a temporary v1 solution before moving to a custom renderer in a future version. 🖥 Window System Improvements Improved the desktop window manager: Better focus handling More reliable resizing Fixed several overflow issues Better scrolling behavior for embedded applications 🐛 Major Bugs Fixed Fixed terminal scrollbar appearing too late. Fixed Monaco editor overflowing its window. Fixed terminal auto-scroll. Fixed rounded Monaco container. Fixed Pyodide loading issues. Fixed duplicate package installation. Fixed Plot Viewer DOM integration. 📚 Things Learned Today involved learning about: Pyodide package loading Browser virtual file systems React refs DOM manipulation WebAgg backend LocalStorage persistence Component communication in React Handling asynchronous Python execution 🔜 Planned for Version 2 Instead of delaying the first release, these features have been postponed to v2: 📁 Virtual filesystem 📄 Multiple files ( main.py , main2.py , data.csv , notes.txt ) 🗂 File Explorer 📂 Folder support 💾 Projects 🖼 Custom Plot Viewer (PNG-based rendering) 🖥 Multiple Python projects
I finally completed the README.md and Welcome app, JishOS is now ready to ship! here is the github repo: https://github.com/J1234D/jishos
I added a maximize button!
Ships:
After a lot of late nights, I finally finished JishOS v1 ! JishOS is a browser-based desktop environment built with React. It has draggable and resizable windows, desktop widgets, a browser, notes app, and a Python IDE powered by Pyodide, so you can write and run Python entirely in your browser—no backend required. Some highlights: Custom window manager with dragging, resizing and focus management Monaco Editor for the Python IDE Interactive terminal pip install support for Pyodide packages Persistent package installation using LocalStorage Built-in Matplotlib support with a Plot Viewer Welcome app with a quick start guide Clock and calendar widgets The most challenging part was definitely integrating Matplotlib. I wanted plots to behave like a desktop application instead of just appearing at the bottom of the page, so I ended up embedding the WebAgg plot viewer inside its own JishOS window. There are still lots of ideas for future versions (a virtual filesystem, multiple Python files, a file explorer, projects, and more), but I wanted to ship a solid v1 instead of endlessly adding features. I’d love to hear any feedback or ideas for future versions!...
|
1793245937.794157
|
1793332337.794157
|
|
498
|
Stageless by @MrChicken | Stardance
|
MrChicken
|
2
|
30.0
|
287
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T03:02:14Z", "hours": 22.0, "multiplier": 10.94, "payout": 243, "blessing": "neutral", "text": "Worked on adding the tower rush and tweaking the looks of ui to be more polished", "repo": "https://github.com/Goldfish-Boi/Stageless", "demo": "https://www.roblox.com/games/108617994947204/Stageless"}, {"ship_num": 2, "ts": "2026-06-30T02:04:28Z", "hours": 8.0, "multiplier": 5.45, "payout": 44, "blessing": "neutral", "text": "Your only goal is ascend I’ve updated my roblox game Stageless, it is a high difficulty roblox obby inspired by Eternal’s Towers of Hell! The changes I’ve made are supposed to make the game run smoother and be easier for newer users to understand. The biggest challenge I’ve been having is trying to apply more optimized code around the much older and less optimized system. Eventually I might decide to recode the game to be fully optimized, but that is not a task for now. Game is incredibly hard and also 16+ due to Roblox’s restrictions, enjoy!", "repo": "https://github.com/Goldfish-Boi/Stageless", "demo": "https://www.roblox.com/games/108617994947204/Stageless"}]...
|
[{"post_id": 67050, "ts": "202 [{"post_id": 67050, "ts": "2026-09-13T02:59:53Z", "hours": 3.9425, "text": "Updated lobby decor and tweaked the ui of certain rarity effects"}, {"post_id": 38490, "ts": "2026-07-31T22:01:23Z", "hours": 9.0497, "text": "Spent all this time trying to add Tower Rushes to the game, where you get to do almost every tower in the area back to back as the ultimate challenge. I’ve noticed a lot of my older cold was simply not built to handle multiple obbies done in series so I had to additionally go back and refactor and refine all of the main server functions so that it could function correctly. There were also numerous bugs relating to values being carried across towers, so I made secondary values that reset every time you beat one tower and go the next."}, {"post_id": 25414, "ts": "2026-07-09T17:52:32Z", "hours": 9.2458, "text": "Completely overhauled how this game manages the player’s data. The new system is designed to read the player’s previous data before writing in the player’s new data using UpdateAsync(). Additionally any changes that occur during gameplay are recorded separately. When either the client or server needs access to the data, the old data and all the changes and “Stitched” together so that you get the most recent data the player has. Since data is not exactly something I can screenshot or record, I made this flowchart that shows the components of the data system."}, {"post_id": 18859, "ts": "2026-06-30T01:53:51Z", "hours": 5.7378, "text": "Update 1.0.4.4 Additions: Chat can now be kept open while resetting. Resetting only disables when typing now. Fixes / Changes: Unanchored seat Unintended behaviour with practice mode and resetting has been patched Unintended behaviour with resetting patched Minor ToISM patches CoLM should have most of its music now I thank those who have found bugs which has made it easier to make the game easier for newer players to understand"}, {"post_id": 7095, "ts": "2026-06-11T21:29:05Z", "hours": 2.4494, "text": "Made a trailer for this game! I’ve also updated the game to handle newer more unexperienced players more easily (mostly trough added more signage around the lobby) Additionally added a new tower alongside reworking some older UIs"}]...
|
Title: Stageless by @MrChicken | Stardance
Devlog Title: Stageless by @MrChicken | Stardance
Devlogs:
Made a trailer for this game! I’ve also updated the game to handle newer more unexperienced players more easily (mostly trough added more signage around the lobby) Additionally added a new tower alongside reworking some older UIs
Update 1.0.4.4 Additions: Chat can now be kept open while resetting. Resetting only disables when typing now. Fixes / Changes: Unanchored seat Unintended behaviour with practice mode and resetting has been patched Unintended behaviour with resetting patched Minor ToISM patches CoLM should have most of its music now I thank those who have found bugs which has made it easier to make the game easier for newer players to understand
Completely overhauled how this game manages the player’s data. The new system is designed to read the player’s previous data before writing in the player’s new data using UpdateAsync(). Additionally any changes that occur during gameplay are recorded separately. When either the client or server needs access to the data, the old data and all the changes and “Stitched” together so that you get the most recent data the player has. Since data is not exactly something I can screenshot or record, I made this flowchart that shows the components of the data system.
Spent all this time trying to add Tower Rushes to the game, where you get to do almost every tower in the area back to back as the ultimate challenge. I’ve noticed a lot of my older cold was simply not built to handle multiple obbies done in series so I had to additionally go back and refactor and refine all of the main server functions so that it could function correctly. There were also numerous bugs relating to values being carried across towers, so I made secondary values that reset every time you beat one tower and go the next.
Updated lobby decor and tweaked the ui of certain rarity effects
Ships:
Your only goal is ascend I’ve updated my roblox game Stageless, it is a high difficulty roblox obby inspired by Eternal’s Towers of Hell! The changes I’ve made are supposed to make the game run smoother and be easier for newer users to understand. The biggest challenge I’ve been having is trying to apply more optimized code around the much older and less optimized system. Eventually I might decide to recode the game to be fully optimized, but that is not a task for now. Game is incredibly hard and also 16+ due to Roblox’s restrictions, enjoy!
Worked on adding the tower rush and tweaking the looks of ui to be more polished...
|
1793109046.7770154
|
1793195446.7770154
|
|
674
|
Caldera by @1 | Stardance
|
1
|
0
|
30.0
|
0
|
[]
|
[{"post_id": 56138, "ts": "202 [{"post_id": 56138, "ts": "2026-05-08T00:00:00Z", "hours": 2.0, "text": "I spent this session polishing the design. This includes assembling everything in cad, thinking about a real life assembly process, and making a couple renders of the project. Here you can see how the entire design comes together. The filament path is like this: Heatbreak -> Supervolcano adapter -> Nozzle. Overall really simple. You can also see how close together everything else is in this view, which includes the heater, thermistor, and filament path. You can also see how efficient the heatbreak mounting is. yay!"}, {"post_id": 46151, "ts": "2026-05-08T00:00:00Z", "hours": 2.0, "text": "I spent this session polishing the design. This includes assembling everything in cad, thinking about a real life assembly process, and making a couple renders of the project. Here you can see how the entire design comes together. The filament path is like this: Heatbreak -> Supervolcano adapter -> Nozzle. Overall really simple. You can also see how close together everything else is in this view, which includes the heater, thermistor, and filament path. You can also see how efficient the heatbreak mounting is. yay!"}, {"post_id": 56137, "ts": "2026-05-07T00:00:00Z", "hours": 4.0, "text": "I started this project thinking that I would make the hotend air cooled. I realized pretty quickly that that wouldnt work very well for a number of reasons. If the filament path was centered in the heatsink, then there wouldnt be much of an issue with turning a decent heatsink. But since the filament path is not centered, turning it would be literally impossible. You can see here how difficult it would be to turn that. I ended up switching to a new idea. Conduction! why have heatsink fins when you can have a big block of metal for a toolhead. ok very cool! You can see the big block here ^^ The way the heatsink is mounted is pretty interesting IMO. I am using two SLM Titanium arms to connect the heatsink to the block. Since titanium has fairly low heat conductivity, its pretty perfect for this. The geometry also helps a lot with stopping excess heat from going into the block. You can see how everything connects together with m2 screws here. I designed in some interesting geometry on the connector itself to try to minimise contact area between the block and the connector. it kinda looks like a castle. Im using a standard v6 heatbreak in this hotend. It has a smooth side and a threaded side, which lets me use my fancy mounting style accurately. yay! Total time spent: 4 hours"}, {"post_id": 46150, "ts": "2026-05-07T00:00:00Z", "hours": 4.0, "text": "I started this project thinking that I would make the hotend air cooled. I realized pretty quickly that that wouldnt work very well for a number of reasons. If the filament path was centered in the heatsink, then there wouldnt be much of an issue with turning a decent heatsink. But since the filament path is not centered, turning it would be literally impossible. You can see here how difficult it would be to turn that. I ended up switching to a new idea. Conduction! why have heatsink fins when you can have a big block of metal for a toolhead. ok very cool! You can see the big block here ^^ The way the heatsink is mounted is pretty interesting IMO. I am using two SLM Titanium arms to connect the heatsink to the block. Since titanium has fairly low heat conductivity, its pretty perfect for this. The geometry also helps a lot with stopping excess heat from going into the block. You can see how everything connects together with m2 screws here. I designed in some interesting geometry on the connector itself to try to minimise contact area between the block and the connector. it kinda looks like a castle. Im using a standard v6 heatbreak in this hotend. It has a smooth side and a threaded side, which lets me use my fancy mounting style accurately. yay! Total time spent: 4 hours"}, {"post_id": 46148, "ts": "2026-05-06T00:00:00Z", "hours": 3.0, "text": "Hotend design!! this is my second shot at making a decent hotend. My goals for this are to have a large melt zone, nice heater, filament path, and thermistor packaging, while keeping it small and lightweight. I was inspired by hotends like v9 ( https://www.v9hotend.com/ ), tricorn ( http://tricornhotend.com/ ) and Turtle’s double barrel hotend he made for #rework ( https://github.com/ProgrammerTurtle/DoubleBarrel ). These all have CNC’d heater blocks and heatsinks. My idea for this hotend is to use a supervolcano heater cartridge (likely a high wattage one from Lukes Lab), in combonation with a very light weight and compact block to have as little temperature gradient between the heater and the thermistor as possible. You can see that idea here in Turtle’s hotend. The heaters are extremely close to the filament path and nozzle, which means that they dont waste energy heating the rest of the block. The walls are also very thin, which means that less heat is lost into the block. Another advantage of this is that the thermistor is able to read a very accurate temperature at the nozzle. The further the thermistor is from the heater the larger the difference will be. Total time spent: 3 hours"}, {"post_id": 56136, "ts": "2026-05-06T00:00:00Z", "hours": 6.0, "text": "There are multiple things I needed to balance in the block design for this hotend. Performance: this is pretty self explanitory. I want big meltzone so lots of plastic can be pushed out. Manufacturability (is that a word?): Even though I am not the one who is milling this part, I dont want the JLCCNC worker machining this to have a hard time. Also other people might want to machine it themselves. Cost: Keep the machining simple so cost is low Weight: I had to keep all the parts as light as possible. This is going to be moving at high speeds, so the less weight the better the rigidity will be. Low rigidity leads to crap print quality. The design is fairly simple. I started with a couple circles to give holes for the heater bore, meltzone, and thermisor to sit. I origonally planned to use an M3 pt1000 thermistor, but was told that a cartridge thermistor would have better thermal control. I basically just extruded that upwards enough to fit the threaded part of a heatbreak, a supervolcano nozzle adapter (more on that in a sec), and a nozzle. I also added a section at the top for heatbreak stuff. I added features to allow the pt1000 and heater to fit in, and cleaned up the cad a bit. Here you can see something close to the final heater block design. I added holes for grubscrews to clamp the heater as well as mounting holes for the heatsink mounts. About the supervolcano adapter. JLC does not like drilling 2mm holes 51mm long. So instead ill be using an m6 tap all the way through the part to create a 2mm hole. nice! and its cheap too. This also gives me a really nice mating surface for the nozzle so overall really helpful. Total time spent: 6 hours"}, {"post_id": 56135, "ts": "2026-05-06T00:00:00Z", "hours": 3.0, "text": "Hotend design!! this is my second shot at making a decent hotend. My goals for this are to have a large melt zone, nice heater, filament path, and thermistor packaging, while keeping it small and lightweight. I was inspired by hotends like v9 ( https://www.v9hotend.com/ ), tricorn ( http://tricornhotend.com/ ) and Turtle’s double barrel hotend he made for #rework ( https://github.com/ProgrammerTurtle/DoubleBarrel ). These all have CNC’d heater blocks and heatsinks. My idea for this hotend is to use a supervolcano heater cartridge (likely a high wattage one from Lukes Lab), in combonation with a very light weight and compact block to have as little temperature gradient between the heater and the thermistor as possible. You can see that idea here in Turtle’s hotend. The heaters are extremely close to the filament path and nozzle, which means that they dont waste energy heating the rest of the block. The walls are also very thin, which means that less heat is lost into the block. Another advantage of this is that the thermistor is able to read a very accurate temperature at the nozzle. The further the thermistor is from the heater the larger the difference will be. Total time spent: 3 hours"}, {"post_id": 46149, "ts": "2026-05-06T00:00:00Z", "hours": 6.0, "text": "There are multiple things I needed to balance in the block design for this hotend. Performance: this is pretty self explanitory. I want big meltzone so lots of plastic can be pushed out. Manufacturability (is that a word?): Even though I am not the one who is milling this part, I dont want the JLCCNC worker machining this to have a hard time. Also other people might want to machine it themselves. Cost: Keep the machining simple so cost is low Weight: I had to keep all the parts as light as possible. This is going to be moving at high speeds, so the less weight the better the rigidity will be. Low rigidity leads to crap print quality. The design is fairly simple. I started with a couple circles to give holes for the heater bore, meltzone, and thermisor to sit. I origonally planned to use an M3 pt1000 thermistor, but was told that a cartridge thermistor would have better thermal control. I basically just extruded that upwards enough to fit the threaded part of a heatbreak, a supervolcano nozzle adapter (more on that in a sec), and a nozzle. I also added a section at the top for heatbreak stuff. I added features to allow the pt1000 and heater to fit in, and cleaned up the cad a bit. Here you can see something close to the final heater block design. I added holes for grubscrews to clamp the heater as well as mounting holes for the heatsink mounts. About the supervolcano adapter. JLC does not like drilling 2mm holes 51mm long. So instead ill be using an m6 tap all the way through the part to create a 2mm hole. nice! and its cheap too. This also gives me a really nice mating surface for the nozzle so overall really helpful. Total time spent: 6 hours"}]...
|
Title: Caldera by @1 | Stardance
Devlogs:
There a Title: Caldera by @1 | Stardance
Devlogs:
There are multiple things I needed to balance in the block design for this hotend. Performance: this is pretty self explanitory. I want big meltzone so lots of plastic can be pushed out. Manufacturability (is that a word?): Even though I am not the one who is milling this part, I dont want the JLCCNC worker machining this to have a hard time. Also other people might want to machine it themselves. Cost: Keep the machining simple so cost is low Weight: I had to keep all the parts as light as possible. This is going to be moving at high speeds, so the less weight the better the rigidity will be. Low rigidity leads to crap print quality. The design is fairly simple. I started with a couple circles to give holes for the heater bore, meltzone, and thermisor to sit. I origonally planned to use an M3 pt1000 thermistor, but was told that a cartridge thermistor would have better thermal control. I basically just extruded that upwards enough to fit the threaded part of a heatbreak, a supervolcano nozzle adapter (more on that in a sec), and a nozzle. I also added a section at the top for heatbreak stuff. I added features to allow the pt1000 and heater to fit in, and cleaned up the cad a bit. Here you can see something close to the final heater block design. I added holes for grubscrews to clamp the heater as well as mounting holes for the heatsink mounts. About the supervolcano adapter. JLC does not like drilling 2mm holes 51mm long. So instead ill be using an m6 tap all the way through the part to create a 2mm hole. nice! and its cheap too. This also gives me a really nice mating surface for the nozzle so overall really helpful. Total time spent: 6 hours
Hotend design!! this is my second shot at making a decent hotend. My goals for this are to have a large melt zone, nice heater, filament path, and thermistor packaging, while keeping it small and lightweight. I was inspired by hotends like v9 ( https://www.v9hotend.com/ ), tricorn ( http://tricornhotend.com/ ) and Turtle’s double barrel hotend he made for #rework ( https://github.com/ProgrammerTurtle/DoubleBarrel ). These all have CNC’d heater blocks and heatsinks. My idea for this hotend is to use a supervolcano heater cartridge (likely a high wattage one from Lukes Lab), in combonation with a very light weight and compact block to have as little temperature gradient between the heater and the thermistor as possible. You can see that idea here in Turtle’s hotend. The heaters are extremely close to the filament path and nozzle, which means that they dont waste energy heating the rest of the block. The walls are also very thin, which means that less heat is lost into the block. Another advantage of this is that the thermistor is able to read a very accurate temperature at the nozzle. The further the thermistor is from the heater the larger the difference will be. Total time spent: 3 hours
There are multiple things I needed to balance in the block design for this hotend. Performance: this is pretty self explanitory. I want big meltzone so lots of plastic can be pushed out. Manufacturability (is that a word?): Even though I am not the one who is milling this part, I dont want the JLCCNC worker machining this to have a hard time. Also other people might want to machine it themselves. Cost: Keep the machining simple so cost is low Weight: I had to keep all the parts as light as possible. This is going to be moving at high speeds, so the less weight the better the rigidity will be. Low rigidity leads to crap print quality. The design is fairly simple. I started with a couple circles to give holes for the heater bore, meltzone, and thermisor to sit. I origonally planned to use an M3 pt1000 thermistor, but was told that a cartridge thermistor would have better thermal control. I basically just extruded that upwards enough to fit the threaded part of a heatbreak, a supervolcano nozzle adapter (more on that in a sec), and a nozzle. I also added a section at the top for heatbreak stuff. I added features to allow the pt1000 and heater to fit in, and cleaned up the cad a bit. Here you can see something close to the final heater block design. I added holes for grubscrews to clamp the heater as well as mounting holes for the heatsink mounts. About the supervolcano adapter. JLC does not like drilling 2mm holes 51mm long. So instead ill be using an m6 tap all the way through the part to create a 2mm hole. nice! and its cheap too. This also gives me a really nice mating surface for the nozzle so overall really helpful. Total time spent: 6 hours
Hotend design!! this is my second shot at making a decent hotend. My goals for this are to have a large melt zone, nice heater, filament path, and thermistor packaging, while keeping it small and lightweight. I was inspired by hotends like v9 ( https://www.v9hotend.com/ ), tricorn ( http://tricornhotend.com/ ) and Turtle’s double barrel hotend he made for #rework ( https://github.com/ProgrammerTurtle/DoubleBarrel ). These all have CNC’d heater blocks and heatsinks. My idea for this hotend is to use a supervolcano heater cartridge (likely a high wattage one from Lukes Lab), in combonation with a very light weight and compact block to have as little temperature gradient between the heater and the thermistor as possible. You can see that idea here in Turtle’s hotend. The heaters are extremely close to the filament path and nozzle, which means that they dont waste energy heating the rest of the block. The walls are also very thin, which means that less heat is lost into the block. Another advantage of this is that the thermistor is able to read a very accurate temperature at the nozzle. The further the thermistor is from the heater the larger the difference will be. Total time spent: 3 hours
I started this project thinking that I would make the hotend air cooled. I realized pretty quickly that that wouldnt work very well for a number of reasons. If the filament path was centered in the heatsink, then there wouldnt be much of an issue with turning a decent heatsink. But since the filament path is not centered, turning it would be literally impossible. You can see here how difficult it would be to turn that. I ended up switching to a new idea. Conduction! why have heatsink fins when you can have a big block of metal for a toolhead. ok very cool! You can see the big block here ^^ The way the heatsink is mounted is pretty interesting IMO. I am using two SLM Titanium arms to connect the heatsink to the block. Since titanium has fairly low heat conductivity, its pretty perfect for this. The geometry also helps a lot with stopping excess heat from going into the block. You can see how everything connects together with m2 screws here. I designed in some interesting geometry on the connector itself to try to minimise contact area between the block and the connector. it kinda looks like a castle. Im using a standard v6 heatbreak in this hotend. It has a smooth side and a threaded side, which lets me use my fancy mounting style accurately. yay! Total time spent: 4 hours
I started this project thinking that I would make the hotend air cooled. I realized pretty quickly that that wouldnt work very well for a number of reasons. If the filament path was centered in the heatsink, then there wouldnt be much of an issue with turning a decent heatsink. But since the filament path is not centered, turning it would be literally impossible. You can see here how difficult it would be to turn that. I ended up switching to a new idea. Conduction! why have heatsink fins when you can have a big block of metal for a toolhead. ok very cool! You can see the big block here ^^ The way the heatsink is mounted is pretty interesting IMO. I am using two SLM Titanium arms to connect the heatsink to the block. Since titanium has fairly low heat conductivity, its pretty perfect for this. The geometry also helps a lot with stopping excess heat from going into the block. You can see how everything connects together with m2 screws here. I designed in some interesting geometry on the connector itself to try to minimise contact area between the block and the connector. it kinda looks like a castle. Im using a standard v6 heatbreak in this hotend. It has a smooth side and a threaded side, which lets me use my fancy mounting style accurately. yay! Total time spent: 4 hours
I spent this session polishing the design. This includes assembling everything in cad, thinking about a real life assembly process, and making a couple renders of the project. Here you can see how the entire design comes together. The filament path is like this: Heatbreak -> Supervolcano adapter -> Nozzle. Overall really simple. You can also see how close together everything else is in this view, which includes the heater, thermistor, and filament path. You can also see how efficient the heatbreak mounting is. yay!
I spent this session polishing the design. This includes assembling everything in cad, thinking about a real life assembly process, and making a couple renders of the project. Here you can see how the entire design comes together. The filament path is like this: Heatbreak -> Supervolcano adapter -> Nozzle. Overall really simple. You can also see how close together everything else is in this view, which includes the heater, thermistor, and filament path. You can also see how efficient the heatbreak mounting is. yay!...
|
1792612532.1178505
|
1793217332.1178505
|
|
10691
|
nero ai by @deepm33 | Stardance
|
deepm33
|
1
|
30.0
|
304
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T18:56:46Z", "hours": 30.0, "multiplier": 12.69, "payout": 304, "blessing": "neutral", "text": "Nero Ai is like my own AI that i built from scratch with nextjs. It’s got 7 different brains that automatically figure out what you need — like coding, search, creative stuff, etc. there’s even a waifu mode lol where the AI talks like an anime girl. it can write code, do voice, search the web, and remembers stuff about you. basically it’s like having your own personal AI but cooler. The voice part and the ui was the most challenging and nero is a lil shy so she takes 5 to 10 sec to reply by voice (●’◡’●)", "repo": "https://github.com/DeepMane33/nero-ai", "demo": "https://nero-os.vercel.app/"}]...
|
[{"post_id": 30201, "ts": "202 [{"post_id": 30201, "ts": "2026-07-17T16:20:25Z", "hours": 3.0, "text": "I think i have finished working on my personal ai agent AKA NERO, so i made some changes in the voice mode so lemme talk about this because this thing genuinely took forever to build. First theres push-to-talk. u hold the mic button, talk, release, nero processes it. simple right? but then theres continuous mode and in continuous mode is where the chaos begins. When u flip that toggle nero spins up a SECOND speech recognizer in the background that is constantly listening for “hey nero”. like constantly. and when it hears it, it kills that background recognizer and spins up the MAIN recognizer to actually capture what ure saying. TWO recognizers running at the same time. One listening for the trigger, one ready to capture the actual message. the moment the wake word hits, background one dies, main one takes over. About the STT, so originally this thing was using the Web Speech API and bruhhhh the Web Speech API is just unreliable as hell. it only works in Chrome, needs HTTPS or localhost, and half the time it just doesnt fire on result at all. Like u speak, it says “listening…”, then nothing happens. No transcription, no response, nothing. I tried fixing it multiple times — started recognition immediately instead of waiting for mic permission, added error handling, changed the flow… still broken. the Web Speech API is just built different (bad different), so i had to rip it out of nero and then replaced it with MediaRecorder + Gemini for transcription. Now when u tap the orb it records audio using the MediaRecorder API, sends the audio blob to Gemini, and Gemini transcribes it. And tbh its way more reliable because it doesnt depend on browser-specific speech engines. It just works better and the Gemini model used for transcription is gemini-2.5-flash — the same one used for chats so it understands context. And heres the thing — after the addition of the STT the whole sound system changed. LIke before nero’s voice was legit too boring but now she is even able to speak like a waifu. She says hehehe and chuckles and speaks a lot better than before. Also there was a lot of problem for the api keys, cause when anyone was trying to put their api in Nero it was getting stored but nero was unable to run on that api, due to which no one could use that and i also cannot put my gemini api cause it would get rate limit too quick if multiple people used it. So in settings there’s an “Add API Key” button that expands into a form and in that u give it a name (like “My Gemini Key”)and then paste your API key, hit add. Then key get VALIDATED before its stored — nero actually makes a test request to the API to confirm the key works. If the key is invalid it tells u immediately, doesn’t just silently store garbage🥀🥀. Honestly the most impressive thing is that this runs on FREE APIs. The whole point is accessibility like gemini alone gets u pretty far for free , openrouter has free models and groq too has a free tier. Cerebras has a free tier and if u DO have paid keys then insert them in nero so she would use them instead. Its the best of both worlds.."}, {"post_id": 28937, "ts": "2026-07-15T15:33:39Z", "hours": 10.0, "text": "I have finally redesigned the nero ai into looking an more stunning and better look. First it was too plain so i improved it and also improved the cursor as well. Added a new sidebar navigation, glassmorphism everywhere, aurora backgrounds, the whole nine yards,LOL. It actually looks like an operating system now not just a chatbot with a fancy name. dark theme has been set as the default for the whole ai. For the Framework & Build i used, Next.js 16.2.7 with Turbopack for blazing fast dev server and hot reload React 19 with hooks (useState, useEffect, useCallback, lazy, Suspense) TypeScript throughout For Styling up nero i used, Tailwind CSS for utility-first styling CSS custom properties (variables) for the theme system Inline styles for dynamic theming (accent colors, glow effects, glassmorphism) Glassmorphism via backdrop-filter: blur() + semi-transparent backgrounds For the UI Components i used Custom AICore orb with SVG animations and mood-based coloring.Also the Notification Center with badge counts nero also has OnboardingFlow for the first-time users i thought that would be helpful. It also has a coverstion side bar with search and histrory found inside it only. This was a big UX change for me and nero 🥀🥀. And now instead of a separate “API Keys” section buried in settings, nero now lets u pick a model and enter its API key right there. Click a model → it expands → paste ur key → save. The green dot shows up when a key is configured and then stores everything in local storage so keys stay on ur machine never sent anywhere except to the provider u chose and it supports Gemini, GPT, and more ai’s. The home screen in nero now shows all of these, Greeting based on time of day Animated AI core orb with mood indicator Quick actions (chat, research, memory, knowledge) Recent conversations pulled from the actual database System status panel showing nero core health, cause its health 🥀😢 Mostly did the redesign and removed some of the not working sections from Nero and did debugging.. (●’◡’●)"}, {"post_id": 21725, "ts": "2026-07-03T20:18:10Z", "hours": 15.0, "text": "ok so basically i got bored one day and thought “yupp i need my own ai agent” and then i actually did it?? like nero is this whole AI agent thing i built from scratch that actually THINKS. Not like “oh i’m a chatbot i repeat what you say” no no no. nero has like… actual memory and personality. It literally learns from talking to you. It’s unhinged and i love it. So nero has two personalities. you got the normal one which is just a smart professional AI assistant which is quiet boring but useful. THEN there’s the waifu mode. Here’s how it works: there’s a whole personality system in personalities.ts with two modes — normal and waifu. the normal one is straightforward, just a good AI. but the waifu personality? it’s an anime-inspired companion with kaomoji (like (✿◠‿◠) and (◕‿◕)), uses japanese words, gets emotionally attached to you, and has this whole kawaii vibe going on and on. The BEST part is you don’t even need to go to settings to switch. you can just type something like “act like a waifu” or “be normal again” in the chat and nero detects it automatically and there’s literally a function called detectPersonalitySwitch() that scans your message for phrases like “waifu mode”, “be cute”, “act normal” etc and switches on the fly. So you’re just chatting and suddenly nero goes from professional to kawai and it’s hilarious every time.It’s not just a gimmick either — the entire system prompt changes,the waifu gets its own set of rules about how to talk, how to express emotions, how to react, two completely different AI personalities. internet search (it’s… a work in progress) ok so nero HAS web search code which is like actual multi-source search — DuckDuckGo, Wikipedia, Google Custom Search, News API. the needsWebSearch() function detects when you’re asking about current events and auto-triggers a search and the results get fed into the AI’s context so it can answer with real-time info. but here’s the reality — right now it mostly just opens links in new tabs. the ResearchMode shows you a list of results and you click them. The auto-search in chat is supposed to inject results into the conversation so the AI summarizes them for you, but it doesn’t always work as smoothly as i’d like and yeah sometimes the AI just outputs links instead of actually reading and summarizing the search results,sometimes needsWebSearch() doesn’t trigger when it should. It’s like having a search engine that works but doesn’t know how to talk about what it found yet. the plumbing is there, the execution needs polish and still a lot of work to make it feel like a real research assistant instead of a link generator. text-to-speech edge-tts is installed and functional,nero can read responses out loud using Microsoft Edge neural voices.I would like to add new voices, adjust speed and pitch before i ship this project. There are still many places which need a lot of improvements and work, lets see how much further i can upgrade this ai!!!"}]...
|
Title: nero ai by @deepm33 | Stardance
Devlogs:
o Title: nero ai by @deepm33 | Stardance
Devlogs:
ok so basically i got bored one day and thought “yupp i need my own ai agent” and then i actually did it?? like nero is this whole AI agent thing i built from scratch that actually THINKS. Not like “oh i’m a chatbot i repeat what you say” no no no. nero has like… actual memory and personality. It literally learns from talking to you. It’s unhinged and i love it. So nero has two personalities. you got the normal one which is just a smart professional AI assistant which is quiet boring but useful. THEN there’s the waifu mode. Here’s how it works: there’s a whole personality system in personalities.ts with two modes — normal and waifu. the normal one is straightforward, just a good AI. but the waifu personality? it’s an anime-inspired companion with kaomoji (like (✿◠‿◠) and (◕‿◕)), uses japanese words, gets emotionally attached to you, and has this whole kawaii vibe going on and on. The BEST part is you don’t even need to go to settings to switch. you can just type something like “act like a waifu” or “be normal again” in the chat and nero detects it automatically and there’s literally a function called detectPersonalitySwitch() that scans your message for phrases like “waifu mode”, “be cute”, “act normal” etc and switches on the fly. So you’re just chatting and suddenly nero goes from professional to kawai and it’s hilarious every time.It’s not just a gimmick either — the entire system prompt changes,the waifu gets its own set of rules about how to talk, how to express emotions, how to react, two completely different AI personalities. internet search (it’s… a work in progress) ok so nero HAS web search code which is like actual multi-source search — DuckDuckGo, Wikipedia, Google Custom Search, News API. the needsWebSearch() function detects when you’re asking about current events and auto-triggers a search and the results get fed into the AI’s context so it can answer with real-time info. but here’s the reality — right now it mostly just opens links in new tabs. the ResearchMode shows you a list of results and you click them. The auto-search in chat is supposed to inject results into the conversation so the AI summarizes them for you, but it doesn’t always work as smoothly as i’d like and yeah sometimes the AI just outputs links instead of actually reading and summarizing the search results,sometimes needsWebSearch() doesn’t trigger when it should. It’s like having a search engine that works but doesn’t know how to talk about what it found yet. the plumbing is there, the execution needs polish and still a lot of work to make it feel like a real research assistant instead of a link generator. text-to-speech edge-tts is installed and functional,nero can read responses out loud using Microsoft Edge neural voices.I would like to add new voices, adjust speed and pitch before i ship this project. There are still many places which need a lot of improvements and work, lets see how much further i can upgrade this ai!!!
I have finally redesigned the nero ai into looking an more stunning and better look. First it was too plain so i improved it and also improved the cursor as well. Added a new sidebar navigation, glassmorphism everywhere, aurora backgrounds, the whole nine yards,LOL. It actually looks like an operating system now not just a chatbot with a fancy name. dark theme has been set as the default for the whole ai. For the Framework & Build i used, Next.js 16.2.7 with Turbopack for blazing fast dev server and hot reload React 19 with hooks (useState, useEffect, useCallback, lazy, Suspense) TypeScript throughout For Styling up nero i used, Tailwind CSS for utility-first styling CSS custom properties (variables) for the theme system Inline styles for dynamic theming (accent colors, glow effects, glassmorphism) Glassmorphism via backdrop-filter: blur() + semi-transparent backgrounds For the UI Components i used Custom AICore orb with SVG animations and mood-based coloring.Also the Notification Center with badge counts nero also has OnboardingFlow for the first-time users i thought that would be helpful. It also has a coverstion side bar with search and histrory found inside it only. This was a big UX change for me and nero 🥀🥀. And now instead of a separate “API Keys” section buried in settings, nero now lets u pick a model and enter its API key right there. Click a model → it expands → paste ur key → save. The green dot shows up when a key is configured and then stores everything in local storage so keys stay on ur machine never sent anywhere except to the provider u chose and it supports Gemini, GPT, and more ai’s. The home screen in nero now shows all of these, Greeting based on time of day Animated AI core orb with mood indicator Quick actions (chat, research, memory, knowledge) Recent conversations pulled from the actual database System status panel showing nero core health, cause its health 🥀😢 Mostly did the redesign and removed some of the not working sections from Nero and did debugging.. (●’◡’●)
I think i have finished working on my personal ai agent AKA NERO, so i made some changes in the voice mode so lemme talk about this because this thing genuinely took forever to build. First theres push-to-talk. u hold the mic button, talk, release, nero processes it. simple right? but then theres continuous mode and in continuous mode is where the chaos begins. When u flip that toggle nero spins up a SECOND speech recognizer in the background that is constantly listening for “hey nero”. like constantly. and when it hears it, it kills that background recognizer and spins up the MAIN recognizer to actually capture what ure saying. TWO recognizers running at the same time. One listening for the trigger, one ready to capture the actual message. the moment the wake word hits, background one dies, main one takes over. About the STT, so originally this thing was using the Web Speech API and bruhhhh the Web Speech API is just unreliable as hell. it only works in Chrome, needs HTTPS or localhost, and half the time it just doesnt fire on result at all. Like u speak, it says “listening…”, then nothing happens. No transcription, no response, nothing. I tried fixing it multiple times — started recognition immediately instead of waiting for mic permission, added error handling, changed the flow… still broken. the Web Speech API is just built different (bad different), so i had to rip it out of nero and then replaced it with MediaRecorder + Gemini for transcription. Now when u tap the orb it records audio using the MediaRecorder API, sends the audio blob to Gemini, and Gemini transcribes it. And tbh its way more reliable because it doesnt depend on browser-specific speech engines. It just works better and the Gemini model used for transcription is gemini-2.5-flash — the same one used for chats so it understands context. And heres the thing — after the addition of the STT the whole sound system changed. LIke before nero’s voice was legit too boring but now she is even able to speak like a waifu. She says hehehe and chuckles and speaks a lot better than before. Also there was a lot of problem for the api keys, cause when anyone was trying to put their api in Nero it was getting stored but nero was unable to run on that api, due to which no one could use that and i also cannot put my gemini api cause it would get rate limit too quick if multiple people used it. So in settings there’s an “Add API Key” button that expands into a form and in that u give it a name (like “My Gemini Key”)and then paste your API key, hit add. Then key get VALIDATED before its stored — nero actually makes a test request to the API to confirm the key works. If the key is invalid it tells u immediately, doesn’t just silently store garbage🥀🥀. Honestly the most impressive thing is that this runs on FREE APIs. The whole point is accessibility like gemini alone gets u pretty far for free , openrouter has free models and groq too has a free tier. Cerebras has a free tier and if u DO have paid keys then insert them in nero so she would use them instead. Its the best of both worlds..
Ships:
Nero Ai is like my own AI that i built from scratch with nextjs. It’s got 7 different brains that automatically figure out what you need — like coding, search, creative stuff, etc. there’s even a waifu mode lol where the AI talks like an anime girl. it can write code, do voice, search the web, and remembers stuff about you. basically it’s like having your own personal AI but cooler. The voice part and the ui was the most challenging and nero is a lil shy so she takes 5 to 10 sec to reply by voice (●’◡’●)...
|
1792882074.5138695
|
1793746074.5138695
|
|
16467
|
Brainf*ck IDE by @MarioS271 | Stardance
|
MarioS271
|
1
|
30.0
|
539
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T10:01:36Z", "hours": 30.0, "multiplier": 18.23, "payout": 539, "blessing": "neutral", "text": "Brainf * ck IDE Hello and welcome to my project: an IDE for the brainf * ck programming language! What is it Brainf * ck IDE is a text editor, interpreter and debugger for brainf * ck. It is a powerful tool for developing brain * ck applications (if you wanna do that for some reason) How to use it The editor has two modes, Normal and Debug . Normally, youre in normal mode, but you can switch between normal and debug by using the DEBUG button. The editor is divided into three panels and a menubar. The three panels are: Editor Panel (Top Left) Output Panel (Top Right) Tape Panel (Bottom) Known Issues Maximizing the window and resizing it larger than a specific size causes the contents to dissapear, to reverse just make the window smaller again Resizing the window smaller than the size of a popup causes a heap corruption I would recommend avoiding resizing the window unless absolutely necessary 😅 If you’re interested in the details, feel free to read the rest on the GitHub Repo . :)", "repo": "https://github.com/MarioS271/brainfuck_ide", "demo": "https://github.com/MarioS271/brainfuck_ide/releases/tag/v1.2.1"}]...
|
[{"post_id": 11570, "ts": "202 [{"post_id": 11570, "ts": "2026-06-18T21:09:08Z", "hours": 0.4989, "text": "Whoops Had a small bug in the left arrow key in normal editing mode and popups weren’t resizing and re-positioning correctly, fixed all that :) FINAL RELEASE BABYYYY (hopefully)"}, {"post_id": 11526, "ts": "2026-06-18T20:29:28Z", "hours": 5.8544, "text": "Finally, the debugger is working properly . If you’ve tried a beta version, especially v1.1.0, you might have noticed the debugger being broken and kinda weird. I noticed that too, so I decided to rewrite it! (technically, I rewrote it twice but oh well) Why it needed a rewrite Before, the debugger worked by executing the next step in-place and jumping in loops by moving the cursor to the matching bracket. The problem was: to jump backwards when looping, you had to keep a history which could pretty quickly get filled if you were debugging enough and overall the system was too overengineered for what it was supposed to do. The new architecture The new debugger does almost the same that the live tape preview already does. The live tape preview has one caveat that doesn’t allow it to be directly used for the debugger though: we cannot track loop iterations on the cursor position alone, as we always just compute until the cursor. If we’re before a loop’s end, we’re only computing the first iteration. If we move past the loop, the whole loop gets computed in one move.Instead of the cursor pos, the debugger uses an instruction counter. It basically counts how many brainf * ck instructions it should run, which solves all problems here. Why this works Take this program: ++++++++ [ > ++++ [ > ++ > +++ > +++ > + <<<< - ] > + > + > - >> + [ < ] < - ] >> . > ---.+++++++..+++. >> . < -. < .+++.------.--------. >> +. > ++. Say we wanna run 40 instructions. We first step over the initial ++++++++[>++++[>++>+++>+++>+<<<<- (33 instructions), and then we get to the first ] . When we do, the current cell is non-zero, meaning we jump back to the instruction after the highlighted bracket ( ++++++++[>++++ [ >++>+++>+++>+<<<<- ). The jump is one instruction. Then we run >++>++ and reach 40. Notice how we’re in the second iteration when it ends. If we now move the cursor forward by one, we tell the tape generator “execute 41 instructions”. The same as before happens now (execute first bit, jump back, continue executing - but one instruction more than before this time) but we land in the second iteration again."}, {"post_id": 10201, "ts": "2026-06-16T20:23:44Z", "hours": 4.6389, "text": "Popups are finished! (almost) After a little bit of work, a popup system (which I gotta say is written kinda well compared to all the other code) is in place! Currently, there are: Exit Confirmation Popup Save File Dialog Load File Dialog One last thing is still missing though: The please press a button popup for inputs ( , ). Technical Details The popup system works by using a sub-struct inside of the global state struct ( state.popup ). It contains data such as whether a popup is active, if it accepts text input and handlers for drawing and the confirm button. There’s a base func ( create_popup_base() ) that draws a new basic outline for the popup. After that, only the contents of the popup get refreshed via the custom handler set via setting a function pointer ( state.popup.refresh_handler ). The popup also “captures” input. There’s a seperate if for state.popup.active before the main input validation which processes inputs and then skips the normal input processing."}, {"post_id": 9244, "ts": "2026-06-15T15:03:22Z", "hours": 3.7889, "text": "The debugger works!! After hours of work (mainly debugging and patching up code), it finally works! :DD The power of the debugger You can use the debugger to step forward and backward in your brainf * ck program. While stepping, a live program counter display (labelled “PC”) shows the current program counter index, while the tape in the bottom panel shows the current state of each cell, which cell is currently selected by the data pointer and what the cell contains, in both decimal and ASCII format. The following is just for if you’re interested in the technical details ;) Why I wanted to wipe my drive several times while making this (Problem 1) The first main problem in writing the debugger was stepping backward. You’d think its just “do the instruction in reverse, like when you back-step a - , just do a + instead” but the problem arises when, for example, you read in something using , and the info got overwritten. How do you reverse to something that got destroyed? Well, you don’t. The Solution to the Back-Stepping problem I implemented backward stepping by just recomputing the entire tape from scratch on every backstep. Yes, it’s probably not the best way, but it works. Problem 2 Loops. Once. Again. The jumping around of loops in brainf * ck is not the simplest thing to correctly compute, especially when only partially executing a program. When you land on a [ or a ] , you also need to account for nested loops. You can probably imagine that that can definitely cause some headaches."}, {"post_id": 8947, "ts": "2026-06-14T21:29:52Z", "hours": 3.0733, "text": "Live tape preview is done! While writing or editing code or by literally just moving your cursor, you now get a live preview of the programs “tape” (basically it’s entire data it works with). There is one big problem with the current system however. If you’re interested, feel free to read the following. The big Issue Loops. You see, in brainf * ck, loops work by using [ to jump to the matching ] if the current cell is zero and by using ] to jump to the matching [ if the cell is non-zero. This behaviour is actually not that pleasant to simulate when you’re only executing to a specific point in the program, because the “simulator” (the thing that interprets the bit of brainf * ck code up until your cursor and then generates a tape from that) can’t see the matching closing ] as it comes after the cursor. This means the loop will never really execute. But, when you navigate past the entire loop block, the cells jump to a completely different state (as seen in the video at around 0:08 ). How am I going to solve it then? I’ve decided that I dont want to “solve” it by somehow making loops work in live preview. I’ve decided live preview should only be relatively basic. For serious loop-involved debugging, I wanna introduce a special “Debug Mode”. In this mode, you’ll be able to step through your code, have chars printed into the output panel live AND also have the cursor/program pointer correctly jump around."}, {"post_id": 8714, "ts": "2026-06-14T14:06:09Z", "hours": 0.9819, "text": "Menubar Navigation, Code Running and Output Display works!! 🎉 :) Today, the IDE ran its first program! (and yes, of course, it was a hello world program) What changed? As already mentioned in the last post, I’ve rewritten part of the menubar rendering and also implemented output field rendering. Also, I’ve refactored the run_brainfuck function to be compatible with the UI. Changes in the run_brainfuck(...) function Before, it just stubbornly printed to stdout and read from stdin which of course kinda conflicts with the UI. To solve this, I made it write into an output buffer and accept a function pointer for a function that needs to return an int of which char was read in. The actual reading in will be handled by the pointed to function, which will probably be a “Please press a button” popup. What’s next Looking forward to getting the tape reel and then popups (including file saving/loading, exit confirm and please press a button) to work!"}, {"post_id": 7738, "ts": "2026-06-12T22:24:42Z", "hours": 1.9525, "text": "Great News! The editor is now fully working! I’ve managed to implement everything from syntax highlighting to special keys such as delete, home and end. Nice! What now? I’m also working on getting the menubar to work, which’ll require rewriting a little part of the menubar rendering, as currently, the text entries get printed in one go with the spaces. If I somehow wanna highlight the text only, I gotta draw it all seperately."}, {"post_id": 7365, "ts": "2026-06-12T08:38:10Z", "hours": 1.3817, "text": "Typing works!! not Another Memory Violation :) Gonna debug that one too i guess On the flip side, I got syntax highlighting working!"}, {"post_id": 7314, "ts": "2026-06-12T05:59:01Z", "hours": 0.4856, "text": "This was literally me after opening my code today On a side note: I’ve cleaned up the codebase a little and split stuff into separate files for readability, like moving the editor draw function along with all its helpers into a separate file. I’m about to start working on finishing the editor panel now. :)"}, {"post_id": 7038, "ts": "2026-06-11T19:57:39Z", "hours": 1.5256, "text": "holy productivity spike I got the editor fully working!!! :) After wanting to throw my computer from a comically large height (multiple times), it finally runs: proper arrow-key navigation, a fully working cursor, soft wraps, line numbers, and so on. Vertical scrolling is now fully functional aswell. Even some comfort features like using the Home and End keys work! Fun stuff I found out in the process In the process of getting this to work I also discovered things like the fact that the pdcurses getch() macro implicitly refreshes the stdscr and then… doesnt… flush it 😐 Anything still borked? Some things also still don’t work fully, which kinda bothers me. The main example of this is navigating the cursor vertically into soft-wrapped lines; because of how I wrote the row up/down logic - which is to check in the editor buffer where the next or previous line feed is and then navigate based on that - I can’t just say “oh theres a soft line wrap lets just detect that instead of a \\n ” because the rendering (which does the soft line wrapping) and the I/O loop don’t communicate with each other Sure, I could fix it by adding a shared data structure which contains all line wrappings, but for now, I just wanna get the more important stuff running. Any plans now? Anyways, I’m planning to finish the editor fully by adding writing text (wild concept, i know!) and syntax highlighting next. Stay tuned to find out how much I continue to suffer! :’)"}, {"post_id": 6959, "ts": "2026-06-11T17:48:58Z", "hours": 0.7281, "text": "No more Access Violation! Also, I managed to get the editor drawing going! :) The interesting thing about the access violation fix is: I have no clue what caused it - it just kinda went away?? But oh well, the error is not happening anymore :D Whats working now? I so far mainly implemented colored line numbers and soft wrapping. The implementation for vertical scrolling however isn’t written yet, that’s the plan next. Also, I’ll probably implement cursor navigation with that in one go. I also made some small optimizations to the main loop plus a few fixes and adjustments here and there."}, {"post_id": 6930, "ts": "2026-06-11T16:40:49Z", "hours": 2.2344, "text": "I managed to prove why C is the most memory safe language that exists!! This gets triggered by literally just resizing the window and I have zero idea why :’) On a side note though, I’ve been working on the editor panel a little and it’s slowly coming together. Anyways, looking forward to debugging hell for that one overflow or nullpointer (or whatever the hell this is)!"}, {"post_id": 6777, "ts": "2026-06-11T10:56:05Z", "hours": 1.02, "text": "Panel borders are done and working! :D How annonying was it? The tricky part was getting the layout constants to line up correctly (it gets pretty annoying if you’re trying to find where you accidentally forgot to add one to a value) Got there in the end though. Anything else? Also cleaned up the repo. I also added a git submodule so that PDCurses actually gets cloned too if you pass the --recurse-submodules when cloning. Now the foundation is solid and I can actually start on the editor itself next session. :) I also included a lil preview of how it looks rn :)"}, {"post_id": 6754, "ts": "2026-06-11T09:43:15Z", "hours": 1.4886, "text": "Introducing: Brainf * ck IDE - a TUI-based IDE for writing and running brainf * ck, built in C using PDCurses. The IDE has a panelized layout: code editor on the left, output on the right, and a live tape viewer along the bottom so you can actually watch memory change in real time while writing code! The screenshot is mocked up manually for now, the code for drawing doesn’t exist yet 😅 Whats already started So far I’ve got the interpreter written and a few basic rendering steps working, including the top menubar. How it works The brainf * ck interpreter is actually really simple: you need a loop to iterate through a program buffer, then check for any “special” chars like < , + , … and then just increment/decrement values or do some simple logic depending on which char it is. Next, I’ll try to do the panel borders and some panel setup. Looking forward to how much stuff will break! :)"}]...
|
Title: Brainf*ck IDE by @MarioS271 | Stardance
De Title: Brainf*ck IDE by @MarioS271 | Stardance
Devlogs:
Introducing: Brainf * ck IDE - a TUI-based IDE for writing and running brainf * ck, built in C using PDCurses. The IDE has a panelized layout: code editor on the left, output on the right, and a live tape viewer along the bottom so you can actually watch memory change in real time while writing code! The screenshot is mocked up manually for now, the code for drawing doesn’t exist yet 😅 Whats already started So far I’ve got the interpreter written and a few basic rendering steps working, including the top menubar. How it works The brainf * ck interpreter is actually really simple: you need a loop to iterate through a program buffer, then check for any “special” chars like < , + , … and then just increment/decrement values or do some simple logic depending on which char it is. Next, I’ll try to do the panel borders and some panel setup. Looking forward to how much stuff will break! :)
Panel borders are done and working! :D How annonying was it? The tricky part was getting the layout constants to line up correctly (it gets pretty annoying if you’re trying to find where you accidentally forgot to add one to a value) Got there in the end though. Anything else? Also cleaned up the repo. I also added a git submodule so that PDCurses actually gets cloned too if you pass the --recurse-submodules when cloning. Now the foundation is solid and I can actually start on the editor itself next session. :) I also included a lil preview of how it looks rn :)
I managed to prove why C is the most memory safe language that exists!! This gets triggered by literally just resizing the window and I have zero idea why :’) On a side note though, I’ve been working on the editor panel a little and it’s slowly coming together. Anyways, looking forward to debugging hell for that one overflow or nullpointer (or whatever the hell this is)!
No more Access Violation! Also, I managed to get the editor drawing going! :) The interesting thing about the access violation fix is: I have no clue what caused it - it just kinda went away?? But oh well, the error is not happening anymore :D Whats working now? I so far mainly implemented colored line numbers and soft wrapping. The implementation for vertical scrolling however isn’t written yet, that’s the plan next. Also, I’ll probably implement cursor navigation with that in one go. I also made some small optimizations to the main loop plus a few fixes and adjustments here and there.
holy productivity spike I got the editor fully working!!! :) After wanting to throw my computer from a comically large height (multiple times), it finally runs: proper arrow-key navigation, a fully working cursor, soft wraps, line numbers, and so on. Vertical scrolling is now fully functional aswell. Even some comfort features like using the Home and End keys work! Fun stuff I found out in the process In the process of getting this to work I also discovered things like the fact that the pdcurses getch() macro implicitly refreshes the stdscr and then… doesnt… flush it 😐 Anything still borked? Some things also still don’t work fully, which kinda bothers me. The main example of this is navigating the cursor vertically into soft-wrapped lines; because of how I wrote the row up/down logic - which is to check in the editor buffer where the next or previous line feed is and then navigate based on that - I can’t just say “oh theres a soft line wrap lets just detect that instead of a \n ” because the rendering (which does the soft line wrapping) and the I/O loop don’t communicate with each other Sure, I could fix it by adding a shared data structure which contains all line wrappings, but for now, I just wanna get the more important stuff running. Any plans now? Anyways, I’m planning to finish the editor fully by adding writing text (wild concept, i know!) and syntax highlighting next. Stay tuned to find out how much I continue to suffer! :’)
This was literally me after opening my code today On a side note: I’ve cleaned up the codebase a little and split stuff into separate files for readability, like moving the editor draw function along with all its helpers into a separate file. I’m about to start working on finishing the editor panel now. :)
Typing works!! not Another Memory Violation :) Gonna debug that one too i guess On the flip side, I got syntax highlighting working!
Great News! The editor is now fully working! I’ve managed to implement everything from syntax highlighting to special keys such as delete, home and end. Nice! What now? I’m also working on getting the menubar to work, which’ll require rewriting a little part of the menubar rendering, as currently, the text entries get printed in one go with the spaces. If I somehow wanna highlight the text only, I gotta draw it all seperately.
Menubar Navigation, Code Running and Output Display works!! 🎉 :) Today, the IDE ran its first program! (and yes, of course, it was a hello world program) What changed? As already mentioned in the last post, I’ve rewritten part of the menubar rendering and also implemented output field rendering. Also, I’ve refactored the run_brainfuck function to be compatible with the UI. Changes in the run_brainfuck(...) function Before, it just stubbornly printed to stdout and read from stdin which of course kinda conflicts with the UI. To solve this, I made it write into an output buffer and accept a function pointer for a function that needs to return an int of which char was read in. The actual reading in will be handled by the pointed to function, which will probably be a “Please press a button” popup. What’s next Looking forward to getting the tape reel and then popups (including file saving/loading, exit confirm and please press a button) to work!
Live tape preview is done! While writing or editing code or by literally just moving your cursor, you now get a live preview of the programs “tape” (basically it’s entire data it works with). There is one big problem with the current system however. If you’re interested, feel free to read the following. The big Issue Loops. You see, in brainf * ck, loops work by using [ to jump to the matching ] if the current cell is zero and by using ] to jump to the matching [ if the cell is non-zero. This behaviour is actually not that pleasant to simulate when you’re only executing to a specific point in the program, because the “simulator” (the thing that interprets the bit of brainf * ck code up until your cursor and then generates a tape from that) can’t see the matching closing ] as it comes after the cursor. This means the loop will never really execute. But, when you navigate past the entire loop block, the cells jump to a completely different state (as seen in the video at around 0:08 ). How am I going to solve it then? I’ve decided that I dont want to “solve” it by somehow making loops work in live preview. I’ve decided live preview should only be relatively basic. For serious loop-involved debugging, I wanna introduce a special “Debug Mode”. In this mode, you’ll be able to step through your code, have chars printed into the output panel live AND also have the cursor/program pointer correctly jump around.
The debugger works!! After hours of work (mainly debugging and patching up code), it finally works! :DD The power of the debugger You can use the debugger to step forward and backward in your brainf * ck program. While stepping, a live program counter display (labelled “PC”) shows the current program counter index, while the tape in the bottom panel shows the current state of each cell, which cell is currently selected by the data pointer and what the cell contains, in both decimal and ASCII format. The following is just for if you’re interested in the technical details ;) Why I wanted to wipe my drive several times while making this (Problem 1) The first main problem in writing the debugger was stepping backward. You’d think its just “do the instruction in reverse, like when you back-step a - , just do a + instead” but the problem arises when, for example, you read in something using , and the info got overwritten. How do you reverse to something that got destroyed? Well, you don’t. The Solution to the Back-Stepping problem I implemented backward stepping by just recomputing the entire tape from scratch on every backstep. Yes, it’s probably not the best way, but it works. Problem 2 Loops. Once. Again. The jumping around of loops in brainf * ck is not the simplest thing to correctly compute, especially when only partially executing a program. When you land on a [ or a ] , you also need to account for nested loops. You can probably imagine that that can definitely cause some headaches.
Popups are finished! (almost) After a little bit of work, a popup system (which I gotta say is written kinda well compared to all the other code) is in place! Currently, there are: Exit Confirmation Popup Save File Dialog Load File Dialog One last thing is still missing though: The please press a button popup for inputs ( , ). Technical Details The popup system works by using a sub-struct inside of the global state struct ( state.popup ). It contains data such as whether a popup is active, if it accepts text input and handlers for drawing and the confirm button. There’s a base func ( create_popup_base() ) that draws a new basic outline for the popup. After that, only the contents of the popup get refreshed via the custom handler set via setting a function pointer ( state.popup.refresh_handler ). The popup also “captures” input. There’s a seperate if for state.popup.active before the main input validation which processes inputs and then skips the normal input processing.
Finally, the debugger is working properly . If you’ve tried a beta version, especially v1.1.0, you might have noticed the debugger being broken and kinda weird. I noticed that too, so I decided to rewrite it! (technically, I rewrote it twice but oh well) Why it needed a rewrite Before, the debugger worked by executing the next step in-place and jumping in loops by moving the cursor to the matching bracket. The problem was: to jump backwards when looping, you had to keep a history which could pretty quickly get filled if you were debugging enough and overall the system was too overengineered for what it was supposed to do. The new architecture The new debugger does almost the same that the live tape preview already does. The live tape preview has one caveat that doesn’t allow it to be directly used for the debugger though: we cannot track loop iterations on the cursor position alone, as we always just compute until the cursor. If we’re before a loop’s end, we’re only computing the first iteration. If we move past the loop, the whole loop gets computed in one move.Instead of the cursor pos, the debugger uses an instruction counter. It basically counts how many brainf * ck instructions it should run, which solves all problems here. Why this works Take this program: ++++++++ [ > ++++ [ > ++ > +++ > +++ > + <<<< - ] > + > + > - >> + [ < ] < - ] >> . > ---.+++++++..+++. >> . < -. < .+++.------.--------. >> +. > ++. Say we wanna run 40 instructions. We first step over the initial ++++++++[>++++[>++>+++>+++>+<<<<- (33 instructions), and then we get to the first ] . When we do, the current cell is non-zero, meaning we jump back to the instruction after the highlighted bracket ( ++++++++[>++++ [ >++>+++>+++>+<<<<- ). The jump is one instruction. Then we run >++>++ and reach 40. Notice how we’re in the second iteration when it ends. If we now move the cursor forward by one, we tell the tape generator “execute 41 instructions”. The same as before happens now (execute first bit, jump back, continue executing - but one instruction more than before this time) but we land in the second iteration again.
Whoops Had a small bug in the left arrow key in normal editing mode and popups weren’t resizing and re-positioning correctly, fixed all that :) FINAL RELEASE BABYYYY (hopefully)
Ships:
Brainf * ck IDE Hello and welcome to my project: an IDE for the brainf * ck programming language! What is it Brainf * ck IDE is a text editor, interpreter and debugger for brainf * ck. It is a powerful tool for developing brain * ck applications (if you wanna do that for some reason) How to use it The editor has two modes, Normal and Debug . Normally, youre in normal mode, but you can switch between normal and debug by using the DEBUG button. The editor is divided into three panels and a menubar. The three panels are: Editor Panel (Top Left) Output Panel (Top Right) Tape Panel (Bottom) Known Issues Maximizing the window and resizing it larger than a specific size causes the contents to dissapear, to reverse just make the window smaller again Resizing the window smaller than the size of a popup causes a heap corruption I would recommend avoiding resizing the window unless absolutely necessary 😅 If you’re interested in the details, feel free to read the rest on the GitHub Repo . :)...
|
1793112637.8730183
|
1793199037.8730183
|
|
23555
|
Standby by @geenk | Stardance
|
geenk
|
1
|
30.0
|
512
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T21:07:26Z", "hours": 30.0, "multiplier": 16.89, "payout": 512, "blessing": "neutral", "text": "Standby Standby is an simple Android app that turns your phone into basically a smart bedside or desk clock (similar to StandBy mode on iPhones). Instead of a black screen while charging, your phone now is a nice little glanceable screen for a desk or nightstand. It can display many things and thanks to the customizability of the plugins, the limit is your imagination (you can probably run doom lol). When I moved from iOS to Android, I didnt find an app that ticked all the boxes for me, they were all either paid or the useful features were all locked behind paywalls or they didnt look good… So I built Standby. The core philosophy of Standby is for everything to be customizable and easy to do so. Plugins use the very well established HTML/CSS/JS to display and have access to both the web and local phone sensors if needed (permission is granted on a plugin by plugin basis). The challenges It was my first time coding an Android app, so it was hard for me to figure things out, but thanks to the assistance of generative AI tools and of numerous Youtube tutorials, I was able to (mostly) firgure things out. I would say the AppWidgetHost part was the hardest to make, I constantly ran into issues where the third party widgets wasn’t updating properly or the widgets would just crash the app when selected. Those issues took a lot of head scratching to figure out. The WebView part was surprisingly easy, since it was just pretty much a glorified web browser in the app. Compose also helped a lot with the UI side of things, it was nice to have reusable things I can use instead of making my own UI components, etc. Though AI also helped a lot with UI due to simply how long it was to write the UI code. Demo You can watch the video demo to see how the app works in general: https://drive.google.com/file/d/1LBqg1Of4_amh87YIiEeGrte-fc33Wl7u/view?usp=sharing There also many screenshots on GitHub showcasing plugins. If you want to install the app, the signed APK is in the GitHub releases tab. To load plugins into the app, download the plugin zips you want under plugins/build/ on GitHub and either import it using the local uploader or import it as a file from the app.", "repo": "https://github.com/Haxintosh/standby", "demo": "https://github.com/Haxintosh/standby/releases/tag/v0.1"}]...
|
[{"post_id": 49823, "ts": "202 [{"post_id": 49823, "ts": "2026-08-18T19:26:03Z", "hours": 1.9322, "text": "New plugins, night mode and page indicators Added new half sized clock plugins and a bad apple plugin Added a night mode for the app to allow for scheduled actions Made a new banner for the app"}, {"post_id": 49118, "ts": "2026-08-17T19:00:48Z", "hours": 4.1339, "text": "Fixed issues with weather provider and add AppWidgetHost functionality Added AppWidgetHost functionality to the app, allowing for third party app widgets to be displayed in the app. Removed GPS settings for privacy. Added a hold menu for widgets to rename the widgets. Added button to refresh plugins"}, {"post_id": 18459, "ts": "2026-06-29T16:52:31Z", "hours": 4.6319, "text": "Updated clock faces, alarms, and added provider API Added a clock face and updated the more colorful one to look better when the digits overlap each other. Added a new sensor bridge method getNextAlarm() , to get the phone’s next alarm Added the foundations for provider APIs and an example implementation using weather The provider API handles more complex and repetitive tasks for the plugins. For instance, instead of having 2 plugins both having to send out API requests to get data, the app gets the weather data itself and distributes it to the plugins in a similar way to the SensorBridge JS interface. The weather provider refreshes every hour and caches the response from open meteo and provides some basic helper methods. For instance getCurrentWeather() gives the current weather information in a JSON which is easily used by other plugins. It also manages weather icon loading and caching from OpenWeather and passes it to the plugin in base64."}, {"post_id": 14690, "ts": "2026-06-23T21:42:01Z", "hours": 3.0578, "text": "Import plugin dialog! Added a popup when the user imports a new plugin, whether from file picker or from the web that lists the requested sensor access, the domains the plugin needs access to and general metadata about the plugin (author, name, description, etc). Also, added a way to rename plugins to be able to differentiate between multiple instances of the same plugin, especially useful when you want to have multiple configs of the same plugin!"}, {"post_id": 14452, "ts": "2026-06-23T16:08:11Z", "hours": 3.8658, "text": "Bug fixes & new plugins I added a new weather plugin and a full screen digital clock plugin. I also migrated some of old plugins made before the plugin spec was written. Also fixed a bug with stale plugin states. The old behavior was that the setup and the listeners captured a stale instance of the plugin params, which meant issues related to permissions and logging. For instance, logcat gives “PluginWebView com.geenk.standby D [Default Clock]” instead of logging it as [Weather plugin]. Also found an issue that kept crashing my phone over ADB screen mirroring, though the issue was more of an AOSP issue. (DEBUG crash_dump64 A Abort message: ’Splitting motion events requires a down time to be set for the target on connection …)"}, {"post_id": 13974, "ts": "2026-06-22T22:48:16Z", "hours": 2.8394, "text": "More battery stats I have added support for more battery data to be accessed by plugins, now with support for most battery data. The SensorBridge.kt now using JSON to send information to the plugin because I was having issues with List being sent over to WebView not working correctly. Also added a battery plugin demonstrating the new battery information."}, {"post_id": 13163, "ts": "2026-06-21T15:15:20Z", "hours": 9.8283, "text": "Standby! Sorry I forgot to break it down into smaller logs… Standby now supports many new features. Full plugin spec Now the plugins for the app are no longer just HTML files. There is now a structure to the plugin zip files with support for customization of the plugin itself (ie changing accent colors, turning features on/off) that is reflected in the UI. Remote plugin uploading Instead of having to send the plugin to your phone, you can now enable a lightweight HTTP server where you can upload plugin files directly from your computer! Better security With the full plugin spec, there is now a whitelist for the allowed domains and phone sensor APIs [note this still needs to be tested further and needs a UI when the user imports a plugin] Side by side layout Now the app supports putting 2 half sized plugin next to each other, similar to iOS’s StandBy implementation. You can also have many different panels of plugins. OLED burn-in protection Since the app displays a static screen for most of the time, I have added in an OLED protection feature that turns off very other pixel and alternates it to reduce burn it (user configurable, can turn off up to ~83% of the pixels, though it is very dim).Also, for phones supporting lower refresh rates, there is now an option to force the app to the lowest refresh rate when idle. Better UI The old version had no animations and was pretty ugly in terms of UI. Now, the different buttons are animated and disappear when the app is idle. The UI now follows the phone’s colors."}]...
|
Title: Standby by @geenk | Stardance
Devlogs:
Sta Title: Standby by @geenk | Stardance
Devlogs:
Standby! Sorry I forgot to break it down into smaller logs… Standby now supports many new features. Full plugin spec Now the plugins for the app are no longer just HTML files. There is now a structure to the plugin zip files with support for customization of the plugin itself (ie changing accent colors, turning features on/off) that is reflected in the UI. Remote plugin uploading Instead of having to send the plugin to your phone, you can now enable a lightweight HTTP server where you can upload plugin files directly from your computer! Better security With the full plugin spec, there is now a whitelist for the allowed domains and phone sensor APIs [note this still needs to be tested further and needs a UI when the user imports a plugin] Side by side layout Now the app supports putting 2 half sized plugin next to each other, similar to iOS’s StandBy implementation. You can also have many different panels of plugins. OLED burn-in protection Since the app displays a static screen for most of the time, I have added in an OLED protection feature that turns off very other pixel and alternates it to reduce burn it (user configurable, can turn off up to ~83% of the pixels, though it is very dim).Also, for phones supporting lower refresh rates, there is now an option to force the app to the lowest refresh rate when idle. Better UI The old version had no animations and was pretty ugly in terms of UI. Now, the different buttons are animated and disappear when the app is idle. The UI now follows the phone’s colors.
More battery stats I have added support for more battery data to be accessed by plugins, now with support for most battery data. The SensorBridge.kt now using JSON to send information to the plugin because I was having issues with List being sent over to WebView not working correctly. Also added a battery plugin demonstrating the new battery information.
Bug fixes & new plugins I added a new weather plugin and a full screen digital clock plugin. I also migrated some of old plugins made before the plugin spec was written. Also fixed a bug with stale plugin states. The old behavior was that the setup and the listeners captured a stale instance of the plugin params, which meant issues related to permissions and logging. For instance, logcat gives “PluginWebView com.geenk.standby D [Default Clock]” instead of logging it as [Weather plugin]. Also found an issue that kept crashing my phone over ADB screen mirroring, though the issue was more of an AOSP issue. (DEBUG crash_dump64 A Abort message: ’Splitting motion events requires a down time to be set for the target on connection …)
Import plugin dialog! Added a popup when the user imports a new plugin, whether from file picker or from the web that lists the requested sensor access, the domains the plugin needs access to and general metadata about the plugin (author, name, description, etc). Also, added a way to rename plugins to be able to differentiate between multiple instances of the same plugin, especially useful when you want to have multiple configs of the same plugin!
Updated clock faces, alarms, and added provider API Added a clock face and updated the more colorful one to look better when the digits overlap each other. Added a new sensor bridge method getNextAlarm() , to get the phone’s next alarm Added the foundations for provider APIs and an example implementation using weather The provider API handles more complex and repetitive tasks for the plugins. For instance, instead of having 2 plugins both having to send out API requests to get data, the app gets the weather data itself and distributes it to the plugins in a similar way to the SensorBridge JS interface. The weather provider refreshes every hour and caches the response from open meteo and provides some basic helper methods. For instance getCurrentWeather() gives the current weather information in a JSON which is easily used by other plugins. It also manages weather icon loading and caching from OpenWeather and passes it to the plugin in base64.
Fixed issues with weather provider and add AppWidgetHost functionality Added AppWidgetHost functionality to the app, allowing for third party app widgets to be displayed in the app. Removed GPS settings for privacy. Added a hold menu for widgets to rename the widgets. Added button to refresh plugins
New plugins, night mode and page indicators Added new half sized clock plugins and a bad apple plugin Added a night mode for the app to allow for scheduled actions Made a new banner for the app
Ships:
Standby Standby is an simple Android app that turns your phone into basically a smart bedside or desk clock (similar to StandBy mode on iPhones). Instead of a black screen while charging, your phone now is a nice little glanceable screen for a desk or nightstand. It can display many things and thanks to the customizability of the plugins, the limit is your imagination (you can probably run doom lol). When I moved from iOS to Android, I didnt find an app that ticked all the boxes for me, they were all either paid or the useful features were all locked behind paywalls or they didnt look good… So I built Standby. The core philosophy of Standby is for everything to be customizable and easy to do so. Plugins use the very well established HTML/CSS/JS to display and have access to both the web and local phone sensors if needed (permission is granted on a plugin by plugin basis). The challenges It was my first time coding an Android app, so it was hard for me to figure things out, but thanks to the assistance of generative AI tools and of numerous Youtube tutorials, I was able to (mostly) firgure things out. I would say the AppWidgetHost part was the hardest to make, I constantly ran into issues where the third party widgets wasn’t updating properly or the widgets would just crash the app when selected. Those issues took a lot of head scratching to figure out. The WebView part was surprisingly easy, since it was just pretty much a glorified web browser in the app. Compose also helped a lot with the UI side of things, it was nice to have reusable things I can use instead of making my own UI components, etc. Though AI also helped a lot with UI due to simply how long it was to write the UI code. Demo You can watch the video demo to see how the app works in general: https://drive.google.com/file/d/1LBqg1Of4_amh87YIiEeGrte-fc33Wl7u/view?usp=sharing There also many screenshots on GitHub showcasing plugins. If you want to install the app, the signed APK is in the GitHub releases tab. To load plugins into the app, download the plugin zips you want under plugins/build/ on GitHub and either import it using the local uploader or import it as a file from the app....
|
1793141608.863629
|
1793228008.863629
|
|
25521
|
Rchive by @priyanshu | Stardance
|
priyanshu
|
1
|
30.0
|
114
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T08:59:42Z", "hours": 30.0, "multiplier": 7.55, "payout": 114, "blessing": "neutral", "text": "I made a offline first notes app this works completely offline and UI design is awesome. So far I have added things that are core in future releases I will be adding security features like biometeric lock and e2e encryption for now it store in a local database already secure. Hope it makes sense for you guys. looking for good response", "repo": "https://github.com/P8labs/rchive", "demo": "https://github.com/P8labs/rchive/releases"}]...
|
[{"post_id": 31675, "ts": "202 [{"post_id": 31675, "ts": "2026-07-20T08:55:12Z", "hours": 4.5811, "text": "I have finally finished V1 for Rchive. GH action is running to release apk rn. and if that finish (this is third try) i feel it will this time. than I am good to go i have tested all so far and I tried to make UI the best I can. App Size it little big as I am using custom fonts may be in future i will fix it too."}, {"post_id": 25972, "ts": "2026-07-10T14:45:59Z", "hours": 2.4961, "text": "I have rewrote the UI and removed that extra fs thing instead now all in one db"}, {"post_id": 19088, "ts": "2026-06-30T09:16:23Z", "hours": 6.9672, "text": "Today I am able to make it work I have removed separate database from vault and added a syncing logic when vault is opened a sync fn is ran that registers all the entries of the vault also fixed treeURI and location as there is some android restrictions. Also fixed alot of bugs now, we can create notes easily backend part is almost done only presentation is remaining."}, {"post_id": 16916, "ts": "2026-06-27T14:03:36Z", "hours": 3.1078, "text": "I have implemented a separate package for SAF android storage access it will just help a lot"}, {"post_id": 16731, "ts": "2026-06-27T05:35:16Z", "hours": 1.7894, "text": "Finally I have added AppState currently solved that default vault implementation but I will change it again in currrent version isDefault is the field of vault registry but it makes it dependent on vault feature so i will be changing it will remove this from vault entry and keep it into app config database"}, {"post_id": 16319, "ts": "2026-06-26T15:32:07Z", "hours": 2.5961, "text": "I have implemented two separate db one for app database and other is for vault level db in which only vault related things will store"}, {"post_id": 16119, "ts": "2026-06-26T06:29:24Z", "hours": 4.3269, "text": "i think i need redesign currently I have mixed alot mixing sharedprefs, drift db, onboarding and vault management. Now, I am going to fix and rewrite my logic now is to remove shared prefs and have a app database that will be private if app deletes it will be deleted. The flow will be when user opens app it will load data from this main appdatabase all vaults and its data this database will store only app data like logs, config, vault data and default vault if no vault opened user can open existing or create new that will register it into appdatabase than when the vault opens will create a separate vault database that will have all data related to vault only that can be synced. as i am following MVVM clean architecture: We will have features as follows for now simple comman - AppDatabase Vault, - this is a separate feature Notes, - it is separate thing"}, {"post_id": 15537, "ts": "2026-06-25T07:47:33Z", "hours": 1.2239, "text": "New note auto markdown view added with custom package and patches."}, {"post_id": 15512, "ts": "2026-06-25T06:30:08Z", "hours": 3.1181, "text": "I am working on authentication and learning clean architecture MVVM"}]...
|
Title: Rchive by @priyanshu | Stardance
Devlogs:
Title: Rchive by @priyanshu | Stardance
Devlogs:
I am working on authentication and learning clean architecture MVVM
New note auto markdown view added with custom package and patches.
i think i need redesign currently I have mixed alot mixing sharedprefs, drift db, onboarding and vault management. Now, I am going to fix and rewrite my logic now is to remove shared prefs and have a app database that will be private if app deletes it will be deleted. The flow will be when user opens app it will load data from this main appdatabase all vaults and its data this database will store only app data like logs, config, vault data and default vault if no vault opened user can open existing or create new that will register it into appdatabase than when the vault opens will create a separate vault database that will have all data related to vault only that can be synced. as i am following MVVM clean architecture: We will have features as follows for now simple comman - AppDatabase Vault, - this is a separate feature Notes, - it is separate thing
I have implemented two separate db one for app database and other is for vault level db in which only vault related things will store
Finally I have added AppState currently solved that default vault implementation but I will change it again in currrent version isDefault is the field of vault registry but it makes it dependent on vault feature so i will be changing it will remove this from vault entry and keep it into app config database
I have implemented a separate package for SAF android storage access it will just help a lot
Today I am able to make it work I have removed separate database from vault and added a syncing logic when vault is opened a sync fn is ran that registers all the entries of the vault also fixed treeURI and location as there is some android restrictions. Also fixed alot of bugs now, we can create notes easily backend part is almost done only presentation is remaining.
I have rewrote the UI and removed that extra fs thing instead now all in one db
I have finally finished V1 for Rchive. GH action is running to release apk rn. and if that finish (this is third try) i feel it will this time. than I am good to go i have tested all so far and I tried to make UI the best I can. App Size it little big as I am using custom fonts may be in future i will fix it too.
Ships:
I made a offline first notes app this works completely offline and UI design is awesome. So far I have added things that are core in future releases I will be adding security features like biometeric lock and e2e encryption for now it store in a local database already secure. Hope it makes sense for you guys. looking for good response...
|
1793105624.5859914
|
1793192024.5859914
|
|
27376
|
Latin Study Aid by @jamkv359 | Stardance
|
jamkv359
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T16:16:39Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Latin is a subject with fantastic history — but not always fantastic study resources. I built this ‘Latin Study Aid’ website to make revision feel more engaging than flipping through vocabulary lists and pages of verb endings. Instead of a collection of isolated pages, I wanted it to feel like a complete learning platform, with persistent progress, achievements, statistics, music, multiple revision modes, and personalised features that encourage students to keep coming back. The project is written entirely in HTML, CSS and JavaScript without using frameworks. Most pages are generated dynamically with Javascript from large databases, allowing new vocabulary, grammar and achievements to be added with minimal code changes. I’d say, the tallest hurdle in this project was the persistent bugs in Javascript, and the stylistic failures in CSS. Especially after implementing lage amounts of localStorage variables, debugging required looking over a multitude of scripts. I’d say, what I’m most proud of are the massive databases that I constructed - around 2400 Google Sheet rows were managed by me, accumilating super satisfyingly into ordered Javascript arrays and objects. Over the course of development, the project grew from a simple vocabulary tester into a multi-page, cohesive platform containing both the interactive resources for modern study, and many quality-of-life features, both designed specifically for studying Latin. The website can be easily accessed on a Netlify-hosted domain: https://latin-study-aid.netlify.app/ .", "repo": "https://github.com/jamkv359-rgb/Latin-Everything-Tester", "demo": "https://latin-study-aid.netlify.app/"}]...
|
[{"post_id": 25335, "ts": "202 [{"post_id": 25335, "ts": "2026-07-09T15:48:12Z", "hours": 2.9319, "text": "Hey everyone! Fifth devlog: My Latin-language Study Aid is nearly done! Today, I was mainly cleaning up my code, fixing some bugs, cleaning up stylistic features, and getting ready to ship my project. I also uploaded my files to Github, as well as making the website public on netlify, at: https://latin-study-aid.netlify.app/ I also polished up the Google Sheets documents which I managed the massive databases on, cleaning it up for public use/viewing. After this devlog is posted, my devlog will likely have been shipped. Thanks for reading!"}, {"post_id": 24621, "ts": "2026-07-08T10:33:41Z", "hours": 2.5986, "text": "Hey everyone! Fourth devlog: After a LOT of time spent on Excel and Google spreadsheets, I finally composed the vocab database for the De Romanis Latin Course! I implemented this into the website, and now: The user can choose which vocab set they want to learn; either the Cambridge Latin Course, or the De Romanis Course. The user can see the ‘learning progress’ for their vocab for each stage The achievements have been altered to accommodate for the new vocab database Not only that, but I also added another feature; the Username. After users enter their username on the dashboard/hopepage, it is saved to localStorage Each page in the website greets the user by their username Having implemented all I can, I think I’m ready to ship my project soon. If I get no more ideas for this project, this might be my final devlog. Thanks, all of you, for reading!"}, {"post_id": 23934, "ts": "2026-07-07T04:29:12Z", "hours": 1.5394, "text": "Hey everyone! Third devlog: Just today, I added a new page to my Latin Study Website - the flashcard feature. Users can now: Flip through all 800+ latin words in the Cambridge Latin Course wordlist, in anki-style flippable flashcards Filter out the wordlist by ‘stage’ and ‘type’, so they can focus their revision to what’s relevant to them I did this mostly by copying my previous code for the Type-in Vocab Tester, and simplifying it so that no input, other than the ‘reveal’ button, is needed to progress. On the side, I also cleaned up the index.html homepage, so that it can display more statistics and data about the user: tests completed, average score across all tests, longest login streak, total days logged in. Not only that, but I also fixed the position of the macron keyboard to the top left of the viewport, since my addition of the music player, at the bottom of the viewport, covered it. I had some trouble uploadng my changes to the project on github, due to the massive number of music files in the ./music folder - so I spent a lotta time uploading them individually. Next, I plan on making a seperate vocab database, but from the De Romanis Latin Course rather than the Cambride Latin Course, allowing for more diversity in the website."}, {"post_id": 23497, "ts": "2026-07-06T14:52:30Z", "hours": 5.6478, "text": "Hey everyone! Second devlog: Recently, I added a universal feature to my Latin Study Aid website: the music playlist function. Users can listen to music while they study- They can select music from a large ‘music library homepage’, referencing a database that consists of the genres lofi, lofi pop, and pop (no lyrics). Like Spotify, users can access and change the music at the very bottom of their viewport, from any page in the website. The music is public domain, selected from Pixabay, each referenced to the original creator by hyperlink from the music library homepage. Overall, I’m really happy about the direction of this project - and am currently running out of ideas, heh. What do you all think I should add next?"}, {"post_id": 21108, "ts": "2026-07-02T22:01:17Z", "hours": 17.76, "text": "Hey everyone! First devlog: I started making the basis of a study website for the Cambridge Latin Course, a revision resource for this absolutely hellish language. Recently, I’ve added a few neat features to make the website more interactive. ‘Previous tests’ - The user can see the results of previous tests they’ve done on this website, saved to localStorage. The average percentage, standard deviation, highest test score, and total quesitons answered can be seen. Note that this function works only for the vocab type in, noun endings, pronoun, and verb endings tests Website colour themes - 2 different colour themes are available for all pages - light and dark mode, changeable by tickbox. The user preference is saved to localStorage, so they don’t have to change it each time. Achievements - the user can see what achievements they have and haven’t completed. The achievements are saved to loacalStorage, sorted by difficulty, and most definitely never end. Vocab and Verb grammar completion progress - the user can see what words/verb endings they have and haven’t answered correctly to in their history on this website, saved to localStorage. XP and level feature - the user can accumilate experience points and increase their level, by acing tests, ticking off more vocab words/verb endings, logging in daily, or unlocking achievements. Time-sensitive quotes - at the top of each page, the user can read a quote. Its attitude may be inspirational, friendly, witty, or reference ancient Roman scholars, depending on what page the user is on. Their comment also depends on what time of day it is, either chastising you to sleep or praising you as an early bird. Post-test Latin quotes - the user also gets a quote in Latin (from famous Roman history), and its english translation every time they finish a test, depending on how well they did. It’s randomly generated, so the same score won’t yield the same quote. it can be inspirational, encouraging of your failure, or pleased with your performance. Beta version archives - The user can access a multitude of scrapped pages that were either replaced or not needed as this project developed. They’re unpolished; no dark mode, no localStorage. Sample tests - the user can access past test papers from my school, now digitalised. Currently there’s only one, but there might be more. In the existing fronted, I used AI to help me with: composing the quotes, giving me some ideas, debugging or formatting, and make the colour scheme. I also used excel to help make the huge databases; for vocab, grammar, and achievements. Overall, I’m happy with how this project is going! Next, I’m planning on imkplementing a lofi-beats playlist, where the user can listen to music running from the website itself."}]...
|
Title: Latin Study Aid by @jamkv359 | Stardance
D Title: Latin Study Aid by @jamkv359 | Stardance
Devlogs:
Hey everyone! First devlog: I started making the basis of a study website for the Cambridge Latin Course, a revision resource for this absolutely hellish language. Recently, I’ve added a few neat features to make the website more interactive. ‘Previous tests’ - The user can see the results of previous tests they’ve done on this website, saved to localStorage. The average percentage, standard deviation, highest test score, and total quesitons answered can be seen. Note that this function works only for the vocab type in, noun endings, pronoun, and verb endings tests Website colour themes - 2 different colour themes are available for all pages - light and dark mode, changeable by tickbox. The user preference is saved to localStorage, so they don’t have to change it each time. Achievements - the user can see what achievements they have and haven’t completed. The achievements are saved to loacalStorage, sorted by difficulty, and most definitely never end. Vocab and Verb grammar completion progress - the user can see what words/verb endings they have and haven’t answered correctly to in their history on this website, saved to localStorage. XP and level feature - the user can accumilate experience points and increase their level, by acing tests, ticking off more vocab words/verb endings, logging in daily, or unlocking achievements. Time-sensitive quotes - at the top of each page, the user can read a quote. Its attitude may be inspirational, friendly, witty, or reference ancient Roman scholars, depending on what page the user is on. Their comment also depends on what time of day it is, either chastising you to sleep or praising you as an early bird. Post-test Latin quotes - the user also gets a quote in Latin (from famous Roman history), and its english translation every time they finish a test, depending on how well they did. It’s randomly generated, so the same score won’t yield the same quote. it can be inspirational, encouraging of your failure, or pleased with your performance. Beta version archives - The user can access a multitude of scrapped pages that were either replaced or not needed as this project developed. They’re unpolished; no dark mode, no localStorage. Sample tests - the user can access past test papers from my school, now digitalised. Currently there’s only one, but there might be more. In the existing fronted, I used AI to help me with: composing the quotes, giving me some ideas, debugging or formatting, and make the colour scheme. I also used excel to help make the huge databases; for vocab, grammar, and achievements. Overall, I’m happy with how this project is going! Next, I’m planning on imkplementing a lofi-beats playlist, where the user can listen to music running from the website itself.
Hey everyone! Second devlog: Recently, I added a universal feature to my Latin Study Aid website: the music playlist function. Users can listen to music while they study- They can select music from a large ‘music library homepage’, referencing a database that consists of the genres lofi, lofi pop, and pop (no lyrics). Like Spotify, users can access and change the music at the very bottom of their viewport, from any page in the website. The music is public domain, selected from Pixabay, each referenced to the original creator by hyperlink from the music library homepage. Overall, I’m really happy about the direction of this project - and am currently running out of ideas, heh. What do you all think I should add next?
Hey everyone! Third devlog: Just today, I added a new page to my Latin Study Website - the flashcard feature. Users can now: Flip through all 800+ latin words in the Cambridge Latin Course wordlist, in anki-style flippable flashcards Filter out the wordlist by ‘stage’ and ‘type’, so they can focus their revision to what’s relevant to them I did this mostly by copying my previous code for the Type-in Vocab Tester, and simplifying it so that no input, other than the ‘reveal’ button, is needed to progress. On the side, I also cleaned up the index.html homepage, so that it can display more statistics and data about the user: tests completed, average score across all tests, longest login streak, total days logged in. Not only that, but I also fixed the position of the macron keyboard to the top left of the viewport, since my addition of the music player, at the bottom of the viewport, covered it. I had some trouble uploadng my changes to the project on github, due to the massive number of music files in the ./music folder - so I spent a lotta time uploading them individually. Next, I plan on making a seperate vocab database, but from the De Romanis Latin Course rather than the Cambride Latin Course, allowing for more diversity in the website.
Hey everyone! Fourth devlog: After a LOT of time spent on Excel and Google spreadsheets, I finally composed the vocab database for the De Romanis Latin Course! I implemented this into the website, and now: The user can choose which vocab set they want to learn; either the Cambridge Latin Course, or the De Romanis Course. The user can see the ‘learning progress’ for their vocab for each stage The achievements have been altered to accommodate for the new vocab database Not only that, but I also added another feature; the Username. After users enter their username on the dashboard/hopepage, it is saved to localStorage Each page in the website greets the user by their username Having implemented all I can, I think I’m ready to ship my project soon. If I get no more ideas for this project, this might be my final devlog. Thanks, all of you, for reading!
Hey everyone! Fifth devlog: My Latin-language Study Aid is nearly done! Today, I was mainly cleaning up my code, fixing some bugs, cleaning up stylistic features, and getting ready to ship my project. I also uploaded my files to Github, as well as making the website public on netlify, at: https://latin-study-aid.netlify.app/ I also polished up the Google Sheets documents which I managed the massive databases on, cleaning it up for public use/viewing. After this devlog is posted, my devlog will likely have been shipped. Thanks for reading!
Ships:
Latin is a subject with fantastic history — but not always fantastic study resources. I built this ‘Latin Study Aid’ website to make revision feel more engaging than flipping through vocabulary lists and pages of verb endings. Instead of a collection of isolated pages, I wanted it to feel like a complete learning platform, with persistent progress, achievements, statistics, music, multiple revision modes, and personalised features that encourage students to keep coming back. The project is written entirely in HTML, CSS and JavaScript without using frameworks. Most pages are generated dynamically with Javascript from large databases, allowing new vocabulary, grammar and achievements to be added with minimal code changes. I’d say, the tallest hurdle in this project was the persistent bugs in Javascript, and the stylistic failures in CSS. Especially after implementing lage amounts of localStorage variables, debugging required looking over a multitude of scripts. I’d say, what I’m most proud of are the massive databases that I constructed - around 2400 Google Sheet rows were managed by me, accumilating super satisfyingly into ordered Javascript arrays and objects. Over the course of development, the project grew from a simple vocabulary tester into a multi-page, cohesive platform containing both the interactive resources for modern study, and many quality-of-life features, both designed specifically for studying Latin. The website can be easily accessed on a Netlify-hosted domain: https://latin-study-aid.netlify.app/ ....
|
1793116043.3339934
|
1793202443.3339934
|
|
30304
|
KittenOS by @nokira | Stardance
|
nokira
|
3
|
30.0
|
283
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T12:48:58Z", "hours": 11.0, "multiplier": 12.76, "payout": 140, "blessing": "neutral", "text": "Many new apps were added since last ship, here they are: PawNet 🐈⬛🌐: Search any information in the World Wide Web! PawPaint 🐈🎨: Pain anything you want and save your beautiful drawings! PawGame 🐈⬛🧶: Try and collect as much yarn balls as you can! PawCmd 🐈💻: Execute commands like a real hacker! PawWeather 🐈⬛⛅: Check the weather to see if it’s the right day for a walk! For pawnet I decided to only show 3 fixed website since most of modern sites don’t allow to be accessed from an iFrame. For PawCmd use the command “help” to show all of the available commands Other than the app, I tried listening to most reviews, for example I added back the date in the topbar which can be hidden from the settings, then I made the background customizable. All of the user’s data are saved in LocalStorage so nothing is lost on refresh.", "repo": "https://github.com/n0kira/KittenOS", "demo": "https://n0kira.github.io/KittenOS/"}, {"ship_num": 2, "ts": "2026-07-07T22:26:25Z", "hours": 13.0, "multiplier": 11.52, "payout": 143, "blessing": "neutral", "text": "KittenOS as mentioned before is a WebOS, it offers some basic features like: window dragging, desktop icons, real time clock and even desktop widgets!! The current available applications are: PawNotes 🐈📝: Create and save your personal notes! Every change is saved automatically PawPics 🐈⬛📷: Scroll through some images of cats MeowSic 🐈🎵: A music player application, listen to some lo-fi beats and relax! PawCalc 🐈⬛🧮: Just your usual calc (short for calculator) PawConfig 🐈⚙️: Customize your username, profile picture and birth date to make the OS feel yours! There is even a calendar widget on your desktop! It shows the current date (obviously) and highlights your birthday! All your data, from username, to notes is saved, so you will never lose it! At first the most challenging part was the CSS, but then as more and more features were being added, managing all the JavaScript logic got harder, but not impossible. I had to search online for help and tutorials for some features, but I am happy I managed to achieve this! To get to Ship #2 it took quite a while, but some logic had to be reviewed and the JavaScript code split into multiple files or it would have been hard to find functions and keep it clean. Overall, I am really satisfied with this project as it is my second one on this platform. Hope some other people will like it too! If any issue or bug is found, please let me know so I can fix the error and learn more!", "repo": "https://github.com/n0kira/KittenOS", "demo": "https://n0kira.github.io/KittenOS/"}, {"ship_num": 3, "ts": "2026-07-04T09:43:46Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created my first WebOS! It was quite challenging at first but once I understood the way JavaScript functioned, it was actually a nice challenge to make custom functions and features the guide didn’t have. I’m really proud of all the things I learnt along with how the project is looking now!", "repo": "https://github.com/n0kira/KittenOS", "demo": "https://n0kira.github.io/KittenOS/"}]...
|
[{"post_id": 31770, "ts": "202 [{"post_id": 31770, "ts": "2026-07-20T12:41:23Z", "hours": 1.0253, "text": "Weather app! Hello!! Today I didn’t have much time so I added my last app before shipping! This app uses OpenWeather API to fetch forecast and display it. Another thing I added was as someone suggested, the date to the top bar like in my first versions, but if you don’t want to see it and rely on the calendar only, there is a toggle option in the settings. Byebyee!"}, {"post_id": 29516, "ts": "2026-07-16T14:30:39Z", "hours": 0.9778, "text": "More customization!! Sooo… as someone suggested in the reviews, I decided to let people upload their custom background images/gifs. Unfortunately the storage for saving the image has a limit, so if images are too big they wont be uploaded. This devlog is quite short but it’s everything I could do today! Byebyee!"}, {"post_id": 27600, "ts": "2026-07-13T10:23:21Z", "hours": 2.3033, "text": "SOUND EFFECTS!! 😻 First of all… THANK YOU ALL SO MUCH FOR ALL THE SUPER POSITIVE REVIEWS!!! I read them all and noted everything that was suggested!! ❤️😁 Sounds?! Sooo, first devlog after the reviews. Today I don’t know how much I’ll add because it’s my birthday! So I won’t be at home. BUT speaking of what I already added, I put sounds effects , they play when clicking buttons , opening apps and even when typing !! If anyone has suggestions for more sounds or for changing the current ones, I’m more than happy to hear your opinion! Also, I added 2 more commands to PawCMD: whoami -> prints your username echo [text] -> repeats what you typed after the command (single word) I’ll add more commands in the future if I get more ideas and in the meantime I’ll try to add some of the suggested features BYEEE!!"}, {"post_id": 26826, "ts": "2026-07-11T20:49:46Z", "hours": 2.4181, "text": "PawCmd!! Hello again!! :D I created 2 more apps… The first one is PawCmd , this is the cool one. It’s just a terminal simulation . As of right now there are only 4 commands but I’ll try to make some more and interesting ones tomorrow. The second app is PawGame … it’s pretty bad :( so I won’t show it in the video, but you just have to collect some balls of yarn.. nothing else, just this. Byee :)"}, {"post_id": 26515, "ts": "2026-07-11T11:18:36Z", "hours": 2.4028, "text": "PawNet 🌐🐈⬛ Hi!! Today I managed to polish the CSS for PawPaint, but it’s nothing crazy… Some other stuff I did was creating a folder on the desktop, so now most applications are found inside of it. The other thing is PawNet !!! This is some sort of browser you could call it. There are 3 buttons at the top for you to choose a website and then you will see the page inside of PawNet. I know that there are better ways to do that and to make the user decide which site to visit, but that gave me some problems while implementing because not every site allows to be displayed in an iframe so for the moment it will stay like that… :)"}, {"post_id": 26148, "ts": "2026-07-10T19:33:14Z", "hours": 1.8814, "text": "PawPaint 🎨🐈 A new app is coming!! I am currently working on a new app called “PawPaint”, it lets you paint anything in an empty canvas and then you can save all your beautiful drawings as .PNG photos!!! This app was not that easy to make and I had to follow some tutorials online, but I managed to tweak it and adapt it to my KittenOS and it seems to work pretty fine for the moment. Of course some more CSS needs to be applied but I just wanted to share the app working!! :)"}, {"post_id": 24376, "ts": "2026-07-07T21:55:48Z", "hours": 2.8686, "text": "What changes? Since the first ship, as you can see from the devlogs, quite a lot changed. 3 New applications , yes! I made 3 more applications, and they are: ‘ PawConfig ’, to change user settings like name, birth date, profile picture; ‘ MeowSic ’, to listen to some relaxing LoFi beats; ‘ PawCalc ’, to make some serious calculations with style Better code organization , finally I decided to organize the JavaScript code, and now it’s all split up in different files, each for a specific application. Desktop widget , you now have a small calendar widget on your desktop, and if you set a birth date inside the settings, it will highlight your birthday with a special color, and you will be wished a happy birthday by KittenOS! New Icons , all applications have now more expressive icons that fit better overall"}, {"post_id": 24080, "ts": "2026-07-07T12:44:08Z", "hours": 3.5597, "text": "Major Update to PawNotes Ater 3 hours I finally managed to update PawNotes! Finally, you can create and delete notes! Also, all changes made are saved to localStorage automatically in real time, so you don’t have to save them manually and you won’t be losing them! Also, I created a little widget that sits on the desktop. It’s just a calendar which indicates the current day! Nothing much I know but I like it!! :)"}, {"post_id": 23678, "ts": "2026-07-06T19:49:44Z", "hours": 1.0047, "text": "Calculator App done! I finally finished the calculator app, I actually thought it would have been harder to do but it was quite easy. Other than that, i reorganized the code by splitting each application JS code into its own file to keep all functions separated by functionality. The next objective is to build widgets for the desktop, maybe a calendar? :)"}, {"post_id": 23575, "ts": "2026-07-06T16:43:10Z", "hours": 1.3361, "text": "New Icons 😻🐈!! I spent some time making new icons and I think I like them more than before! Also, a new app is coming! I got the UI ready, now I’ll go write the JavaScript to make it actually work! :)"}, {"post_id": 23375, "ts": "2026-07-06T09:32:30Z", "hours": 1.32, "text": "MeowSic Player done! After some work I managed to get the music player to work! You can play/pause music, skip to other tracks and use the slider to control the time! :)"}, {"post_id": 23109, "ts": "2026-07-05T21:13:38Z", "hours": 2.4669, "text": "Another Devlog! I am currently working on a music player application called “ MeowSic ” 🐈🎶 It’s not done yet but I’m taking it slowly, so I don’t get lost into my messy code for now. One day I will rewrite it cleanly, but as of now, I’ll focus on finishing this app! Right now all it does it’s playing the songs from a queue and updating the UI to match the info, the next and previous button are working, the only missing things are updating the slider in real time and making the play/pause button work :)"}, {"post_id": 22032, "ts": "2026-07-04T09:01:24Z", "hours": 1.4383, "text": "This is the project now! I’m really happy with the result as of now. I managed to create a second application on my own and it turned out pretty good in my opinion :)"}, {"post_id": 21778, "ts": "2026-07-03T21:40:10Z", "hours": 2.2236, "text": "Another feature added! I created the first application, PawNotes! You can read all the notes left on there. You can close the app by using the little paw icon on the top and open it again by double tapping on the desktop icon! So cool :)"}, {"post_id": 21606, "ts": "2026-07-03T17:24:39Z", "hours": 1.0694, "text": "I completed my first window! After 1 hour I managed to get the window to move when dragged by the user, it feels amazing! I can’t wait to add many more features and finish this project :)"}, {"post_id": 21563, "ts": "2026-07-03T16:18:34Z", "hours": 1.0928, "text": "First 2 parts of the tutorial completed! This is what it looks like now. I’m really excited about this project, I’m already loving it and I feel like I’m learning much stuff! :)"}]...
|
Title: KittenOS by @nokira | Stardance
Devlogs:
F Title: KittenOS by @nokira | Stardance
Devlogs:
First 2 parts of the tutorial completed! This is what it looks like now. I’m really excited about this project, I’m already loving it and I feel like I’m learning much stuff! :)
I completed my first window! After 1 hour I managed to get the window to move when dragged by the user, it feels amazing! I can’t wait to add many more features and finish this project :)
Another feature added! I created the first application, PawNotes! You can read all the notes left on there. You can close the app by using the little paw icon on the top and open it again by double tapping on the desktop icon! So cool :)
This is the project now! I’m really happy with the result as of now. I managed to create a second application on my own and it turned out pretty good in my opinion :)
Another Devlog! I am currently working on a music player application called “ MeowSic ” 🐈🎶 It’s not done yet but I’m taking it slowly, so I don’t get lost into my messy code for now. One day I will rewrite it cleanly, but as of now, I’ll focus on finishing this app! Right now all it does it’s playing the songs from a queue and updating the UI to match the info, the next and previous button are working, the only missing things are updating the slider in real time and making the play/pause button work :)
MeowSic Player done! After some work I managed to get the music player to work! You can play/pause music, skip to other tracks and use the slider to control the time! :)
New Icons 😻🐈!! I spent some time making new icons and I think I like them more than before! Also, a new app is coming! I got the UI ready, now I’ll go write the JavaScript to make it actually work! :)
Calculator App done! I finally finished the calculator app, I actually thought it would have been harder to do but it was quite easy. Other than that, i reorganized the code by splitting each application JS code into its own file to keep all functions separated by functionality. The next objective is to build widgets for the desktop, maybe a calendar? :)
Major Update to PawNotes Ater 3 hours I finally managed to update PawNotes! Finally, you can create and delete notes! Also, all changes made are saved to localStorage automatically in real time, so you don’t have to save them manually and you won’t be losing them! Also, I created a little widget that sits on the desktop. It’s just a calendar which indicates the current day! Nothing much I know but I like it!! :)
What changes? Since the first ship, as you can see from the devlogs, quite a lot changed. 3 New applications , yes! I made 3 more applications, and they are: ‘ PawConfig ’, to change user settings like name, birth date, profile picture; ‘ MeowSic ’, to listen to some relaxing LoFi beats; ‘ PawCalc ’, to make some serious calculations with style Better code organization , finally I decided to organize the JavaScript code, and now it’s all split up in different files, each for a specific application. Desktop widget , you now have a small calendar widget on your desktop, and if you set a birth date inside the settings, it will highlight your birthday with a special color, and you will be wished a happy birthday by KittenOS! New Icons , all applications have now more expressive icons that fit better overall
PawPaint 🎨🐈 A new app is coming!! I am currently working on a new app called “PawPaint”, it lets you paint anything in an empty canvas and then you can save all your beautiful drawings as .PNG photos!!! This app was not that easy to make and I had to follow some tutorials online, but I managed to tweak it and adapt it to my KittenOS and it seems to work pretty fine for the moment. Of course some more CSS needs to be applied but I just wanted to share the app working!! :)
PawNet 🌐🐈⬛ Hi!! Today I managed to polish the CSS for PawPaint, but it’s nothing crazy… Some other stuff I did was creating a folder on the desktop, so now most applications are found inside of it. The other thing is PawNet !!! This is some sort of browser you could call it. There are 3 buttons at the top for you to choose a website and then you will see the page inside of PawNet. I know that there are better ways to do that and to make the user decide which site to visit, but that gave me some problems while implementing because not every site allows to be displayed in an iframe so for the moment it will stay like that… :)
PawCmd!! Hello again!! :D I created 2 more apps… The first one is PawCmd , this is the cool one. It’s just a terminal simulation . As of right now there are only 4 commands but I’ll try to make some more and interesting ones tomorrow. The second app is PawGame … it’s pretty bad :( so I won’t show it in the video, but you just have to collect some balls of yarn.. nothing else, just this. Byee :)
SOUND EFFECTS!! 😻 First of all… THANK YOU ALL SO MUCH FOR ALL THE SUPER POSITIVE REVIEWS!!! I read them all and noted everything that was suggested!! ❤️😁 Sounds?! Sooo, first devlog after the reviews. Today I don’t know how much I’ll add because it’s my birthday! So I won’t be at home. BUT speaking of what I already added, I put sounds effects , they play when clicking buttons , opening apps and even when typing !! If anyone has suggestions for more sounds or for changing the current ones, I’m more than happy to hear your opinion! Also, I added 2 more commands to PawCMD: whoami -> prints your username echo [text] -> repeats what you typed after the command (single word) I’ll add more commands in the future if I get more ideas and in the meantime I’ll try to add some of the suggested features BYEEE!!
More customization!! Sooo… as someone suggested in the reviews, I decided to let people upload their custom background images/gifs. Unfortunately the storage for saving the image has a limit, so if images are too big they wont be uploaded. This devlog is quite short but it’s everything I could do today! Byebyee!
Weather app! Hello!! Today I didn’t have much time so I added my last app before shipping! This app uses OpenWeather API to fetch forecast and display it. Another thing I added was as someone suggested, the date to the top bar like in my first versions, but if you don’t want to see it and rely on the calendar only, there is a toggle option in the settings. Byebyee!
Ships:
I created my first WebOS! It was quite challenging at first but once I understood the way JavaScript functioned, it was actually a nice challenge to make custom functions and features the guide didn’t have. I’m really proud of all the things I learnt along with how the project is looking now!
KittenOS as mentioned before is a WebOS, it offers some basic features like: window dragging, desktop icons, real time clock and even desktop widgets!! The current available applications are: PawNotes 🐈📝: Create and save your personal notes! Every change is saved automatically PawPics 🐈⬛📷: Scroll through some images of cats MeowSic 🐈🎵: A music player application, listen to some lo-fi beats and relax! PawCalc 🐈⬛🧮: Just your usual calc (short for calculator) PawConfig 🐈⚙️: Customize your username, profile picture and birth date to make the OS feel yours! There is even a calendar widget on your desktop! It shows the current date (obviously) and highlights your birthday! All your data, from username, to notes is saved, so you will never lose it! At first the most challenging part was the CSS, but then as more and more features were being added, managing all the JavaScript logic got harder, but not impossible. I had to search online for help and tutorials for some features, but I am happy I managed to achieve this! To get to Ship #2 it took quite a while, but some logic had to be reviewed and the JavaScript code split into multiple files or it would have been hard to find functions and keep it clean. Overall, I am really satisfied with this project as it is my second one on this platform. Hope some other people will like it too! If any issue or bug is found, please let me know so I can fix the error and learn more!
Many new apps were added since last ship, here they are: PawNet 🐈⬛🌐: Search any information in the World Wide Web! PawPaint 🐈🎨: Pain anything you want and save your beautiful drawings! PawGame 🐈⬛🧶: Try and collect as much yarn balls as you can! PawCmd 🐈💻: Execute commands like a real hacker! PawWeather 🐈⬛⛅: Check the weather to see if it’s the right day for a walk! For pawnet I decided to only show 3 fixed website since most of modern sites don’t allow to be accessed from an iFrame. For PawCmd use the command “help” to show all of the available commands Other than the app, I tried listening to most reviews, for example I added back the date in the topbar which can be hidden from the settings, then I made the background customizable. All of the user’s data are saved in LocalStorage so nothing is lost on refresh....
|
1793094622.5443847
|
1793181022.5443847
|
|
30594
|
Roobiks - A 3d software rasterizer by @arkaive19 | Roobiks - A 3d software rasterizer by @arkaive19 | Stardance...
|
arkaive19
|
1
|
30.0
|
512
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T17:38:21Z", "hours": 30.0, "multiplier": 17.09, "payout": 512, "blessing": "neutral", "text": "I made a 3d rasterizer in Javascript using the HTML5 canvas API! This whole project was inspired by TScoding’s projection formula. The name roobik’s just happened to be there. The rubiks cube is NOT my project, i repeat the rubiks cube is NOT my project. Its just a demonstration of a renderable Mesh, (Alongside the penguin model too)", "repo": "https://github.com/Arkaive19/roobiks", "demo": "https://arkaive19.is-a.dev/roobiks"}]...
|
[{"post_id": 28418, "ts": "202 [{"post_id": 28418, "ts": "2026-07-14T17:32:06Z", "hours": 1.3117, "text": "I finally added the last bit of optimization with some binary color storing and magic tricking, i think this is the end of the line for my project as i see no further addition than some ui/ux which i dont wanna do for a project thats already this complex. i spent a LOT of time documenting everything, so that anyone reading the source code gets an idea of whats going on. Also added comic sans for a jolly effect with a HUD."}, {"post_id": 28251, "ts": "2026-07-14T12:21:31Z", "hours": 1.0325, "text": "The first (incomplete) demo is now up and ready! headover to https://arkaive19.is-a.dev/roobiks to see the magic for yourself!"}, {"post_id": 27286, "ts": "2026-07-12T18:46:48Z", "hours": 2.9397, "text": "I finally implemented a better UX system, with customizable keybinds, actually usable buttons! (yay), a fps bar and also HUGE optimization change. (i just found out the bayecentric coordinates could be incremented instead of manual addition), the renderer is now comfortably rendering a complex penguin at ~60fps which has 323 vertices and 625 faces."}, {"post_id": 26732, "ts": "2026-07-11T18:11:37Z", "hours": 1.9194, "text": "external assets can be loaded! (ive only tested it for this penguin asset for now, but i will test more in the near future)"}, {"post_id": 26469, "ts": "2026-07-11T08:52:50Z", "hours": 3.1028, "text": "I implemented a wireframe drawing method to my software rasterizer and also implemented front face culling (front face culling too a LOOONG time to implement due to the tedious maths) ive also documented how everything works so anyone can understand whats going on. With the drawWireframe theres this weird ghostly effect going on and thats what im hoping on solving next"}, {"post_id": 26096, "ts": "2026-07-10T18:00:44Z", "hours": 1.0175, "text": "I added some buttons for a better user experience, with keybinds and such. also i implemented a scrambling technique which generates a 20 move based random assortment. The ive also optimized frame waiting, with delay based Promises which wait check every frame before inputting the move to be displayed with solve or scramble. (i tested if user interruption changes anything and gladly it did not for scramble, but i have to fix the unsolvable problem if user interrupts when solving the cube)"}, {"post_id": 25964, "ts": "2026-07-10T14:26:43Z", "hours": 2.9481, "text": "Ive finally added some rubiks cube qol features like resetting the cube and solving it! (for now im just reversing the users steps as using an actual alogrithm would be out of scope of this project.), and im planning on documenting the remaining parts"}, {"post_id": 24874, "ts": "2026-07-08T18:41:20Z", "hours": 3.0894, "text": "Hello everyone, Ive upgraded my code to work with canvas to use the canvas method .putImageData, as ive now implemented triangle rasterization, and something very interesting called as z-indexing. Basically, every frame all pixels of the canvas are being controlled by the renderer to draw stuff instead of relying on the canvas methods like fillRect, etc! Ive also optimized the entire renderer to work well and fix any buggy areas too, but some more optimization is possible, and im thinking of continuing from there. I think im gonna add some UI/UX components later on but for right now im gonna optimize the renderer more! also, the live demo is up and running! check the current progress out at: ++++++++++++++++++++++++++++++++ https://arkaive19.is-a.dev/roobiks/ ++++++++++++++++++++++++++++++++ have a nice day and stay tuned for the next update!"}, {"post_id": 23646, "ts": "2026-07-06T18:40:08Z", "hours": 3.4439, "text": "I finally finished the rotation cycle and documented the entire process inside my scripts. The rubiks cube works and also animates now! also i fixed the backface culling issue, and the animations are fixed and crisp! I think im gonna add some qol features like enhance my current camera reframe to also reset the cube and make it a general reset, and also add some physical buttons or sum like that. With the current state of things i might wrap it as a electron app as its not designed to be mobile friendly."}, {"post_id": 22773, "ts": "2026-07-05T11:13:20Z", "hours": 0.5333, "text": "I finally implemented PROPER mesh rendering. before i had to flatmap and insert each model vertices, edges and faces in 1 giant pile for computation but not anymore. it does that internally so all i need to do is renderer.startFrame(); renderer.drawMesh(cat); renderer.drawMesh(dog); renderer.drawMesh(bug); renderer.endFrame(); Bug fixing was really tough because of optimization errors and whatnot, but changing basically all my arrays to Float32Arrays gave me an extra 100 frames 💔🥀🥀"}, {"post_id": 22703, "ts": "2026-07-05T08:25:39Z", "hours": 2.0628, "text": "Ive made some changes to the 3d graphics changer where the painters alogorithm stopped working with multiple meshes. For now, ive flatmapped all points edges and faces of the multi meshes so its just 1 giant mesh that has to be rendered! (I think my system will break if i use another instance of drawMesh() somewhere else as theyre not flatmapped. I think thats the problem ill try to solve next)"}, {"post_id": 22309, "ts": "2026-07-04T18:21:28Z", "hours": 2.1708, "text": "I recently learnt and implemented about Depth Based Rendering. Basically, make faces closer to u render last so they can appear more lifelike than a static order or rendering which often breaks with freecam"}, {"post_id": 22205, "ts": "2026-07-04T15:45:51Z", "hours": 4.5167, "text": "Ive been wanting to learn how 3d renderers have worked for the longest time, and recently i thought of making an app for it. Roobiks is an freecam 3d space rubix cube sandbox like software, that is built ENTIRELY on a 2d canvas using nothing but pure mathematics, and HTML5 canvas properties."}]...
|
Title: Roobiks - A 3d software rasterizer by @arka Title: Roobiks - A 3d software rasterizer by @arkaive19 | Stardance
Devlogs:
Ive been wanting to learn how 3d renderers have worked for the longest time, and recently i thought of making an app for it. Roobiks is an freecam 3d space rubix cube sandbox like software, that is built ENTIRELY on a 2d canvas using nothing but pure mathematics, and HTML5 canvas properties.
I recently learnt and implemented about Depth Based Rendering. Basically, make faces closer to u render last so they can appear more lifelike than a static order or rendering which often breaks with freecam
Ive made some changes to the 3d graphics changer where the painters alogorithm stopped working with multiple meshes. For now, ive flatmapped all points edges and faces of the multi meshes so its just 1 giant mesh that has to be rendered! (I think my system will break if i use another instance of drawMesh() somewhere else as theyre not flatmapped. I think thats the problem ill try to solve next)
I finally implemented PROPER mesh rendering. before i had to flatmap and insert each model vertices, edges and faces in 1 giant pile for computation but not anymore. it does that internally so all i need to do is renderer.startFrame(); renderer.drawMesh(cat); renderer.drawMesh(dog); renderer.drawMesh(bug); renderer.endFrame(); Bug fixing was really tough because of optimization errors and whatnot, but changing basically all my arrays to Float32Arrays gave me an extra 100 frames 💔🥀🥀
I finally finished the rotation cycle and documented the entire process inside my scripts. The rubiks cube works and also animates now! also i fixed the backface culling issue, and the animations are fixed and crisp! I think im gonna add some qol features like enhance my current camera reframe to also reset the cube and make it a general reset, and also add some physical buttons or sum like that. With the current state of things i might wrap it as a electron app as its not designed to be mobile friendly.
Hello everyone, Ive upgraded my code to work with canvas to use the canvas method .putImageData, as ive now implemented triangle rasterization, and something very interesting called as z-indexing. Basically, every frame all pixels of the canvas are being controlled by the renderer to draw stuff instead of relying on the canvas methods like fillRect, etc! Ive also optimized the entire renderer to work well and fix any buggy areas too, but some more optimization is possible, and im thinking of continuing from there. I think im gonna add some UI/UX components later on but for right now im gonna optimize the renderer more! also, the live demo is up and running! check the current progress out at: ++++++++++++++++++++++++++++++++ https://arkaive19.is-a.dev/roobiks/ ++++++++++++++++++++++++++++++++ have a nice day and stay tuned for the next update!
Ive finally added some rubiks cube qol features like resetting the cube and solving it! (for now im just reversing the users steps as using an actual alogrithm would be out of scope of this project.), and im planning on documenting the remaining parts
I added some buttons for a better user experience, with keybinds and such. also i implemented a scrambling technique which generates a 20 move based random assortment. The ive also optimized frame waiting, with delay based Promises which wait check every frame before inputting the move to be displayed with solve or scramble. (i tested if user interruption changes anything and gladly it did not for scramble, but i have to fix the unsolvable problem if user interrupts when solving the cube)
I implemented a wireframe drawing method to my software rasterizer and also implemented front face culling (front face culling too a LOOONG time to implement due to the tedious maths) ive also documented how everything works so anyone can understand whats going on. With the drawWireframe theres this weird ghostly effect going on and thats what im hoping on solving next
external assets can be loaded! (ive only tested it for this penguin asset for now, but i will test more in the near future)
I finally implemented a better UX system, with customizable keybinds, actually usable buttons! (yay), a fps bar and also HUGE optimization change. (i just found out the bayecentric coordinates could be incremented instead of manual addition), the renderer is now comfortably rendering a complex penguin at ~60fps which has 323 vertices and 625 faces.
The first (incomplete) demo is now up and ready! headover to https://arkaive19.is-a.dev/roobiks to see the magic for yourself!
I finally added the last bit of optimization with some binary color storing and magic tricking, i think this is the end of the line for my project as i see no further addition than some ui/ux which i dont wanna do for a project thats already this complex. i spent a LOT of time documenting everything, so that anyone reading the source code gets an idea of whats going on. Also added comic sans for a jolly effect with a HUD.
Ships:
I made a 3d rasterizer in Javascript using the HTML5 canvas API! This whole project was inspired by TScoding’s projection formula. The name roobik’s just happened to be there. The rubiks cube is NOT my project, i repeat the rubiks cube is NOT my project. Its just a demonstration of a renderable Mesh, (Alongside the penguin model too)...
|
1793119883.9265416
|
1793206283.9265416
|
|
36939
|
worth the weight by @ccyaliyahh | Stardance
|
ccyaliyahh
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T17:03:50Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a grade calculator website! it includes a final grade calculator, a course grade calculator, a gpa impact calculator, and a page with an interactive slider and graph to show you the minimum and maximum grade you can receive for a course. i was really proud of this project mainly because i’ve never built website by myself and have it work so well. i’m also really happy with how it turned out because i used adobe illustrator to design the graphic header, and i really like the aesthetic.", "repo": "https://github.com/ccyaliyahh/worththeweight", "demo": "https://ccyaliyahh.github.io/worththeweight/"}]...
|
[{"post_id": 30761, "ts": "202 [{"post_id": 30761, "ts": "2026-07-18T16:37:12Z", "hours": 30.0756, "text": "hiya! i made this project for another hack club program, so there’s only 1 devlog on here. might seem a little suspicious… lol if you go to this project’s repository, you can see all my commits and the process i went through creating this~ cheers! xxx liyah"}]...
|
Title: worth the weight by @ccyaliyahh | Stardance Title: worth the weight by @ccyaliyahh | Stardance
Devlogs:
hiya! i made this project for another hack club program, so there’s only 1 devlog on here. might seem a little suspicious… lol if you go to this project’s repository, you can see all my commits and the process i went through creating this~ cheers! xxx liyah
Ships:
i made a grade calculator website! it includes a final grade calculator, a course grade calculator, a gpa impact calculator, and a page with an interactive slider and graph to show you the minimum and maximum grade you can receive for a course. i was really proud of this project mainly because i’ve never built website by myself and have it work so well. i’m also really happy with how it turned out because i used adobe illustrator to design the graphic header, and i really like the aesthetic....
|
1793249484.6372004
|
1793335884.6372004
|
|
37763
|
Lego game launcher by @Polokalap | Stardance
|
Polokalap
|
0
|
30.0
|
0
|
[]
|
[{"post_id": 38503, "ts": "202 [{"post_id": 38503, "ts": "2026-07-31T22:33:20Z", "hours": 2.1122, "text": "Optimization I optimized instances loading and animating."}, {"post_id": 37926, "ts": "2026-07-30T22:54:42Z", "hours": 0.6656, "text": "Added new instance button Also fixed some bugs :]"}, {"post_id": 37831, "ts": "2026-07-30T19:46:44Z", "hours": 2.8372, "text": "Instances menu Now all your instances will show up here :3"}, {"post_id": 37608, "ts": "2026-07-30T13:48:38Z", "hours": 9.0233, "text": "I need to devlog so I don’t lose the value of my hours. Started making the instances menu and I tried to add animations but it didn’t really work. Yes I know it’s off"}, {"post_id": 35991, "ts": "2026-07-27T19:54:17Z", "hours": 6.1561, "text": "Added sidebar It can be closed, opened and is animated!"}, {"post_id": 34910, "ts": "2026-07-26T00:25:00Z", "hours": 7.2164, "text": "Added player skin downloading Now it can download your from your username, and formats it into your head. The following images are made:"}, {"post_id": 33754, "ts": "2026-07-23T22:25:44Z", "hours": 0.34, "text": "Made logging and zipping async!"}, {"post_id": 33743, "ts": "2026-07-23T22:00:17Z", "hours": 1.6492, "text": "Created logger! (wow so cool!) It supports info , warn and error with their colors in the console. Every log gets written to the disk, and old logs get compressed via Xz to save space."}]...
|
Title: Lego game launcher by @Polokalap | Stardanc Title: Lego game launcher by @Polokalap | Stardance
Devlogs:
Created logger! (wow so cool!) It supports info , warn and error with their colors in the console. Every log gets written to the disk, and old logs get compressed via Xz to save space.
Made logging and zipping async!
Added player skin downloading Now it can download your from your username, and formats it into your head. The following images are made:
Added sidebar It can be closed, opened and is animated!
I need to devlog so I don’t lose the value of my hours. Started making the instances menu and I tried to add animations but it didn’t really work. Yes I know it’s off
Instances menu Now all your instances will show up here :3
Added new instance button Also fixed some bugs :]
Optimization I optimized instances loading and animating....
|
1793159375.4131532
|
1793764175.4131532
|
|
39903
|
Navi by @weeewwwwwwww | Stardance
|
weeewwwwwwww
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T10:59:05Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Navi is a simple open source habit tracking / journaling app with some quality of life features like screen time and focus / sleep sessions I worked on it in the summer Hope u like it :) It doesn’t need setup but to make sure all the features work please enable all permission and check settings if all stuff is working like it’s meant to", "repo": "https://github.com/notwewnothing/Navi", "demo": "https://github.com/notwewnothing/Navi/releases/tag/v1.0.1"}]...
|
[{"post_id": 71123, "ts": "202 [{"post_id": 71123, "ts": "2026-09-20T10:11:57Z", "hours": 4.6764, "text": "The end Umm this devlog is gonna be small since i forgot A LOT of the stuff i did and it’s just to register my time School started and i wasn’t able to do much since (i had a deadline in my mind for the project but i ended up passing it and now idk what to do) I don’t really think i added important stuff they were mostly UX changes + new small features, here is a list of the commits , sorry this wasn’t a proper devlog , after this i will be releasing the project and shipping it I hope i find time to come back and complete all the ideas i had for this but for now i need to focus on my studies"}, {"post_id": 59702, "ts": "2026-09-01T16:58:09Z", "hours": 5.3219, "text": "Devlog #8: Redesign I’ve been exclusively redesigning the app improving on the UI and UX experience , I do think it still has a long way to go I’ve restructured the Home screen I kept trying lots of designs but the one ur looking at RN the one that stuck I’ve got heavy inspo from HabitKit app especially in the habit commitment boards , fixed some of the spacing issues in the pop ups , added upload bar to indicate uploading videos progress and video controls I do have AA LOOOTT more to work on probably sm small cool features Ummmm, that’s ittt iggg , Take care <3"}, {"post_id": 52671, "ts": "2026-08-22T22:45:55Z", "hours": 2.3983, "text": "Devlog #7: NothingOS Sooo since the app was in a state i liked i had to restyle it so it looks how i envisioned it and nglll it’s pulling nicely I decided to go with nothingOS style cuz idk it looked clean and professional at the time I stole a font off the internet and made with it the top header text for the screens and i will be gradually replacing the old font with this one I worked first on the navbar cuz it looked the most ugly , it’s still a concept but i think i will be going with the capsule design with some changes , i also worked on the habits screen , there are sommeee issueues but overall it’s wayyy better than the old one , Ummmm i don’t think i did other stuff thooo Soooo byyyeee"}, {"post_id": 48185, "ts": "2026-08-16T14:11:27Z", "hours": 1.3858, "text": "Devlog #6: PRODUCTION READYYYYYY the app backend and functions are all completed ,I made sure the permissions and all stuff was working ngl i was tempted to just build the apk and push it to github buuuttttttt that wasn’t the plan Soo noow i’ll have to change the UI , it’s not thatttt badd RN but i still do think a lot of it is a bit cornyyy so at least imma have to change the structure of some of the screens :D that’ss itt iggg bye"}, {"post_id": 46595, "ts": "2026-08-13T22:52:24Z", "hours": 1.7533, "text": "Devlog #5: yyaay a real devlog I must larrrppp , there is nooo limit to the larrrpp yeee an other day locked INNNN since i did everything today i can acually document what i did which was working on the screen stats screen (which isn’t in the screenshot) and that’s for a good reason (imma change it later , i mean it worksss :/ kkinddaaaa )the biggest issue with it is with the icons i tried fixing it but gave up quicky and moved on to the 2nnddd thing i did today which was sfx which ik sounds weird for a journal app but idk i thought they would be coool and add character to the app , it was relatively easy to generate them (yess the sounds are generated through code) i also added sleep and focus timer screens , they are basically the same thing but with some different values , i also completed both the settings and home screens which were just placeholders just till now , last thing added was the glitch boot sequence it’s a simple text animation at the startup added it for fun ngl Ummmmm now ik this sounds like A LOT of progress for less than 2 hours of work which would be suspicious if my last project didn’t have timer and stats screens already in it so for the most part the backend was straight up copied and the UI was the same structure with minor changes to the font and color scheme so new stuff are only the sfx and boot sequence which i only added for fun :))) okkkk sooo see yaa in the next devlog were are getting to the endd yipppiiiie imma have to do the redesign tho"}, {"post_id": 46067, "ts": "2026-08-13T00:43:07Z", "hours": 4.7158, "text": "Devlog #4: I should devlog more fr ummm nearly 5 hours without a single devlog welll oooppppss :/ anywayyys let’s not worryyy about small old mistakes , yk forget the past embrace the moment soooo what did i do past 5 days , loooots of changes more importantly full alarm , schedule annnddddd app blocking logiccc , the schedule screen was the biggest and most time consuming feature yet it had scheduled app blocking , alarms and much more (ye that’s it i might add more later tho ) ngl this devlog might not be the most detailed since i was planning one in the 3 hours mark after i completed the schedule buttttt forgot about annd started commiting changes the next day i did change some less important stuff like adding a notification system and some android native code for the vibration system with the alarm the app does feel and look like an unorganized prototype so i am working now on just adding the features i am gonna need later and building a solid backed for them so later i can easily make a redesign and changes to make the app actually work and look clean that’s it for noww byeeeeeee <3333"}, {"post_id": 43647, "ts": "2026-08-09T01:08:37Z", "hours": 4.1842, "text": "Devlog #3: Ummm hii lolll :3 i may or may have not done a lot of work without documenting any of it , ooopssieeee I have been of vacation for a couple of days so i really wasn’t able to do a lot of stuff , buttt thennn for sm reason i locked in one night and completed BOTH THE JOURNAL AND HABIT TRACKER soooo basically i woke up early today for sm reason and decided to spend the full morining working on it It’s not as impressive as u think tho , since i have already laid out most of the backend since it’s a part i am very familiar with and sure of unlike the UI which for now it’s obvious that i’m going developer / terminal vibe but i might do a WHOLE redesign and change it to smt lile nothingOS or smt Next would be schedule screen and maybe screen time stats idk Ummm i lowkey watched the entirety of house MD in the days off Ye that’s ittttt seee yaaa in the next one"}, {"post_id": 36743, "ts": "2026-07-29T00:15:06Z", "hours": 2.2719, "text": "Devlog #2: Started customizing the UI giving it TUI look , in the home screen and a setting screen which i have started developing backend for settings menu For now i have aded a font size feature and a session counter that logs number of times the user opens the app Ummmmm what elseeeee What’s next : Prob gonna start working on the habits page making it look the same as the other parts of the app instead of placeholder UI alongside making backend for it That’s it twinn see ya in the next devlog"}, {"post_id": 36276, "ts": "2026-07-28T08:40:43Z", "hours": 1.6708, "text": "Devlog #1 : UI Stuff Yooo twinn, started working on the UI backend ( defining color palettes , generating and creating Icons , creating variables for settings for later use) Also added simple Habits page but no backend yet just Placeholder UI idk what to say else ✌️ bye twin"}, {"post_id": 35888, "ts": "2026-07-27T16:42:41Z", "hours": 1.1892, "text": "Devlog #0 : New Start Hiiiiiiiii, i got borrreed waiting for payout on my macondo project (it’s been 15 days under review ;( damn ) Sooo the issue was right after i submitted my project i had lots of cool ideas for it buuuutttt i couldn’t add any devlogs or stufff , soooooo the past week i’ve been thinking and ngl i’ve came up with so much it’s easily farrr more than a single update but rather i’d have to rewrite the whole thing soooooo THAT’s WHAT WE ARE DOING SOooo Sayyy hii to Naviii ( yes ik very original and deff not larping lain ) IDK how to describe it and ik this is going to sound veryyy cornnyyy buttt this app tries to be the ultimate digital handy tool , it will have a calendar giving reminders , a VERYYY ANNOYING ALARMMM for you to wake up, focus sessions , blocking apps and ofc habit tracking Ik this sounds extremely unrelistically optimitic but ngl i had the realization that most of summer is out so i need to LOCK TF IN , cuz ngl i wished i had an app like this when i was studying and I AM NOT GOING BACK TO THE WAY I WAS , I NEED THIS APP soooo enough yapping"}]...
|
Title: Navi by @weeewwwwwwww | Stardance
Devlogs: Title: Navi by @weeewwwwwwww | Stardance
Devlogs:
Devlog #0 : New Start Hiiiiiiiii, i got borrreed waiting for payout on my macondo project (it’s been 15 days under review ;( damn ) Sooo the issue was right after i submitted my project i had lots of cool ideas for it buuuutttt i couldn’t add any devlogs or stufff , soooooo the past week i’ve been thinking and ngl i’ve came up with so much it’s easily farrr more than a single update but rather i’d have to rewrite the whole thing soooooo THAT’s WHAT WE ARE DOING SOooo Sayyy hii to Naviii ( yes ik very original and deff not larping lain ) IDK how to describe it and ik this is going to sound veryyy cornnyyy buttt this app tries to be the ultimate digital handy tool , it will have a calendar giving reminders , a VERYYY ANNOYING ALARMMM for you to wake up, focus sessions , blocking apps and ofc habit tracking Ik this sounds extremely unrelistically optimitic but ngl i had the realization that most of summer is out so i need to LOCK TF IN , cuz ngl i wished i had an app like this when i was studying and I AM NOT GOING BACK TO THE WAY I WAS , I NEED THIS APP soooo enough yapping
Devlog #1 : UI Stuff Yooo twinn, started working on the UI backend ( defining color palettes , generating and creating Icons , creating variables for settings for later use) Also added simple Habits page but no backend yet just Placeholder UI idk what to say else ✌️ bye twin
Devlog #2: Started customizing the UI giving it TUI look , in the home screen and a setting screen which i have started developing backend for settings menu For now i have aded a font size feature and a session counter that logs number of times the user opens the app Ummmmm what elseeeee What’s next : Prob gonna start working on the habits page making it look the same as the other parts of the app instead of placeholder UI alongside making backend for it That’s it twinn see ya in the next devlog
Devlog #3: Ummm hii lolll :3 i may or may have not done a lot of work without documenting any of it , ooopssieeee I have been of vacation for a couple of days so i really wasn’t able to do a lot of stuff , buttt thennn for sm reason i locked in one night and completed BOTH THE JOURNAL AND HABIT TRACKER soooo basically i woke up early today for sm reason and decided to spend the full morining working on it It’s not as impressive as u think tho , since i have already laid out most of the backend since it’s a part i am very familiar with and sure of unlike the UI which for now it’s obvious that i’m going developer / terminal vibe but i might do a WHOLE redesign and change it to smt lile nothingOS or smt Next would be schedule screen and maybe screen time stats idk Ummm i lowkey watched the entirety of house MD in the days off Ye that’s ittttt seee yaaa in the next one
Devlog #4: I should devlog more fr ummm nearly 5 hours without a single devlog welll oooppppss :/ anywayyys let’s not worryyy about small old mistakes , yk forget the past embrace the moment soooo what did i do past 5 days , loooots of changes more importantly full alarm , schedule annnddddd app blocking logiccc , the schedule screen was the biggest and most time consuming feature yet it had scheduled app blocking , alarms and much more (ye that’s it i might add more later tho ) ngl this devlog might not be the most detailed since i was planning one in the 3 hours mark after i completed the schedule buttttt forgot about annd started commiting changes the next day i did change some less important stuff like adding a notification system and some android native code for the vibration system with the alarm the app does feel and look like an unorganized prototype so i am working now on just adding the features i am gonna need later and building a solid backed for them so later i can easily make a redesign and changes to make the app actually work and look clean that’s it for noww byeeeeeee <3333
Devlog #5: yyaay a real devlog I must larrrppp , there is nooo limit to the larrrpp yeee an other day locked INNNN since i did everything today i can acually document what i did which was working on the screen stats screen (which isn’t in the screenshot) and that’s for a good reason (imma change it later , i mean it worksss :/ kkinddaaaa )the biggest issue with it is with the icons i tried fixing it but gave up quicky and moved on to the 2nnddd thing i did today which was sfx which ik sounds weird for a journal app but idk i thought they would be coool and add character to the app , it was relatively easy to generate them (yess the sounds are generated through code) i also added sleep and focus timer screens , they are basically the same thing but with some different values , i also completed both the settings and home screens which were just placeholders just till now , last thing added was the glitch boot sequence it’s a simple text animation at the startup added it for fun ngl Ummmmm now ik this sounds like A LOT of progress for less than 2 hours of work which would be suspicious if my last project didn’t have timer and stats screens already in it so for the most part the backend was straight up copied and the UI was the same structure with minor changes to the font and color scheme so new stuff are only the sfx and boot sequence which i only added for fun :))) okkkk sooo see yaa in the next devlog were are getting to the endd yipppiiiie imma have to do the redesign tho
Devlog #6: PRODUCTION READYYYYYY the app backend and functions are all completed ,I made sure the permissions and all stuff was working ngl i was tempted to just build the apk and push it to github buuuttttttt that wasn’t the plan Soo noow i’ll have to change the UI , it’s not thatttt badd RN but i still do think a lot of it is a bit cornyyy so at least imma have to change the structure of some of the screens :D that’ss itt iggg bye
Devlog #7: NothingOS Sooo since the app was in a state i liked i had to restyle it so it looks how i envisioned it and nglll it’s pulling nicely I decided to go with nothingOS style cuz idk it looked clean and professional at the time I stole a font off the internet and made with it the top header text for the screens and i will be gradually replacing the old font with this one I worked first on the navbar cuz it looked the most ugly , it’s still a concept but i think i will be going with the capsule design with some changes , i also worked on the habits screen , there are sommeee issueues but overall it’s wayyy better than the old one , Ummmm i don’t think i did other stuff thooo Soooo byyyeee
Devlog #8: Redesign I’ve been exclusively redesigning the app improving on the UI and UX experience , I do think it still has a long way to go I’ve restructured the Home screen I kept trying lots of designs but the one ur looking at RN the one that stuck I’ve got heavy inspo from HabitKit app especially in the habit commitment boards , fixed some of the spacing issues in the pop ups , added upload bar to indicate uploading videos progress and video controls I do have AA LOOOTT more to work on probably sm small cool features Ummmm, that’s ittt iggg , Take care <3
The end Umm this devlog is gonna be small since i forgot A LOT of the stuff i did and it’s just to register my time School started and i wasn’t able to do much since (i had a deadline in my mind for the project but i ended up passing it and now idk what to do) I don’t really think i added important stuff they were mostly UX changes + new small features, here is a list of the commits , sorry this wasn’t a proper devlog , after this i will be releasing the project and shipping it I hope i find time to come back and complete all the ideas i had for this but for now i need to focus on my studies
Ships:
Navi is a simple open source habit tracking / journaling app with some quality of life features like screen time and focus / sleep sessions I worked on it in the summer Hope u like it :) It doesn’t need setup but to make sure all the features work please enable all permission and check settings if all stuff is working like it’s meant to...
|
1793152077.753572
|
1793238477.753572
|
|
41893
|
Nuclear by @Rajveer0123n | Stardance
|
Rajveer0123n
|
2
|
30.0
|
223
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T14:33:18Z", "hours": 12.0, "multiplier": 2.41, "payout": 29, "blessing": "neutral", "text": "I built a Number Guessing Challenge game with multiple difficulty levels, a clean and responsive interface, sound effects, and a strategy helper that helps players make more efficient guesses. The goal is simple: players choose a difficulty, try to identify the hidden number, and use the feedback provided after each guess to narrow down the possible range. Since the initial version, I expanded the game with three game modes — Normal, One Shot, and No Hint — to provide different levels of challenge. I also added an Achievements system with 10 unlockable achievements based on different in-game accomplishments, along with a dedicated Game Rules & Guide section to help new players understand the mechanics. The most challenging part was connecting the game logic, different modes, achievements, statistics, and UI while keeping the experience consistent and easy to use. I’m most proud of how the project has evolved from a simple guessing game into a more complete and polished experience.", "repo": "https://github.com/Rajveer0123n-BitCoin/Nuclear", "demo": "https://nuclear-three-blush.vercel.app"}, {"ship_num": 2, "ts": "2026-08-13T00:37:13Z", "hours": 18.0, "multiplier": 10.62, "payout": 194, "blessing": "neutral", "text": "I made a Number Guessing Challenge game with multiple difficulty levels, a clean UI, sound effects, and a small strategy helper that makes the game more interesting. The hardest part was connecting all the game logic with the UI and making everything feel smooth. I’m most proud of the overall experience and how polished it looks now. To test it, choose a difficulty, enter a guess, and keep playing until you find the hidden number.", "repo": "https://github.com/Rajveer0123n-BitCoin/Nuclear", "demo": "https://nuclear-three-blush.vercel.app"}]...
|
[{"post_id": 59588, "ts": "202 [{"post_id": 59588, "ts": "2026-09-01T14:28:13Z", "hours": 4.8922, "text": "GUYSSSS, I THOUGHT I WAS DONE…BUT STARSHIP SAID ADD MORE FEATURES SOOOO I WENT BACK TO WORKk I’ve now added some new game modes — Normal Mode, One Shot, and No Hint — mainly to make the game more difficult and give players more ways to play 👀🔥 I’ve ALSO added an Achievements Section, where players have to complete 10 different tasks to unlock the achievements!! ANDDD for the new players, I’ve added a proper Game Rules + Guide section so they actually know what they’re supposed to do 😭At this point the project keeps getting bigger and bigger… BUT WE KEEP GOINGGGG 🚀🔥 AND Now i think i am ready to ship again GOOOOOOOOOO"}, {"post_id": 56519, "ts": "2026-08-28T09:56:12Z", "hours": 4.0014, "text": "GUYSSSS, I THOUGHT MY PROJECT WAS FINISHED BUT THEN I WAS LIKE…NAHHHH WE CAN ADD MORE So I’ve decided to add some new modes to the project like One Try Guess, Fast Guess and a few more 👀 For now, I’m working on One Try Guess…let’s see how this turns out MORE FEATURES = MORE WORK…"}, {"post_id": 51630, "ts": "2026-08-21T12:36:52Z", "hours": 1.14, "text": "Devlog-17 SO humans I😭 I’VE RESTORED MY OLD DESIGN FROM GITHUB AND THANK GOD THIS FEATURE EXISTS 💀🙏After all that chaos, I finally got my original design back and I can FINALLYYYY say…MY PROJECT IS COMPLETE 🚀🔥NOW IT’S TIME TO SHIPPPPP 😭"}, {"post_id": 47950, "ts": "2026-08-16T06:51:53Z", "hours": 1.1556, "text": "Devlog-15 BROSSSS, I finally learned how to make READMEs from the Stardance resources 🔥 and updated my GitHub README with everything needed for SHIP!! ALSOOO, I removed all the AI-generated code from my project. I only used AI for formatting and variable names with Prettier, so the actual code is mine 😭🔥 WE’RE GETTING CLOSER TO SHIPPP 🚀"}, {"post_id": 47419, "ts": "2026-08-15T10:45:55Z", "hours": 0.8881, "text": "Devlog-16 BROOOO 😭 I literally had to CHANGE MY WHOLE DESIGN because my README was AI-made and now the officials thought the design was also AI inspired 💀 So yeah…ALL THAT EFFORT…GONE 😭 I’m honestly feeling like everything I worked on was wasted, but ig there’s nothing to do except start fixing it and make the design properly mine this time. pain. . 😭"}, {"post_id": 45949, "ts": "2026-08-12T19:22:43Z", "hours": 0.4761, "text": "Devlog-14 finally finished"}, {"post_id": 45929, "ts": "2026-08-12T18:26:33Z", "hours": 1.1928, "text": "Devlog — 12- Help Modal Progress At this pace, the whole project might actually be finished in 2–3 days"}, {"post_id": 45246, "ts": "2026-08-11T16:15:06Z", "hours": 3.1628, "text": "I have completed my stats part that’s actually statsmodal , it took way more time than i thought.."}, {"post_id": 44731, "ts": "2026-08-10T17:47:00Z", "hours": 2.2089, "text": "Devlog 10 Finally finished App.tsx 😭. I honestly don’t even know why I left it half-done in the middle, but it’s finally complete now. Right now I’m working on the Win Screen, trying different layouts and animations so it actually feels satisfying when you win. Still tweaking the design, but it’s starting to look pretty clean."}, {"post_id": 44070, "ts": "2026-08-09T16:14:50Z", "hours": 3.1528, "text": "Devlog 9 Worked on GameArea today. Added the guess input, feedback messages, a small helper for the bisect strategy, and a visual bar history for previous guesses. The game feels way more interactive now and is starting to come together nicely."}, {"post_id": 41940, "ts": "2026-08-06T13:58:29Z", "hours": 1.3217, "text": "Devlog 8 – Added Difficulty Selector and Game Area Today I completed two major UI components for the Number Guess game: DifficultySelector.tsx and GameArea.tsx. The difficulty selector now includes interactive cards for Easy, Medium, Hard, and Extreme modes, giving players a clear way to choose the challenge level. I also built the main game area, which includes the guess input system, feedback banner, bisect strategy helper, and a visual history bar to track previous guesses. These additions make the gameplay more interactive, informative, and user-friendly while improving the overall experience of the game."}, {"post_id": 41465, "ts": "2026-08-05T18:03:51Z", "hours": 0.7, "text": "Devlog 7 – Added Header Component and Difficulty Selection Today I created and improved the Header.tsx component for the Number Guess game. I added a structured header section to improve the overall layout and user experience. I also implemented difficulty selectors, allowing players to choose different challenge levels before starting the game. This adds more variety to the gameplay and creates a better experience for different types of players. With the header and difficulty system completed, the game now has a more organized interface and a more customizable gameplay experience."}, {"post_id": 40827, "ts": "2026-08-04T16:24:52Z", "hours": 1.0553, "text": "Devlog 6 – Added Victory Confetti Animation Today I created src/components/ConfettiCanvas.tsx to add a victory celebration effect to the Number Guess game. I implemented an HTML5 canvas-based confetti animation that appears when the player wins the game. The animation uses particle effects to create a more rewarding and visually exciting celebration, making the game feel more polished and interactive."}, {"post_id": 40120, "ts": "2026-08-03T14:53:06Z", "hours": 1.1533, "text": "Devlog 5 – Completed the Utils Folder Today I completed the Utils folder for the Number Guess game. I added the core game logic that handles the main gameplay mechanics, including processing guesses, checking results, and managing the game flow. I also integrated the sound system to provide audio feedback for different game events, making the overall experience more interactive and engaging. With the utility layer completed, the project now has a stronger foundation, and I can move on to refining the gameplay, improving the user experience, and polishing the final features."}, {"post_id": 39578, "ts": "2026-08-02T17:10:38Z", "hours": 1.4428, "text": "Today I completed the design phase of the Number Guess game. I focused on creating a clean and modern interface with a structured layout that is easy to use and visually appealing. The overall design is now in place, including the main game container, input section, buttons, and feedback area. With the UI completed, the next step is to implement the game logic in JavaScript, including random number generation, guess validation, score tracking, and win/lose conditions."}, {"post_id": 39235, "ts": "2026-08-02T02:09:37Z", "hours": 1.2194, "text": "Today I set up the package.json file for the project. This establishes the project configuration and creates a proper foundation for future development. Having package.json in place will make it easier to manage the project structure and add any tools or dependencies needed as the Number Guess game grows"}, {"post_id": 38157, "ts": "2026-07-31T12:23:05Z", "hours": 0.6125, "text": "Today I decided to change the direction of my project. Instead of continuing with the calculator idea, I switched to building a Number Guess game. I felt that this would be a better project for learning JavaScript logic, user interaction, and game mechanics while still creating a polished web application. I started the new project structure and created a fresh index.html file from scratch. The basic HTML layout has been set up, and this file will become the foundation of the game interface. The goal is to create a modern and engaging number guessing game with a clean design, responsive layout, and interactive gameplay. This marks a fresh start for the project, and the next steps will focus on styling the interface with CSS and implementing the core game logic in JavaScript, including random number generation, user guesses, score tracking, and feedback messages."}, {"post_id": 37639, "ts": "2026-07-30T14:58:52Z", "hours": 0.5222, "text": "Today I officially started my Nuclear calculator project for Hack Club Stardance. The first part of the work focused on setting up a clean development environment and creating the basic structure of the project. I created a new project folder, initialized a Git repository, connected it to a new GitHub repository, and configured Hackatime so that development time could be tracked correctly. I also created the initial project structure with the src and public directories, a README.md, and a .wakatime-project file. After the setup was complete, I began building the calculator interface. I created the index.html file and finished the basic HTML structure for the application. The layout includes the foundation for the calculator display, input area, and button grid, which will serve as the base for future scientific and advanced features. The goal is to build a modern, elegant calculator with a premium user interface rather than a simple basic calculator. With the project now connected to GitHub and Hackatime successfully tracking coding hours, the development environment is fully ready for the next stage. The next devlog will focus on designing the calculator’s visual appearance using CSS and implementing the first interactive functionality with JavaScript."}]...
|
Title: Nuclear by @Rajveer0123n | Stardance
Devlo Title: Nuclear by @Rajveer0123n | Stardance
Devlogs:
Today I officially started my Nuclear calculator project for Hack Club Stardance. The first part of the work focused on setting up a clean development environment and creating the basic structure of the project. I created a new project folder, initialized a Git repository, connected it to a new GitHub repository, and configured Hackatime so that development time could be tracked correctly. I also created the initial project structure with the src and public directories, a README.md, and a .wakatime-project file. After the setup was complete, I began building the calculator interface. I created the index.html file and finished the basic HTML structure for the application. The layout includes the foundation for the calculator display, input area, and button grid, which will serve as the base for future scientific and advanced features. The goal is to build a modern, elegant calculator with a premium user interface rather than a simple basic calculator. With the project now connected to GitHub and Hackatime successfully tracking coding hours, the development environment is fully ready for the next stage. The next devlog will focus on designing the calculator’s visual appearance using CSS and implementing the first interactive functionality with JavaScript.
Today I decided to change the direction of my project. Instead of continuing with the calculator idea, I switched to building a Number Guess game. I felt that this would be a better project for learning JavaScript logic, user interaction, and game mechanics while still creating a polished web application. I started the new project structure and created a fresh index.html file from scratch. The basic HTML layout has been set up, and this file will become the foundation of the game interface. The goal is to create a modern and engaging number guessing game with a clean design, responsive layout, and interactive gameplay. This marks a fresh start for the project, and the next steps will focus on styling the interface with CSS and implementing the core game logic in JavaScript, including random number generation, user guesses, score tracking, and feedback messages.
Today I set up the package.json file for the project. This establishes the project configuration and creates a proper foundation for future development. Having package.json in place will make it easier to manage the project structure and add any tools or dependencies needed as the Number Guess game grows
Today I completed the design phase of the Number Guess game. I focused on creating a clean and modern interface with a structured layout that is easy to use and visually appealing. The overall design is now in place, including the main game container, input section, buttons, and feedback area. With the UI completed, the next step is to implement the game logic in JavaScript, including random number generation, guess validation, score tracking, and win/lose conditions.
Devlog 5 – Completed the Utils Folder Today I completed the Utils folder for the Number Guess game. I added the core game logic that handles the main gameplay mechanics, including processing guesses, checking results, and managing the game flow. I also integrated the sound system to provide audio feedback for different game events, making the overall experience more interactive and engaging. With the utility layer completed, the project now has a stronger foundation, and I can move on to refining the gameplay, improving the user experience, and polishing the final features.
Devlog 6 – Added Victory Confetti Animation Today I created src/components/ConfettiCanvas.tsx to add a victory celebration effect to the Number Guess game. I implemented an HTML5 canvas-based confetti animation that appears when the player wins the game. The animation uses particle effects to create a more rewarding and visually exciting celebration, making the game feel more polished and interactive.
Devlog 7 – Added Header Component and Difficulty Selection Today I created and improved the Header.tsx component for the Number Guess game. I added a structured header section to improve the overall layout and user experience. I also implemented difficulty selectors, allowing players to choose different challenge levels before starting the game. This adds more variety to the gameplay and creates a better experience for different types of players. With the header and difficulty system completed, the game now has a more organized interface and a more customizable gameplay experience.
Devlog 8 – Added Difficulty Selector and Game Area Today I completed two major UI components for the Number Guess game: DifficultySelector.tsx and GameArea.tsx. The difficulty selector now includes interactive cards for Easy, Medium, Hard, and Extreme modes, giving players a clear way to choose the challenge level. I also built the main game area, which includes the guess input system, feedback banner, bisect strategy helper, and a visual history bar to track previous guesses. These additions make the gameplay more interactive, informative, and user-friendly while improving the overall experience of the game.
Devlog 9 Worked on GameArea today. Added the guess input, feedback messages, a small helper for the bisect strategy, and a visual bar history for previous guesses. The game feels way more interactive now and is starting to come together nicely.
Devlog 10 Finally finished App.tsx 😭. I honestly don’t even know why I left it half-done in the middle, but it’s finally complete now. Right now I’m working on the Win Screen, trying different layouts and animations so it actually feels satisfying when you win. Still tweaking the design, but it’s starting to look pretty clean.
I have completed my stats part that’s actually statsmodal , it took way more time than i thought..
Devlog — 12- Help Modal Progress At this pace, the whole project might actually be finished in 2–3 days
Devlog-14 finally finished
Devlog-16 BROOOO 😭 I literally had to CHANGE MY WHOLE DESIGN because my README was AI-made and now the officials thought the design was also AI inspired 💀 So yeah…ALL THAT EFFORT…GONE 😭 I’m honestly feeling like everything I worked on was wasted, but ig there’s nothing to do except start fixing it and make the design properly mine this time. pain. . 😭
Devlog-15 BROSSSS, I finally learned how to make READMEs from the Stardance resources 🔥 and updated my GitHub README with everything needed for SHIP!! ALSOOO, I removed all the AI-generated code from my project. I only used AI for formatting and variable names with Prettier, so the actual code is mine 😭🔥 WE’RE GETTING CLOSER TO SHIPPP 🚀
Devlog-17 SO humans I😭 I’VE RESTORED MY OLD DESIGN FROM GITHUB AND THANK GOD THIS FEATURE EXISTS 💀🙏After all that chaos, I finally got my original design back and I can FINALLYYYY say…MY PROJECT IS COMPLETE 🚀🔥NOW IT’S TIME TO SHIPPPPP 😭
GUYSSSS, I THOUGHT MY PROJECT WAS FINISHED BUT THEN I WAS LIKE…NAHHHH WE CAN ADD MORE So I’ve decided to add some new modes to the project like One Try Guess, Fast Guess and a few more 👀 For now, I’m working on One Try Guess…let’s see how this turns out MORE FEATURES = MORE WORK…
GUYSSSS, I THOUGHT I WAS DONE…BUT STARSHIP SAID ADD MORE FEATURES SOOOO I WENT BACK TO WORKk I’ve now added some new game modes — Normal Mode, One Shot, and No Hint — mainly to make the game more difficult and give players more ways to play 👀🔥 I’ve ALSO added an Achievements Section, where players have to complete 10 different tasks to unlock the achievements!! ANDDD for the new players, I’ve added a proper Game Rules + Guide section so they actually know what they’re supposed to do 😭At this point the project keeps getting bigger and bigger… BUT WE KEEP GOINGGGG 🚀🔥 AND Now i think i am ready to ship again GOOOOOOOOOO
Ships:
I made a Number Guessing Challenge game with multiple difficulty levels, a clean UI, sound effects, and a small strategy helper that makes the game more interesting. The hardest part was connecting all the game logic with the UI and making everything feel smooth. I’m most proud of the overall experience and how polished it looks now. To test it, choose a difficulty, enter a guess, and keep playing until you find the hidden number.
I built a Number Guessing Challenge game with multiple difficulty levels, a clean and responsive interface, sound effects, and a strategy helper that helps players make more efficient guesses. The goal is simple: players choose a difficulty, try to identify the hidden number, and use the feedback provided after each guess to narrow down the possible range. Since the initial version, I expanded the game with three game modes — Normal, One Shot, and No Hint — to provide different levels of challenge. I also added an Achievements system with 10 unlockable achievements based on different in-game accomplishments, along with a dedicated Game Rules & Guide section to help new players understand the mechanics. The most challenging part was connecting the game logic, different modes, achievements, statistics, and UI while keeping the experience consistent and easy to use. I’m most proud of how the project has evolved from a simple guessing game into a more complete and polished experience....
|
1793206202.071157
|
1793292602.071157
|
|
43024
|
nwwm by @pinetree182 | Stardance
|
pinetree182
|
1
|
30.0
|
496
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T02:18:12Z", "hours": 30.0, "multiplier": 16.48, "payout": 496, "blessing": "neutral", "text": "I made nwwm, a simple tiling window manager for the X windowing system, a popular display server for Linux. Its job is basically to decide where windows go on the screen and how they should look, as well as listen to keypresses and decide what should happen. I ran into quite a few issues since I was using Rust which is not a language I’m 100% familiar with, and this was also my first proper systems-level project, but I managed to pull through and I’m really happy with where nwwm has gotten. Some features include: Tiling Multiple workspaces Support for docked windows, like statusbars Config loading from ~/.config/nwwm/config.toml Configurable keybinds (Barebones) EWMH support Since this is a Linux project, I know that most people won’t be able to test it so I’ve made a small video showing off some of the core features. You can view this video on the website, just scroll down to the “Demo” section and play the video.", "repo": "https://github.com/annaxiomm/nwwm", "demo": "https://annaxiomm.github.io/nwwm"}]...
|
[{"post_id": 72932, "ts": "202 [{"post_id": 72932, "ts": "2026-09-24T02:13:03Z", "hours": 5.9592, "text": "devlog #8 - the end is near stardance is coming to a close, the school holidays are nearing, and I’m running out of things to add to nwwm so I think I’m going to ship it here. I’m really happy with how far I’ve come in this project and I’ve learned a ton about X11, Rust, and myself. GAPS!! every good modern tiling window manager has gaps, so naturally I added them to nwwm. you can configure them in the config.toml through the gaps_inner and gaps_outer rules. gaps_inner controls the gaps between the windows themselves, and gaps_outer controls the gaps between the windows and the outer edge of the screen. other essentials I also added the ability to move windows between two workspaces. you can now set keybinds with the movetoworkspace <workspace> action to move the currently focused window to <workspace> . this was fairly easy to implement but I did run into a bug where the wm wasn’t correctly selecting a new window to focus after the focused window was moved to another workspace. I also finally added the ability to move focus backwards instead of just forwards, which you can do with the focus last action. promotional material I also sunk a few hours into making a cool little website for nwwm. it’s pretty generic but it gets the job done, and has a demo, config, screenshot, project description, and an example config file. you can see the website at annaxiomm.github.io/nwwm . finally, I made a simple logo in the form of a compass (because nwwm stands for N orth W est W indow M anager ) next steps ship it cash in my loot"}, {"post_id": 67018, "ts": "2026-09-13T01:49:32Z", "hours": 1.0403, "text": "devlog #7 - sanity check a bit of a short devlog here, but I decided to take a break from programming to make the repo look a bit more presentable (I’m planning to ship soon so it needs to look good for the camera!) README changes the existing README was quite barebones so I fully fleshed it out with a bunch of new stuff, including a proper testing tutorial, configuration help, and an entire section dedicated to what’s wrong with the project and what I’m going to fix when I decide to try and rewrite this bowl of spaghetti at some point next steps cleaning up the project, writting code comments, etc polishing up the project with some final features, like vanity gaps making a landing page for the wm because I know that when it comes time to ship, most people won’t be able to try out nwwm for themselves so I want to make a little showcase (so I don’t get a bad grade for usability!)"}, {"post_id": 66302, "ts": "2026-09-12T02:00:06Z", "hours": 3.9894, "text": "devlog #6 - CONFIGURATION!!! adding a config file has been in the next steps of just about every devlog i’ve made, and i finally got around to doing it! config.toml nwwm wouldn’t be a cliche rust project without a config.toml . but in all seriousness, i really like toml as a configuration language and it integrates really cleanly with rust anyway. so far, you can set parameters like window border, mod key, and default layout in $HOME/.config/nwwm/config.toml and nwwm will read those and apply them at runtime. unfortunately, config isn’t reloadable at the moment (next step?). you can also configure keybinds and even startup commands! i would really have liked to have lua scripting as a config but it’s just a bit too hard for a first wm project. the error handling is pretty hairy at the moment but i’ll fix that soon i promise other stuff i’ve changed not much else happened, but i added a feature where debug logging only happens if you run nwwm with -v or --verbose . next steps better error handling in config loading config re loading at runtime better documentation (maybe a website?)"}, {"post_id": 64645, "ts": "2026-09-09T06:37:27Z", "hours": 6.4375, "text": "devlog #5 - self hosted? ok it’s been quite a while since my last devlog but i’ve added a ton of new stuff - to the point where nwwm might become my main window manager soon! docks n’ struts “what even are those?” i hear you ask, and fear not because i am here to answer. a docked window is any kind of window that isn’t tiled, doesn’t belong to any workspace, and reserves space on the screen that other windows can’t take up. a really common example is a status bar: it persists between desktops, and reserves space on the screen. a strut is basically the space on the screen that it reserves. i implemented support for this so you can now use your favourite status bar with nwwm! i also spent like 3 hours debugging an error that happened sometimes when you closed a docked window, and ended up fixing it by complete accident workspaces 🧰 a window manager is basically useless without workspaces, so naturally i’ve added them to nwwm. they were actually quite easy to implement since i’ve technically supported them since day 1 i just never added workspace switching. basically when you switch a workspace it checks to see if the workspace exists, then it unfocuses the current window, unmaps (hides) all the windows in the current workspace, switches to the new workspace, maps (shows) all the windows in the new workspace, and focuses the first window in the new workspace. phew, try saying that in one breath! status bar compatibility as i mentioned earlier, i added struts and docks so that status bars can reserve space on the screen, but i also added some ewmh hints that allow status bars to see and change the current desktop. this was really easy, i just had to add some atoms and listen for ClientMessage events, and then connect those to my existing code next steps config file loading more ewmh 😭"}, {"post_id": 46047, "ts": "2026-08-12T23:48:13Z", "hours": 3.6097, "text": "devlog #4 - +10 usability! we’re now shifting from the realm of “experimental” to “experimental but usable ”. i’ve added a ton of new features recently and i’m really happy with how nwwm is coming together. actually good tiling i’ve added 2 new tiling layouts: monocle, and master/stack. monocle is the easiest to understand: all windows are the same size as the screen, and the currently focused window is brought to the front. master/stack is the traditional layout you see in wms like dwm, where there is a “master” window that takes up half of the screen and the rest split vertically (or “stack”) on the other half of the screen. i also added keybinds that switch between layouts revamped keybind system previously, the keybind system was just using raw x11 keycodes which were really annoying because they don’t match up with any other system (25 = w??) and are keymap-dependant. so, i switched to using xkbcommon and now keybinds are defined with more human-readable keysyms like KEY_w or KEY_Return . i also implemented a small command runner system so now you can launch commands with keybinds. so far i’ve set Mod+Enter to launch kitty and ofc these will all be configurable through the config file mysterious bugs i spent ages trying to debug some weird behaviour where bound keys wouldn’t register as keypresses if no windows had been opened in nwwm yet. after a lot of trial and error, and a few ChatGPT therapy sessions, i discovered that my error was one letter: i had keyboard_mode in the global mouse grab (which i need for click to focus) set to GrabMode::Sync instead of GrabMode::Async (fml) next steps more usability (moving windows, closing windows) better EWMH compliance support for temporary and permanent floating windows (i.e. tiled windows that you make float, and windows that only float like rofi) config file when?"}, {"post_id": 42968, "ts": "2026-08-07T23:32:08Z", "hours": 3.5736, "text": "devlog #3 - wow! visuals! how many times can i call conn.send_request() in one program?? config file i made a struct called Config which the wm owns, and it has values like border width, color, and keybinds. eventually it will read from a config.toml file but for now it’s all hard coded in the source code. window borders windows now have borders with color and width deriving from the Config (meaning they’ll be configurable through a config file at some point!). also, the currently focused window has a different border color (also configurable!) modular keybinds instead of hard-coding keybinds, i gave Config a child called Keybinds , which are hard coded in the source code… but eventually they’ll be part of the config file. when each keybind is called, it calls an Action which is linked to a function call in the wm. later there’ll be plenty of actions for anything you can think of, but for now theres only FocusNext which… focuses the next window! next steps config.toml loading better tiling (again) gaps EWMH compliance"}, {"post_id": 42307, "ts": "2026-08-06T23:15:26Z", "hours": 2.8794, "text": "devlog #2 - an actual window manager x11 is an ancient beast, full of mismatched types (screen height is a u16, window height is a u32, window position is an i32, etc), difficult protocols, and more double colons than you can shake a stick at, but i’m working through it. a (tiling) window manager i started off by storing a list of open workspaces in the main wm struct, and each workspace has a list of open windows (and a tiling layout). then, i made the wm listen for DestroyNotify events and remove them from their respective workspaces. soon after marvelling at my creation i realised that i could only see one window at a time, so i worked on implementing a basic tiling algorithm. so far, all i have is columns ( window_width = screen_width / num_of_windows ) but i’m working on adding master-stack tiling (what dwm uses) focus! i also realised that it’s no use having multiple windows if you can only use type on one, so i made each window grab the left click, and then listen for ButtonPress events, focusing the clicked window. next steps more tiling layouts cosmetic stuff (borders, gaps) keyboard shortcuts"}, {"post_id": 40452, "ts": "2026-08-03T23:38:06Z", "hours": 2.6114, "text": "devlog #1 - getting things started after working on tundra I decided that I wanted to make a window manager for an actual os instead, so I loaded arch onto an old macbook and got started. xlib woes I initially started by loosely following a tutorial that uses xlib for rust, but I soon realised that any direct mapping to C from rust is going to be an absolute horror to use (literally every function call had to be unsafe), so I switched to xcb. it has a slightly different API but it’s cleaner and i3 uses it so it must be good. current features: it runs it doesn’t crash you can open a window (by externally injecting it from a command prompt next steps: storing open windows in a struct / list basic tiling"}]...
|
Title: nwwm by @pinetree182 | Stardance
Devlogs:
Title: nwwm by @pinetree182 | Stardance
Devlogs:
devlog #1 - getting things started after working on tundra I decided that I wanted to make a window manager for an actual os instead, so I loaded arch onto an old macbook and got started. xlib woes I initially started by loosely following a tutorial that uses xlib for rust, but I soon realised that any direct mapping to C from rust is going to be an absolute horror to use (literally every function call had to be unsafe), so I switched to xcb. it has a slightly different API but it’s cleaner and i3 uses it so it must be good. current features: it runs it doesn’t crash you can open a window (by externally injecting it from a command prompt next steps: storing open windows in a struct / list basic tiling
devlog #2 - an actual window manager x11 is an ancient beast, full of mismatched types (screen height is a u16, window height is a u32, window position is an i32, etc), difficult protocols, and more double colons than you can shake a stick at, but i’m working through it. a (tiling) window manager i started off by storing a list of open workspaces in the main wm struct, and each workspace has a list of open windows (and a tiling layout). then, i made the wm listen for DestroyNotify events and remove them from their respective workspaces. soon after marvelling at my creation i realised that i could only see one window at a time, so i worked on implementing a basic tiling algorithm. so far, all i have is columns ( window_width = screen_width / num_of_windows ) but i’m working on adding master-stack tiling (what dwm uses) focus! i also realised that it’s no use having multiple windows if you can only use type on one, so i made each window grab the left click, and then listen for ButtonPress events, focusing the clicked window. next steps more tiling layouts cosmetic stuff (borders, gaps) keyboard shortcuts
devlog #3 - wow! visuals! how many times can i call conn.send_request() in one program?? config file i made a struct called Config which the wm owns, and it has values like border width, color, and keybinds. eventually it will read from a config.toml file but for now it’s all hard coded in the source code. window borders windows now have borders with color and width deriving from the Config (meaning they’ll be configurable through a config file at some point!). also, the currently focused window has a different border color (also configurable!) modular keybinds instead of hard-coding keybinds, i gave Config a child called Keybinds , which are hard coded in the source code… but eventually they’ll be part of the config file. when each keybind is called, it calls an Action which is linked to a function call in the wm. later there’ll be plenty of actions for anything you can think of, but for now theres only FocusNext which… focuses the next window! next steps config.toml loading better tiling (again) gaps EWMH compliance
devlog #4 - +10 usability! we’re now shifting from the realm of “experimental” to “experimental but usable ”. i’ve added a ton of new features recently and i’m really happy with how nwwm is coming together. actually good tiling i’ve added 2 new tiling layouts: monocle, and master/stack. monocle is the easiest to understand: all windows are the same size as the screen, and the currently focused window is brought to the front. master/stack is the traditional layout you see in wms like dwm, where there is a “master” window that takes up half of the screen and the rest split vertically (or “stack”) on the other half of the screen. i also added keybinds that switch between layouts revamped keybind system previously, the keybind system was just using raw x11 keycodes which were really annoying because they don’t match up with any other system (25 = w??) and are keymap-dependant. so, i switched to using xkbcommon and now keybinds are defined with more human-readable keysyms like KEY_w or KEY_Return . i also implemented a small command runner system so now you can launch commands with keybinds. so far i’ve set Mod+Enter to launch kitty and ofc these will all be configurable through the config file mysterious bugs i spent ages trying to debug some weird behaviour where bound keys wouldn’t register as keypresses if no windows had been opened in nwwm yet. after a lot of trial and error, and a few ChatGPT therapy sessions, i discovered that my error was one letter: i had keyboard_mode in the global mouse grab (which i need for click to focus) set to GrabMode::Sync instead of GrabMode::Async (fml) next steps more usability (moving windows, closing windows) better EWMH compliance support for temporary and permanent floating windows (i.e. tiled windows that you make float, and windows that only float like rofi) config file when?
devlog #5 - self hosted? ok it’s been quite a while since my last devlog but i’ve added a ton of new stuff - to the point where nwwm might become my main window manager soon! docks n’ struts “what even are those?” i hear you ask, and fear not because i am here to answer. a docked window is any kind of window that isn’t tiled, doesn’t belong to any workspace, and reserves space on the screen that other windows can’t take up. a really common example is a status bar: it persists between desktops, and reserves space on the screen. a strut is basically the space on the screen that it reserves. i implemented support for this so you can now use your favourite status bar with nwwm! i also spent like 3 hours debugging an error that happened sometimes when you closed a docked window, and ended up fixing it by complete accident workspaces 🧰 a window manager is basically useless without workspaces, so naturally i’ve added them to nwwm. they were actually quite easy to implement since i’ve technically supported them since day 1 i just never added workspace switching. basically when you switch a workspace it checks to see if the workspace exists, then it unfocuses the current window, unmaps (hides) all the windows in the current workspace, switches to the new workspace, maps (shows) all the windows in the new workspace, and focuses the first window in the new workspace. phew, try saying that in one breath! status bar compatibility as i mentioned earlier, i added struts and docks so that status bars can reserve space on the screen, but i also added some ewmh hints that allow status bars to see and change the current desktop. this was really easy, i just had to add some atoms and listen for ClientMessage events, and then connect those to my existing code next steps config file loading more ewmh 😭
devlog #6 - CONFIGURATION!!! adding a config file has been in the next steps of just about every devlog i’ve made, and i finally got around to doing it! config.toml nwwm wouldn’t be a cliche rust project without a config.toml . but in all seriousness, i really like toml as a configuration language and it integrates really cleanly with rust anyway. so far, you can set parameters like window border, mod key, and default layout in $HOME/.config/nwwm/config.toml and nwwm will read those and apply them at runtime. unfortunately, config isn’t reloadable at the moment (next step?). you can also configure keybinds and even startup commands! i would really have liked to have lua scripting as a config but it’s just a bit too hard for a first wm project. the error handling is pretty hairy at the moment but i’ll fix that soon i promise other stuff i’ve changed not much else happened, but i added a feature where debug logging only happens if you run nwwm with -v or --verbose . next steps better error handling in config loading config re loading at runtime better documentation (maybe a website?)
devlog #7 - sanity check a bit of a short devlog here, but I decided to take a break from programming to make the repo look a bit more presentable (I’m planning to ship soon so it needs to look good for the camera!) README changes the existing README was quite barebones so I fully fleshed it out with a bunch of new stuff, including a proper testing tutorial, configuration help, and an entire section dedicated to what’s wrong with the project and what I’m going to fix when I decide to try and rewrite this bowl of spaghetti at some point next steps cleaning up the project, writting code comments, etc polishing up the project with some final features, like vanity gaps making a landing page for the wm because I know that when it comes time to ship, most people won’t be able to try out nwwm for themselves so I want to make a little showcase (so I don’t get a bad grade for usability!)
devlog #8 - the end is near stardance is coming to a close, the school holidays are nearing, and I’m running out of things to add to nwwm so I think I’m going to ship it here. I’m really happy with how far I’ve come in this project and I’ve learned a ton about X11, Rust, and myself. GAPS!! every good modern tiling window manager has gaps, so naturally I added them to nwwm. you can configure them in the config.toml through the gaps_inner and gaps_outer rules. gaps_inner controls the gaps between the windows themselves, and gaps_outer controls the gaps between the windows and the outer edge of the screen. other essentials I also added the ability to move windows between two workspaces. you can now set keybinds with the movetoworkspace <workspace> action to move the currently focused window to <workspace> . this was fairly easy to implement but I did run into a bug where the wm wasn’t correctly selecting a new window to focus after the focused window was moved to another workspace. I also finally added the ability to move focus backwards instead of just forwards, which you can do with the focus last action. promotional material I also sunk a few hours into making a cool little website for nwwm. it’s pretty generic but it gets the job done, and has a demo, config, screenshot, project description, and an example config file. you can see the website at annaxiomm.github.io/nwwm . finally, I made a simple logo in the form of a compass (because nwwm stands for N orth W est W indow M anager ) next steps ship it cash in my loot
Ships:
I made nwwm, a simple tiling window manager for the X windowing system, a popular display server for Linux. Its job is basically to decide where windows go on the screen and how they should look, as well as listen to keypresses and decide what should happen. I ran into quite a few issues since I was using Rust which is not a language I’m 100% familiar with, and this was also my first proper systems-level project, but I managed to pull through and I’m really happy with where nwwm has gotten. Some features include: Tiling Multiple workspaces Support for docked windows, like statusbars Config loading from ~/.config/nwwm/config.toml Configurable keybinds (Barebones) EWMH support Since this is a Linux project, I know that most people won’t be able to test it so I’ve made a small video showing off some of the core features. You can view this video on the website, just scroll down to the “Demo” section and play the video....
|
1793145361.1614337
|
1793231761.1614337
|
|
43616
|
TabCli by @Amcoo | Stardance
|
Amcoo
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T12:05:03Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made TAB_CLI Its a Metro Exodus-inspired tactical command console for Google Chrome. It can monitor system RAM load like a Geiger counter, auto-group tab leaks, trigger emergency Focus Mode airlocks, freeze RAM in cryo-stasis, and vault tabs into bunker storage. 100% offline & private. I made this because it helps me with grouping tabs and so my laptop does not frezee , I made it in this style because I really like the game Metro Exodus", "repo": "https://github.com/Amertos/TAB_CLI", "demo": "https://github.com/Amertos/TAB_CLI/releases/tag/ChromeExtension"}]...
|
[{"post_id": 45718, "ts": "202 [{"post_id": 45718, "ts": "2026-08-12T12:02:36Z", "hours": 0.2889, "text": "Final Devlog for this version sooooo Please test and tell me any issues you have also this meter for RAM is not 100% correct because i dont want to get in you system for RAM you now what i am talking about but this is approximately"}, {"post_id": 42627, "ts": "2026-08-07T13:30:54Z", "hours": 28.1769, "text": "DevLog 3: I Had SOOOO MUCH Bugs and stuff to fix and this took a long time because i had other time to do DONT LOOK AT THE TIME LOGGED I DIDNT KNOW HOW TO FIX THESE BUGS BUT ITS OKAY The progress is good and the first version is complete This is the design i want to go with because i am inspired by the game Metro Exodus sooooooo :) I was designing this in Figma."}, {"post_id": 41040, "ts": "2026-08-04T23:39:08Z", "hours": 1.0056, "text": "DevLog numero 2:) I have started coding this project and I can say its not that hard, not much code also and I think I could finish it fast but also I want to add a lot of options to make it stand out and also make a UI that makes this Chrome extension different…. So for coding this I use HTML, CSS and JavaScript.I have added some sites that it can understand alone but others it will just make a group for them, I will add more when I start finishing it because that is fast to do . Here is how the prototype is looking. I KNOW IT LOOKS LIKE SHIT BUT BELIEVE ME I WAS JUST MAKING SURE THAT ALL FUNCTIONS AND EVERTHING WORKS THEN I CAN WORK ON UI AND UX"}, {"post_id": 40438, "ts": "2026-08-03T23:11:26Z", "hours": 0.9131, "text": "Started working on a new project that is Chrome Extension :3 this is just an architecture that i was making I know this picture was made with Gemini BECAUSE I CANT MAKE GRAPHICS LIKE THIS JUST TEXT THAT LOOKS BORING"}]...
|
Title: TabCli by @Amcoo | Stardance
Devlogs:
Star Title: TabCli by @Amcoo | Stardance
Devlogs:
Started working on a new project that is Chrome Extension :3 this is just an architecture that i was making I know this picture was made with Gemini BECAUSE I CANT MAKE GRAPHICS LIKE THIS JUST TEXT THAT LOOKS BORING
DevLog numero 2:) I have started coding this project and I can say its not that hard, not much code also and I think I could finish it fast but also I want to add a lot of options to make it stand out and also make a UI that makes this Chrome extension different…. So for coding this I use HTML, CSS and JavaScript.I have added some sites that it can understand alone but others it will just make a group for them, I will add more when I start finishing it because that is fast to do . Here is how the prototype is looking. I KNOW IT LOOKS LIKE SHIT BUT BELIEVE ME I WAS JUST MAKING SURE THAT ALL FUNCTIONS AND EVERTHING WORKS THEN I CAN WORK ON UI AND UX
DevLog 3: I Had SOOOO MUCH Bugs and stuff to fix and this took a long time because i had other time to do DONT LOOK AT THE TIME LOGGED I DIDNT KNOW HOW TO FIX THESE BUGS BUT ITS OKAY The progress is good and the first version is complete This is the design i want to go with because i am inspired by the game Metro Exodus sooooooo :) I was designing this in Figma.
Final Devlog for this version sooooo Please test and tell me any issues you have also this meter for RAM is not 100% correct because i dont want to get in you system for RAM you now what i am talking about but this is approximately
Ships:
I made TAB_CLI Its a Metro Exodus-inspired tactical command console for Google Chrome. It can monitor system RAM load like a Geiger counter, auto-group tab leaks, trigger emergency Focus Mode airlocks, freeze RAM in cryo-stasis, and vault tabs into bunker storage. 100% offline & private. I made this because it helps me with grouping tabs and so my laptop does not frezee , I made it in this style because I really like the game Metro Exodus...
|
1793101867.677268
|
1793188267.677268
|
|
50862
|
polaris-os by @kai_lmao | Stardance
|
kai_lmao
|
5
|
30.0
|
273
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T11:23:19Z", "hours": 7.0, "multiplier": 9.93, "payout": 69, "blessing": "neutral", "text": "hey everyone! After reading your reviews on my last ship, I spent time restructuring my code and adding some new features to make the OS feel much more like a real desktop. Here is what’s new: Local storage persistence: Polaris OS finally remembers your preferences! your custom accent colors and notepad entries now save automatically, so you won’t lose them when you reload the page. Achievements system: i added 5 brand-new unlockable achievements to find while exploring the OS (and yes, your progress saves via local storage too!). New dictionary app: look up any word instantly using the Openmuse API. you can use the new dictionary app, or just type define [word] straight into the terminal. Settings app & UI polish: built a dedicated Settings app to manage the OS. i also added a volume slider for the media player (which has new songs!), and hover-name overlays for taskbar apps. Performance & visual upgrades: designed a brand new, cooler loading animation, fixed the stretched confetti hitbox bug, and optimized the NASA APOD widget so high-res space images no longer lag the entire website. let me know what you think of the new apps and if you manage to unlock all the achievements!", "repo": "https://github.com/KaiTheGreat-123/polaris-os", "demo": "https://kaithegreat-123.github.io/polaris-os/"}, {"ship_num": 2, "ts": "2026-09-11T12:27:41Z", "hours": 8.0, "multiplier": 11.4, "payout": 93, "blessing": "neutral", "text": "hey guys! i’m back with more big updates for polaris! since my last ship, i’ve been juggling my exams but still managed to add some really fun new features to make the OS feel even more alive and interactive. heres a list of every single new change i added since and the issues i had with adding them: Apps Music app: the music app was pretty fun to add and made polaris less boring, but i kept running into issues with adding the ui over the default ui (the white blob which did not match polaris at all) Gallery app: the gallery app is another addition, with a few pictures related to polaris. the difficult part was adding the transitions between changing the pictures, and loading the pictures without taking hours Terminal app: the terminal app is something i took inspiration from other webos’s, and it was actually hard to add and i also kept running into a issue where i could not type in the app at all, but i fixed it all and got it working! Other changes Dynamic wallpaper: i got a few people say that the wallpaper looked a little boring, so i added stars that float around the entire wallpaper and react with your cursor! TicTacToe bot: this one was a great learning experience but just as hard, took me a while to figure out what i was doing but i finally got there in the end and built a working bot to play against! Desktop widgets: i added 2 widgets, the analog time and the NASA APOD. the analog time was pretty straight forward, but the NASA APOD was a little hard, especially with adding a fallback because any video APOD just broke the widget. For the smaller changes i just changed the logos of a few apps to look consistent, cleaned up my github repo and changed the tab title. im getting pretty close to reaching where i want polaris to be. feel free to try out all the changes! hope you enjoy them :)", "repo": "https://github.com/KaiTheGreat-123/polaris-os", "demo": "https://kaithegreat-123.github.io/polaris-os/"}, {"ship_num": 3, "ts": "2026-09-03T18:31:36Z", "hours": 7.0, "multiplier": 10.36, "payout": 75, "blessing": "neutral", "text": "hey everyone! i’m back with more updates to Polaris, my web-based space-themed OS! since my last ship, i’ve made many changes to make it feel even more like a real, immersive desktop experience right in your browser. the biggest new tool is the weather app! you can just type in your desired city and it instantly fetches the real time temperature and weather conditions using an api. the live clock on the taskbar also got an update as clicking it now smoothly slides up an interactive calendar, complete with arrows so you can actually navigate through different months! it also removes the need to have its own app in the taskbar, and feels more like windows. i also completely revamped the ui and aesthetics! everything now has a glowing purple drop shadows around the edges of the windows (kinda like underglow on a car!). the taskbar icons now smoothly scale up when you hover over them to indicate that they are selected, and clicking them makes the apps fade into existence instead of just snapping in. i also merged the welcome and links pages into one big info window to keep the desktop clean. to make the whole OS feel alive, i built a brand new animated star filling loading screen, plus i added global sound effects! there’s a satisfying startup sound when the OS finishes booting, and click sounds whenever you open apps or navigate the UI. (there’s also a fun hidden easter egg on the desktop background that triggers star confetti if you click the text!) my goal is still to turn this into a single tab with everything simple a person could need in one place. i will continue working on this project, polishing the animations, and ofc adding more apps! feel free to drag the glowing windows around, check your local weather, and play around with the confetti! i hope you like my work :)", "repo": "https://github.com/KaiTheGreat-123/polaris-os", "demo": "https://kaithegreat-123.github.io/polaris-os/"}, {"ship_num": 4, "ts": "2026-08-30T12:08:21Z", "hours": 4.0, "multiplier": 9.08, "payout": 36, "blessing": "neutral", "text": "hey everyone! i built Polaris, a web-based OS based on a space theme! it feels just like a real OS experience right here in your browser! the whole thing is built by me completely from scratch, using HTML, CSS and JavaScript. it just started out as a simple introductory project, but once i started adding more things to it, it slowly turned into a whole operating system! the first app i added was the note taker, which was a simple tool to add temporary notes and reminders inside. after that, i added more apps like the calculator, timer, and tic-tac-toe (more coming soon)! all of these apps can run at the exact same time, and you can drag them all around the screen. the taskbar at the bottom gives you easy access to open any of the available apps, complete with icons that highlight when you tap them and a live clock. feel free to check out all the apps, drag the windows around, and see if you can beat your friends at tic-tac-toe! i plan on turning into a single tab with everything simple a person could need, so instead of opening multiple apps, anyone can just open one single tab and have all the simple tools they need in one place! i will continue working on this project as time passes, and i plan to add animations to everything, add an apps window, and ofc more apps! i hope you like my work :)", "repo": "https://github.com/KaiTheGreat-123/polaris-os", "demo": "https://kaithegreat-123.github.io/polaris-os/"}, {"ship_num": 5, "ts": "2026-08-25T14:31:38Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a webOS that is themed after the Polaris star! it took me a few hours to get this far, and i am going to spend a few hours every weekend progressing it further by adding more apps, and giving it more functionality in general. a new feature i built is a taskbar on the bottom with the ability to open windows and applications, and see time from there instead of a top bar which was mentioned in the guide, so i could get a more windows/macOS feel to the webOS which is more familiar.", "repo": "https://github.com/KaiTheGreat-123/polaris-os", "demo": "https://kaithegreat-123.github.io/polaris-os/"}]...
|
[{"post_id": 70546, "ts": "202 [{"post_id": 70546, "ts": "2026-09-19T10:41:45Z", "hours": 0.7503, "text": "a few smaller changes before i ship again, there was an issue where the clickable box on the text for confetti was stretched across the entire screen, so i fixed that. Another issue that was there is that when the nasa apod was a very high res image, it made the entire website very laggy so i changed that to display url instead of the hdurl and lastly i added localstorage so polaris actually remembers a lot of the options like your notes and accent color changes that you change!"}, {"post_id": 70044, "ts": "2026-09-18T11:02:53Z", "hours": 1.4322, "text": "achievements! while thinking of ideas to add, i saw my friend unlock achievements and i thought why not add that to Polaris too? i added 5 new achievements and they even save after you reload the page! i am planning on adding localstorage to the other apps too, like settings and notepad. i also noticed that sometimes when the nasa apod is an extremely detailed of high definition image, the widget lags a lot when opening and closing. i need to find a way to fix that."}, {"post_id": 67895, "ts": "2026-09-14T06:15:19Z", "hours": 2.3103, "text": "hey guys! i have made more changes to polaris os today. firstly i added a new app! its a dictionary app and you can look up any word you like by typing it in the app, or by typing “define [word]” in the terminal. i tried to use dictionaryapi but realised its not very reliable, so the current api im using for this app is openmuse. secondly i added a new loading animation! i felt the loading star in the start felt a little boring, so i added more elements on all 4 sides of the screen so it looks way cooler! and a small change but i also added more songs into the playlist of the media player."}, {"post_id": 66404, "ts": "2026-09-12T06:51:47Z", "hours": 2.4981, "text": "back with more updates! after shipping, i checked all the reviews and got to work implementing them! i first took some help with ai to restructure and reorganize my code since it was starting to get messy and hard to read and make new changes, then i started working on new apps! currently im working on adding the settings app! i spent around 2 hours on it, and i will add more to it and polish it up soon. i also added a volume slider for the music app, and added a name overlay for the apps on the taskbar which took about 30 minutes to do. please do let me know if theres any more changes or additions i can make to improve polaris!"}, {"post_id": 65846, "ts": "2026-09-11T08:11:54Z", "hours": 4.9044, "text": "many more changes! as im getting closer to the 10 hours that count per ship im going to ship once again after this devlog, but heres a list of all the changes i made since the last devlog: Added a gallery app! now you can see different pictures related to polaris and on how to find it. (it also was taking a while to load everytime, so i made it load pictures in advance, and a error message so the user knows whats going on just incase it dosnt load) Added widgets! there are now two new widgets, the nasa apod widget and the analog clock widget. they open by default, but you can collapse them out of view if they look too distracting! (the nasa apod also had an issue where if it was a video it broke, so i made it fallback to the previous day in that case) Added a playlist to the media app so now the user can see the list of all the songs and play them from there too. Added a dynamic wallpaper, theres now stars in the wallpaper that move around and react to your cursor! (i couldnt animate the wallpaper or find a better one, so i added a layer on the wallpaper with the stars moving around to make everything feel more dynamic) Added a terminal app with simple commands! you can now open apps and more using the terminal app. Neatened up the files in github too! with multiple songs and icons the github repo started to look very very messy so i made new folders and cleaned it up!"}, {"post_id": 64266, "ts": "2026-09-08T15:22:24Z", "hours": 3.2197, "text": "i more big features to polaris! its not a lot of changes, but the features i added were difficult for me to implement cause i kept making errors, but here are all the changes i made: Added a music player app! plays a set of songs that i uploaded Added a bot to tictactoe! it was way harder than i thought, but with a bit of help i managed to get it working. players now have the option to play against someone else or against a bot. Changed the logos off a bunch of the apps to look more consistent its a bit difficult to make progress while juggling exams, but i will be making a lot more changes soon!"}, {"post_id": 60878, "ts": "2026-09-03T15:00:41Z", "hours": 0.495, "text": "A small devlog before i ship my project again but heres what i added: Added boot up, button clicking and calendar opening sound effects! (if the boot up sound does not play for you, it means that a browser security setting disabled it)"}, {"post_id": 60378, "ts": "2026-09-02T17:51:01Z", "hours": 2.6942, "text": "More changes! not as many as the last one, but here are all the changes i made: Added a boot up and loading screen! Added a weather app! type the place you want the weather of and it will show it to you! Added the feature where you can scroll thru months instead of the calendar being stuck on just the current month Added a purple hue around the windows to add more depth Changed the style of the taskbar a little bit Moved “PolarisOS” out of the taskbar and put it on the desktop instead to fill in empty space"}, {"post_id": 59402, "ts": "2026-09-01T06:31:13Z", "hours": 2.8233, "text": "After shipping my project i checked out all the ratings, and ive made a couple of changes to Polaris. Many people pointed out that it took multiple clicks to open apps, so i fixed that issue. now apps open with just one click, and they have a hover animation (when you hover over the app icon it becomes bigger) Fixed the project link not working Added animations for the windows opening and closing Added a higher resolution background Added an easter egg (hint:-click on polaris!) Added milliseconds to the timer Moved the calendar out of the taskbar and hidden away, it opens when you click on the time in the taskbar (like in windows) Merged the welcome window and links window into one information app for better organization in the taskbar Neatened up the app borders and size on the taskbar to be more visible going to start working on more apps now!"}, {"post_id": 58647, "ts": "2026-08-31T04:14:49Z", "hours": 1.2575, "text": "Calendar! polaris now has a calendar so you can check all the dates of the month! it also highlights the current date aswell. i also removed the name of the apps from the taskbar as it was starting to get cramped, and for my next task i am going to add animations to everything and make it look nicer!"}, {"post_id": 58035, "ts": "2026-08-30T11:47:25Z", "hours": 1.0839, "text": "Tic-Tac-Toe! i added yet another app, the tic-tac-toe app! polaris felt a bit boring with only utility apps in it, so i added the new app to add a bit more fun! i themed it after space too, with players being the earth and the moon. it adds more color and vibrance to polaris too!"}, {"post_id": 57320, "ts": "2026-08-29T13:08:40Z", "hours": 1.0147, "text": "added a timer! continuing on my quest of adding more apps to polaris, the newest addition is the timer. it can starts counting up and when you start it and pauses whenever you want it to, and it also is themed to match the rest of the website."}, {"post_id": 56847, "ts": "2026-08-28T19:56:49Z", "hours": 1.2189, "text": "i made a calculator! i am now adding more apps to polaris and i have started with adding a calculator which does all the simple functions, and i also neatened up the taskbar a bit by changing icon positions and adding borders around them to create uniformity!"}, {"post_id": 54963, "ts": "2026-08-26T12:16:01Z", "hours": 0.6406, "text": "i added the note taker app! now it has the ability to actually take notes, and it can be opened by double clicking and highlighted by single clicking. i also made it transparent using the blur feature and i think it goes pretty well with the rest of the OS!"}, {"post_id": 54463, "ts": "2026-08-25T14:06:52Z", "hours": 0.3336, "text": "started working on an app to implement into my web os! it does look a little whacky right now, but i will be fixing it soon and adding functionality to it."}, {"post_id": 52331, "ts": "2026-08-22T13:16:45Z", "hours": 2.1931, "text": "i added draggable windows which also open and close! i used a little bit of help from ai as i was getting confused, but i added a little bar on the top which acts as a drag box, and also has the close button on it! i also added buttons on the taskbar on the bottom so a closed window can be opened back up again! i also added the time to the taskbar, and neatened up my code a bit so its easier to understand and nicer to look at. i am proud of the progress i made!"}, {"post_id": 50953, "ts": "2026-08-20T12:53:48Z", "hours": 1.5386, "text": "Started working on my very own web-based OS! i am theming it after the star polaris, and currently it looks decent (i hope), i still have to go further and continue making it more functional and nicer, but so far i am happy with how it looks! feel free to give me ideas on how to make it look ever nicer :)"}]...
|
Title: polaris-os by @kai_lmao | Stardance
Devlog Title: polaris-os by @kai_lmao | Stardance
Devlogs:
Started working on my very own web-based OS! i am theming it after the star polaris, and currently it looks decent (i hope), i still have to go further and continue making it more functional and nicer, but so far i am happy with how it looks! feel free to give me ideas on how to make it look ever nicer :)
i added draggable windows which also open and close! i used a little bit of help from ai as i was getting confused, but i added a little bar on the top which acts as a drag box, and also has the close button on it! i also added buttons on the taskbar on the bottom so a closed window can be opened back up again! i also added the time to the taskbar, and neatened up my code a bit so its easier to understand and nicer to look at. i am proud of the progress i made!
started working on an app to implement into my web os! it does look a little whacky right now, but i will be fixing it soon and adding functionality to it.
i added the note taker app! now it has the ability to actually take notes, and it can be opened by double clicking and highlighted by single clicking. i also made it transparent using the blur feature and i think it goes pretty well with the rest of the OS!
i made a calculator! i am now adding more apps to polaris and i have started with adding a calculator which does all the simple functions, and i also neatened up the taskbar a bit by changing icon positions and adding borders around them to create uniformity!
added a timer! continuing on my quest of adding more apps to polaris, the newest addition is the timer. it can starts counting up and when you start it and pauses whenever you want it to, and it also is themed to match the rest of the website.
Tic-Tac-Toe! i added yet another app, the tic-tac-toe app! polaris felt a bit boring with only utility apps in it, so i added the new app to add a bit more fun! i themed it after space too, with players being the earth and the moon. it adds more color and vibrance to polaris too!
Calendar! polaris now has a calendar so you can check all the dates of the month! it also highlights the current date aswell. i also removed the name of the apps from the taskbar as it was starting to get cramped, and for my next task i am going to add animations to everything and make it look nicer!
After shipping my project i checked out all the ratings, and ive made a couple of changes to Polaris. Many people pointed out that it took multiple clicks to open apps, so i fixed that issue. now apps open with just one click, and they have a hover animation (when you hover over the app icon it becomes bigger) Fixed the project link not working Added animations for the windows opening and closing Added a higher resolution background Added an easter egg (hint:-click on polaris!) Added milliseconds to the timer Moved the calendar out of the taskbar and hidden away, it opens when you click on the time in the taskbar (like in windows) Merged the welcome window and links window into one information app for better organization in the taskbar Neatened up the app borders and size on the taskbar to be more visible going to start working on more apps now!
More changes! not as many as the last one, but here are all the changes i made: Added a boot up and loading screen! Added a weather app! type the place you want the weather of and it will show it to you! Added the feature where you can scroll thru months instead of the calendar being stuck on just the current month Added a purple hue around the windows to add more depth Changed the style of the taskbar a little bit Moved “PolarisOS” out of the taskbar and put it on the desktop instead to fill in empty space
A small devlog before i ship my project again but heres what i added: Added boot up, button clicking and calendar opening sound effects! (if the boot up sound does not play for you, it means that a browser security setting disabled it)
i more big features to polaris! its not a lot of changes, but the features i added were difficult for me to implement cause i kept making errors, but here are all the changes i made: Added a music player app! plays a set of songs that i uploaded Added a bot to tictactoe! it was way harder than i thought, but with a bit of help i managed to get it working. players now have the option to play against someone else or against a bot. Changed the logos off a bunch of the apps to look more consistent its a bit difficult to make progress while juggling exams, but i will be making a lot more changes soon!
many more changes! as im getting closer to the 10 hours that count per ship im going to ship once again after this devlog, but heres a list of all the changes i made since the last devlog: Added a gallery app! now you can see different pictures related to polaris and on how to find it. (it also was taking a while to load everytime, so i made it load pictures in advance, and a error message so the user knows whats going on just incase it dosnt load) Added widgets! there are now two new widgets, the nasa apod widget and the analog clock widget. they open by default, but you can collapse them out of view if they look too distracting! (the nasa apod also had an issue where if it was a video it broke, so i made it fallback to the previous day in that case) Added a playlist to the media app so now the user can see the list of all the songs and play them from there too. Added a dynamic wallpaper, theres now stars in the wallpaper that move around and react to your cursor! (i couldnt animate the wallpaper or find a better one, so i added a layer on the wallpaper with the stars moving around to make everything feel more dynamic) Added a terminal app with simple commands! you can now open apps and more using the terminal app. Neatened up the files in github too! with multiple songs and icons the github repo started to look very very messy so i made new folders and cleaned it up!
back with more updates! after shipping, i checked all the reviews and got to work implementing them! i first took some help with ai to restructure and reorganize my code since it was starting to get messy and hard to read and make new changes, then i started working on new apps! currently im working on adding the settings app! i spent around 2 hours on it, and i will add more to it and polish it up soon. i also added a volume slider for the music app, and added a name overlay for the apps on the taskbar which took about 30 minutes to do. please do let me know if theres any more changes or additions i can make to improve polaris!
hey guys! i have made more changes to polaris os today. firstly i added a new app! its a dictionary app and you can look up any word you like by typing it in the app, or by typing “define [word]” in the terminal. i tried to use dictionaryapi but realised its not very reliable, so the current api im using for this app is openmuse. secondly i added a new loading animation! i felt the loading star in the start felt a little boring, so i added more elements on all 4 sides of the screen so it looks way cooler! and a small change but i also added more songs into the playlist of the media player.
achievements! while thinking of ideas to add, i saw my friend unlock achievements and i thought why not add that to Polaris too? i added 5 new achievements and they even save after you reload the page! i am planning on adding localstorage to the other apps too, like settings and notepad. i also noticed that sometimes when the nasa apod is an extremely detailed of high definition image, the widget lags a lot when opening and closing. i need to find a way to fix that.
a few smaller changes before i ship again, there was an issue where the clickable box on the text for confetti was stretched across the entire screen, so i fixed that. Another issue that was there is that when the nasa apod was a very high res image, it made the entire website very laggy so i changed that to display url instead of the hdurl and lastly i added localstorage so polaris actually remembers a lot of the options like your notes and accent color changes that you change!
Ships:
i made a webOS that is themed after the Polaris star! it took me a few hours to get this far, and i am going to spend a few hours every weekend progressing it further by adding more apps, and giving it more functionality in general. a new feature i built is a taskbar on the bottom with the ability to open windows and applications, and see time from there instead of a top bar which was mentioned in the guide, so i could get a more windows/macOS feel to the webOS which is more familiar.
hey everyone! i built Polaris, a web-based OS based on a space theme! it feels just like a real OS experience right here in your browser! the whole thing is built by me completely from scratch, using HTML, CSS and JavaScript. it just started out as a simple introductory project, but once i started adding more things to it, it slowly turned into a whole operating system! the first app i added was the note taker, which was a simple tool to add temporary notes and reminders inside. after that, i added more apps like the calculator, timer, and tic-tac-toe (more coming soon)! all of these apps can run at the exact same time, and you can drag them all around the screen. the taskbar at the bottom gives you easy access to open any of the available apps, complete with icons that highlight when you tap them and a live clock. feel free to check out all the apps, drag the windows around, and see if you can beat your friends at tic-tac-toe! i plan on turning into a single tab with everything simple a person could need, so instead of opening multiple apps, anyone can just open one single tab and have all the simple tools they need in one place! i will continue working on this project as time passes, and i plan to add animations to everything, add an apps window, and ofc more apps! i hope you like my work :)
hey everyone! i’m back with more updates to Polaris, my web-based space-themed OS! since my last ship, i’ve made many changes to make it feel even more like a real, immersive desktop experience right in your browser. the biggest new tool is the weather app! you can just type in your desired city and it instantly fetches the real time temperature and weather conditions using an api. the live clock on the taskbar also got an update as clicking it now smoothly slides up an interactive calendar, complete with arrows so you can actually navigate through different months! it also removes the need to have its own app in the taskbar, and feels more like windows. i also completely revamped the ui and aesthetics! everything now has a glowing purple drop shadows around the edges of the windows (kinda like underglow on a car!). the taskbar icons now smoothly scale up when you hover over them to indicate that they are selected, and clicking them makes the apps fade into existence instead of just snapping in. i also merged the welcome and links pages into one big info window to keep the desktop clean. to make the whole OS feel alive, i built a brand new animated star filling loading screen, plus i added global sound effects! there’s a satisfying startup sound when the OS finishes booting, and click sounds whenever you open apps or navigate the UI. (there’s also a fun hidden easter egg on the desktop background that triggers star confetti if you click the text!) my goal is still to turn this into a single tab with everything simple a person could need in one place. i will continue working on this project, polishing the animations, and ofc adding more apps! feel free to drag the glowing windows around, check your local weather, and play around with the confetti! i hope you like my work :)
hey guys! i’m back with more big updates for polaris! since my last ship, i’ve been juggling my exams but still managed to add some really fun new features to make the OS feel even more alive and interactive. heres a list of every single new change i added since and the issues i had with adding them: Apps Music app: the music app was pretty fun to add and made polaris less boring, but i kept running into issues with adding the ui over the default ui (the white blob which did not match polaris at all) Gallery app: the gallery app is another addition, with a few pictures related to polaris. the difficult part was adding the transitions between changing the pictures, and loading the pictures without taking hours Terminal app: the terminal app is something i took inspiration from other webos’s, and it was actually hard to add and i also kept running into a issue where i could not type in the app at all, but i fixed it all and got it working! Other changes Dynamic wallpaper: i got a few people say that the wallpaper looked a little boring, so i added stars that float around the entire wallpaper and react with your cursor! TicTacToe bot: this one was a great learning experience but just as hard, took me a while to figure out what i was doing but i finally got there in the end and built a working bot to play against! Desktop widgets: i added 2 widgets, the analog time and the NASA APOD. the analog time was pretty straight forward, but the NASA APOD was a little hard, especially with adding a fallback because any video APOD just broke the widget. For the smaller changes i just changed the logos of a few apps to look consistent, cleaned up my github repo and changed the tab title. im getting pretty close to reaching where i want polaris to be. feel free to try out all the changes! hope you enjoy them :)
hey everyone! After reading your reviews on my last ship, I spent time restructuring my code and adding some new features to make the OS feel much more like a real desktop. Here is what’s new: Local storage persistence: Polaris OS finally remembers your preferences! your custom accent colors and notepad entries now save automatically, so you won’t lose them when you reload the page. Achievements system: i added 5 brand-new unlockable achievements to find while exploring the OS (and yes, your progress saves via local storage too!). New dictionary app: look up any word instantly using the Openmuse API. you can use the new dictionary app, or just type define [word] straight into the terminal. Settings app & UI polish: built a dedicated Settings app to manage the OS. i also added a volume slider for the media player (which has new songs!), and hover-name overlays for taskbar apps. Performance & visual upgrades: designed a brand new, cooler loading animation, fixed the stretched confetti hitbox bug, and optimized the NASA APOD widget so high-res space images no longer lag the entire website. let me know what you think of the new apps and if you manage to unlock all the achievements!...
|
1793245773.491199
|
1793332173.491199
|
|
51050
|
App to help Seniors protect themselves against sca App to help Seniors protect themselves against scams in India by @Mykulkar | Stardance...
|
Mykulkar
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T01:35:56Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "KinGuard - An app to protect seniors against everyday scams. My grandfather was one of the victims of a scam. When I heard about the incident from him, I started researching these scams. Impersonation scams & threatening calls were on the rise and there was no good medium that could help educate seniors and protect them against the scams. This was my inspiration to create an app that would serve the senior community. I initially built this for scams in India and in the latest release I’ve included a US module as similar scams are on the rise here too. The design of the app was the most challenging aspect. What I set out to do was make an app which was graphical and icon based with accessibility options. The end goal was to make it very easy to use for seniors. Testing the features was another challenge as it needed 2 phones or a phone and a browser combination. I learnt a lot creating and integrating multi language support(English, Hindi, Kannada, Telugu and Tamil). I’m proud that I was able to officially launch the app on the Google Play Store and have 13 users within a short space of time. My grandfather has the app too and he appreciated the thought and the ease with which it can be used. KinGuard is very easy to install and use. https://mykit.pythonanywhere.com/how-it-works explains how to use the app. The family member downloads the app through the Google Play Store or by opening it from https://mykit.pythonanywhere.com and adding it to home screen, complete registration and finishes setup. The app gives a private link to share with the elder. The elder opens this link on the phone and it pairs with the family. A single tester can use a combination of one device and browser window or two browser windows.", "repo": "https://github.com/mykulkarvt/KinGuard", "demo": "https://youtube.com/shorts/aS_OT5WA54Q?feature=share"}]...
|
[{"post_id": 75090, "ts": "202 [{"post_id": 75090, "ts": "2026-09-29T04:08:52Z", "hours": 3.1739, "text": "Continued Devlog on Password reset deploy to Production I tested the password reset functionality again to ensure it does not break Production. Pushed my changes to GitHub repo Copied the changed files over to pythonanywhere checked each one against the repo with md5sum set the new Gmail SMTP settings in the WSGI file Reloaded the application The first real password reset email failed with a 535 “Username and Password not accepted” message After a fair bit of troubleshooting I realized I had copied the wrong password in the WSGI file(from a different gmail account) Recreated the password from the right account and updated the WSGI file Reloaded the application Tested the full password reset workflow Got the email this time and was able to reset and login with the new password It might land in spam which I have noted down I also tested rest of the functionality of the app and everything works fine. After this I published v1.0.1 release on GitHub, updated the README and added Repo description, website and topics. This completes my development effort for the moment."}, {"post_id": 74743, "ts": "2026-09-28T03:41:54Z", "hours": 8.2256, "text": "Continued Devlog on Password reset Password reset build complete end to end. A new password_resets table was created, single use tokens that expire after 30 minutes are stored in hash form(not in plaintext) and a reset that logs out every session once it completes. Used Gmail SMTP to send the reset link. Users can request a rest of password, get the email, set a new password and login. Did a lot of testing locally to confirm the old one does not work after a password has been reset. Faced some Python issues to compile the new code. There were also some bugs related to windows copy-paste which took a lot of time to diagonize and fix, In the mean time my laptop crashed and upon reboot hacktime trackign stopped working. I had to spend a couple of hours to troubleshoot the issue which was related to Norton anti-virus on my laptop. It had quarantined the WakaTime tracking tool thinking it was suspicious. Finished testing and ready to roll this into production tomorrow."}, {"post_id": 73462, "ts": "2026-09-25T04:19:37Z", "hours": 8.2314, "text": "Build out a password reset feature based on feedback from users: Started with research on if paid hosting would be needed as KinGuard is hosted on free tier. Outbound email through Gmail is allowed on free tier. Built a Database table to store reset tokens securely, the actual email sending code, request a reset and complete the backend that verifies the token and resets the password. Fixed a bug which broke account registration logic. Faced another issue with the text editor which saved some garbage characters. I had to recreate the file. Created the forgot password html file Verified the backend and all the features of the app multiple times. Reset password logic still has to be built into templates followed by full test(local) and deploy to production More in my next Devlog"}, {"post_id": 72061, "ts": "2026-09-22T03:06:47Z", "hours": 3.1456, "text": "Deployed the US country-support module from Github to the live site on Pythonanywhere. Fixed a couple of issues as well that came along the way. Kinguard app is live on pythonanywhere. This means deployment to local, Github and to Pythonanywhere. As the repo is public now, I used the bash console on PythonAnywhere and directly pulled the changed files from the repo with curl commands. I then verified if the deployed files work correctly by runnign md5sum on all the changed files. I then compared the numbers with my local copies to make sure the numebrs matched. One of the files was not copied over correctly so I had to redo it. After this, I reloaded the app from the web console of pythonanywhere. This ensures changes are propogated and take effect. The README on GitHub is updated now to reflect the changes made and both India & US available as country options. Did a full regression check on the India and US side of the app after deploying. This is to ensure country-support changes had not broken anythign else in the app for the India users who are live on them. Fixed a bug which was leaving a stary character in commit and showing oddly in GitHub history. Fixed with plain ASCII encoding. Verified the “Call for help” and “report” buttons showed correct numbers for India and working as before."}, {"post_id": 69865, "ts": "2026-09-17T23:10:22Z", "hours": 3.3942, "text": "Continuing the US Country-support Build for KinGuard: Researched and wrote the US Scam catalog Mapped 5 categories for India with US Fixed a bug around help dial 1930 Added country specific names Fixed a bug around family screen not getting the alert for the US module Deployed the code locally and verified everything works"}, {"post_id": 68947, "ts": "2026-09-16T02:56:28Z", "hours": 1.9725, "text": "Continuing the US Country-support Build for KinGuard: Wired the country field through push notification(send_push() in app.py) Added country picker to the setup page above the language dropdown Compiled and verified the python code: python -m py_compile app.py conducted a live browser test to verify changes appeared"}, {"post_id": 68477, "ts": "2026-09-15T05:50:12Z", "hours": 2.1247, "text": "KinGuard passed Google Play review and is live in production. 14 installs(12 testers), no crashes. All bugs fixed. Enhancement request made: Develop a US based alerting for Seniors Started the country refactor: RULES now keyed by country Intent is to add new COUNTRIES table Add what varies per country (languages, voice locales, grid order, emergency number, who to report to)"}]...
|
Title: App to help Seniors protect themselves agai Title: App to help Seniors protect themselves against scams in India by @Mykulkar | Stardance
Devlogs:
KinGuard passed Google Play review and is live in production. 14 installs(12 testers), no crashes. All bugs fixed. Enhancement request made: Develop a US based alerting for Seniors Started the country refactor: RULES now keyed by country Intent is to add new COUNTRIES table Add what varies per country (languages, voice locales, grid order, emergency number, who to report to)
Continuing the US Country-support Build for KinGuard: Wired the country field through push notification(send_push() in app.py) Added country picker to the setup page above the language dropdown Compiled and verified the python code: python -m py_compile app.py conducted a live browser test to verify changes appeared
Continuing the US Country-support Build for KinGuard: Researched and wrote the US Scam catalog Mapped 5 categories for India with US Fixed a bug around help dial 1930 Added country specific names Fixed a bug around family screen not getting the alert for the US module Deployed the code locally and verified everything works
Deployed the US country-support module from Github to the live site on Pythonanywhere. Fixed a couple of issues as well that came along the way. Kinguard app is live on pythonanywhere. This means deployment to local, Github and to Pythonanywhere. As the repo is public now, I used the bash console on PythonAnywhere and directly pulled the changed files from the repo with curl commands. I then verified if the deployed files work correctly by runnign md5sum on all the changed files. I then compared the numbers with my local copies to make sure the numebrs matched. One of the files was not copied over correctly so I had to redo it. After this, I reloaded the app from the web console of pythonanywhere. This ensures changes are propogated and take effect. The README on GitHub is updated now to reflect the changes made and both India & US available as country options. Did a full regression check on the India and US side of the app after deploying. This is to ensure country-support changes had not broken anythign else in the app for the India users who are live on them. Fixed a bug which was leaving a stary character in commit and showing oddly in GitHub history. Fixed with plain ASCII encoding. Verified the “Call for help” and “report” buttons showed correct numbers for India and working as before.
Build out a password reset feature based on feedback from users: Started with research on if paid hosting would be needed as KinGuard is hosted on free tier. Outbound email through Gmail is allowed on free tier. Built a Database table to store reset tokens securely, the actual email sending code, request a reset and complete the backend that verifies the token and resets the password. Fixed a bug which broke account registration logic. Faced another issue with the text editor which saved some garbage characters. I had to recreate the file. Created the forgot password html file Verified the backend and all the features of the app multiple times. Reset password logic still has to be built into templates followed by full test(local) and deploy to production More in my next Devlog
Continued Devlog on Password reset Password reset build complete end to end. A new password_resets table was created, single use tokens that expire after 30 minutes are stored in hash form(not in plaintext) and a reset that logs out every session once it completes. Used Gmail SMTP to send the reset link. Users can request a rest of password, get the email, set a new password and login. Did a lot of testing locally to confirm the old one does not work after a password has been reset. Faced some Python issues to compile the new code. There were also some bugs related to windows copy-paste which took a lot of time to diagonize and fix, In the mean time my laptop crashed and upon reboot hacktime trackign stopped working. I had to spend a couple of hours to troubleshoot the issue which was related to Norton anti-virus on my laptop. It had quarantined the WakaTime tracking tool thinking it was suspicious. Finished testing and ready to roll this into production tomorrow.
Continued Devlog on Password reset deploy to Production I tested the password reset functionality again to ensure it does not break Production. Pushed my changes to GitHub repo Copied the changed files over to pythonanywhere checked each one against the repo with md5sum set the new Gmail SMTP settings in the WSGI file Reloaded the application The first real password reset email failed with a 535 “Username and Password not accepted” message After a fair bit of troubleshooting I realized I had copied the wrong password in the WSGI file(from a different gmail account) Recreated the password from the right account and updated the WSGI file Reloaded the application Tested the full password reset workflow Got the email this time and was able to reset and login with the new password It might land in spam which I have noted down I also tested rest of the functionality of the app and everything works fine. After this I published v1.0.1 release on GitHub, updated the README and added Repo description, website and topics. This completes my development effort for the moment.
Ships:
KinGuard - An app to protect seniors against everyday scams. My grandfather was one of the victims of a scam. When I heard about the incident from him, I started researching these scams. Impersonation scams & threatening calls were on the rise and there was no good medium that could help educate seniors and protect them against the scams. This was my inspiration to create an app that would serve the senior community. I initially built this for scams in India and in the latest release I’ve included a US module as similar scams are on the rise here too. The design of the app was the most challenging aspect. What I set out to do was make an app which was graphical and icon based with accessibility options. The end goal was to make it very easy to use for seniors. Testing the features was another challenge as it needed 2 phones or a phone and a browser combination. I learnt a lot creating and integrating multi language support(English, Hindi, Kannada, Telugu and Tamil). I’m proud that I was able to officially launch the app on the Google Play Store and have 13 users within a short space of time. My grandfather has the app too and he appreciated the thought and the ease with which it can be used. KinGuard is very easy to install and use. https://mykit.pythonanywhere.com/how-it-works explains how to use the app. The family member downloads the app through the Google Play Store or by opening it from https://mykit.pythonanywhere.com and adding it to home screen, complete registration and finishes setup. The app gives a private link to share with the elder. The elder opens this link on the phone and it pairs with the family. A single tester can use a combination of one device and browser window or two browser windows....
|
1793149011.7152371
|
1793235411.7152371
|
|
58670
|
Enjoy OBAMIUM (and the universe) by @texudev | Sta Enjoy OBAMIUM (and the universe) by @texudev | Stardance...
|
texudev
|
1
|
30.0
|
203
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T00:37:30Z", "hours": 30.0, "multiplier": 8.44, "payout": 203, "blessing": "neutral", "text": "Hey everyone! 👋 After wrestling with OpenGL state machines and pure wrath, I just dropped the first official release of my completely unnecessary 3D project: Obamium: A Cosmic Experience 🌌🪐 There are no quests. There are no enemies. There is no inventory. There is only Obamium. What it features: 🌌 A full 3D universe skybox powered by HDRI maps. 🪐 A meticulously rendered, slowly rotating 3D model of Obamium in its full glory. 💡 Custom OpenGL shaders and real-time lighting. 🖥️ Written completely from scratch in C++ and OpenGL 4.6 (now officially banishing the ugly console window to the shadow realm). If you want to stare into the cosmos and appreciate the absolute peak of modern 3D graphics, you can grab the standalone Windows .rar directly from the releases page: Drop a star if the universe pleases you. ✨", "repo": "https://github.com/tiagotodescatto/Enjoy-Obamium-Simulator", "demo": "https://github.com/tiagotodescatto/Enjoy-Obamium-Simulator/releases/tag/Final-Release"}]...
|
[{"post_id": 68360, "ts": "202 [{"post_id": 68360, "ts": "2026-09-15T00:33:33Z", "hours": 1.3636, "text": "Finished the game."}, {"post_id": 67446, "ts": "2026-09-13T15:33:58Z", "hours": 0.8739, "text": "Added jumping and fixed the skybox borders"}, {"post_id": 66795, "ts": "2026-09-12T18:02:39Z", "hours": 5.0831, "text": "Added a beautiful skybox and some basic lighting!"}, {"post_id": 63638, "ts": "2026-09-07T15:46:55Z", "hours": 3.3578, "text": "Working on lights and movement! Made WASD and mouse movement, made speeds for crouching, running and walking."}, {"post_id": 63143, "ts": "2026-09-06T19:43:49Z", "hours": 3.3889, "text": "Almost lost my project but thanks to github I didn’t! remade the window and I’m going to make cleaner code from now on, next step is making the frag shader and vertex shader file"}, {"post_id": 62457, "ts": "2026-09-05T20:13:12Z", "hours": 15.6044, "text": "Game almost ready! I’ve spent more than 13 hours learning the OpenGL basics and experimenting so I can make this game, prepare for a legendary one!"}]...
|
Title: Enjoy OBAMIUM (and the universe) by @texude Title: Enjoy OBAMIUM (and the universe) by @texudev | Stardance
Devlogs:
Game almost ready! I’ve spent more than 13 hours learning the OpenGL basics and experimenting so I can make this game, prepare for a legendary one!
Almost lost my project but thanks to github I didn’t! remade the window and I’m going to make cleaner code from now on, next step is making the frag shader and vertex shader file
Working on lights and movement! Made WASD and mouse movement, made speeds for crouching, running and walking.
Added a beautiful skybox and some basic lighting!
Added jumping and fixed the skybox borders
Finished the game.
Ships:
Hey everyone! 👋 After wrestling with OpenGL state machines and pure wrath, I just dropped the first official release of my completely unnecessary 3D project: Obamium: A Cosmic Experience 🌌🪐 There are no quests. There are no enemies. There is no inventory. There is only Obamium. What it features: 🌌 A full 3D universe skybox powered by HDRI maps. 🪐 A meticulously rendered, slowly rotating 3D model of Obamium in its full glory. 💡 Custom OpenGL shaders and real-time lighting. 🖥️ Written completely from scratch in C++ and OpenGL 4.6 (now officially banishing the ugly console window to the shadow realm). If you want to stare into the cosmos and appreciate the absolute peak of modern 3D graphics, you can grab the standalone Windows .rar directly from the releases page: Drop a star if the universe pleases you. ✨...
|
1793152451.4018867
|
1793238851.4018867
|
|
64424
|
LakeOS by @Manu_Gurgel | Stardance
|
Manu_Gurgel
|
2
|
30.0
|
22
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T09:14:41Z", "hours": 4.0, "multiplier": 5.19, "payout": 22, "blessing": "neutral", "text": "I fixed the window movement limit because it was glitching the OS, and I’ve added another game. At first, I thought it would be as difficult as the other one, but it was actually much easier.", "repo": "https://github.com/Manu-Gurgel/myOS", "demo": "https://manu-gurgel.github.io/myOS/"}, {"ship_num": 2, "ts": "2026-09-29T04:22:07Z", "hours": 26.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first web OS using HTML, CSS, and JavaScript. In the beginning, I hardly knew how to center elements inside a div, but with AI, I learned a lot of CSS properties to improve the OS style. I also found it difficult to develop some functions in JavaScript. It was like I knew what I wanted to do, but I didn’t have the knowledge to write it in JavaScript code, so I used AI to discover and understand JavaScript commands too. At first, I thought the Weather icon was the most difficult thing I did. But when I had to make the window components draggable, I started to think, “Oh my God, I completely underestimated how hard this icon would be!” Nothing could convince me that there is something more difficult than making a movable window. After that, I started building the calculator; it was easier than I thought it would be, though I still faced a few challenges. Finally, I made the game. It was so annoying to do because bugs just wouldn’t stop appearing, especially with the emoji display and button positioning. While making the OS, I thought about giving up so many times. But whenever something I wrote finally worked, I felt incredibly happy, and that motivated me to keep going. In the end, building this OS helped me train my patience and my resilience.", "repo": "https://github.com/Manu-Gurgel/myOS", "demo": "https://manu-gurgel.github.io/myOS/"}]...
|
[{"post_id": 75498, "ts": "202 [{"post_id": 75498, "ts": "2026-09-30T09:10:56Z", "hours": 4.2075, "text": "I added one more game!!. It was easier to make than the “find the different emoji” game (maybe because I already knew some of the things I needed to do). I also fixed the window movement limit."}, {"post_id": 75061, "ts": "2026-09-29T00:54:29Z", "hours": 10.7361, "text": "I FINISHED IT! Programming a game is sooo difficult at the beginning(I would be happier if I could say that it was going easier, but it stayed diffcult until the end), when I fixed something wrong (like emoji display) another one appeared, it was very, very annoying. However, when I see the game working I become so happy and proud. I can’t wait to make more icons for my OS"}, {"post_id": 74073, "ts": "2026-09-26T16:56:27Z", "hours": 6.3642, "text": "Now my OS has a blue calculator and a search icon, but I didin’t align the titles yet. I’m going to do more two icons"}, {"post_id": 73247, "ts": "2026-09-24T17:41:39Z", "hours": 8.4886, "text": "I’ working in my fisrt web OS, I’m learning to improve it more and more"}]...
|
Title: LakeOS by @Manu_Gurgel | Stardance
Devlogs Title: LakeOS by @Manu_Gurgel | Stardance
Devlogs:
I’ working in my fisrt web OS, I’m learning to improve it more and more
Now my OS has a blue calculator and a search icon, but I didin’t align the titles yet. I’m going to do more two icons
I FINISHED IT! Programming a game is sooo difficult at the beginning(I would be happier if I could say that it was going easier, but it stayed diffcult until the end), when I fixed something wrong (like emoji display) another one appeared, it was very, very annoying. However, when I see the game working I become so happy and proud. I can’t wait to make more icons for my OS
I added one more game!!. It was easier to make than the “find the different emoji” game (maybe because I already knew some of the things I needed to do). I also fixed the window movement limit.
Ships:
I made my first web OS using HTML, CSS, and JavaScript. In the beginning, I hardly knew how to center elements inside a div, but with AI, I learned a lot of CSS properties to improve the OS style. I also found it difficult to develop some functions in JavaScript. It was like I knew what I wanted to do, but I didn’t have the knowledge to write it in JavaScript code, so I used AI to discover and understand JavaScript commands too. At first, I thought the Weather icon was the most difficult thing I did. But when I had to make the window components draggable, I started to think, “Oh my God, I completely underestimated how hard this icon would be!” Nothing could convince me that there is something more difficult than making a movable window. After that, I started building the calculator; it was easier than I thought it would be, though I still faced a few challenges. Finally, I made the game. It was so annoying to do because bugs just wouldn’t stop appearing, especially with the emoji display and button positioning. While making the OS, I thought about giving up so many times. But whenever something I wrote finally worked, I felt incredibly happy, and that motivated me to keep going. In the end, building this OS helped me train my patience and my resilience.
I fixed the window movement limit because it was glitching the OS, and I’ve added another game. At first, I thought it would be as difficult as the other one, but it was actually much easier....
|
1793213587.2306566
|
1793299987.2306566
|
|
64563
|
GLITCH OS by @singhshiv3108 | Stardance
|
singhshiv3108
|
2
|
30.0
|
34
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T18:46:19Z", "hours": 12.0, "multiplier": 2.82, "payout": 34, "blessing": "neutral", "text": "I updated my webos now it has weather, search bar, two new windows one of them having i frame to show case video , new terminal commands and few smaller features and fixes. Most challenging and frustrating part was actually small or big fixes becuz it used to felt boring and repetitive and thanks to me i added animation at starting , so for everytime i have to check whether my fixes worked i had to go through that torturing animation but….. the thing i am proud about is animation itself . I hope you like MY GLITCH OS!!!!!!. –Thank you", "repo": "https://github.com/ShivSingh3108/WebOS", "demo": "https://shivsingh3108.github.io/WebOS/"}, {"ship_num": 2, "ts": "2026-10-06T22:56:51Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Web OS , Challenging part was handling several similar codes like one miss and half of the windows disappears but later i got used to it. I am Actually proud of Whole project , i got to learn alot out of this.", "repo": "https://github.com/ShivSingh3108/WebOS", "demo": "https://shivsingh3108.github.io/WebOS/"}]...
|
[{"post_id": 79614, "ts": "202 [{"post_id": 79614, "ts": "2026-10-14T18:32:49Z", "hours": 5.9747, "text": "DEVLOG 14: The Biggest and the last devlog . i’ll divide this log in 3 parts. 1) Add : i added gallery tab , more videos in glitchtv and next and previous button to control them,few more commands such as contact,weather ,gallery, glitchtv. and added a basic manual in iris window. 2)Style: i improved scrollbar style and added scroll bar to windows that needed it .3) Debug: this is where most time is gone, earlier calendar used to show a junk of grid and to fix it user has to toggle with buttons but in this log i removed that junk or whatever you call that, then i saw that when i type beyond viewport of window in notes my window header disappears so i fixed that , terminal scroll bar was also going beyond the windowheader so i made another div it contain it and conntact command also had to much issue ig becuz of tag atlast i fixed searchbar it was the easy i just added name=“q” in form instead of input tag (there might me more fixes but these were major ones)."}, {"post_id": 79020, "ts": "2026-10-12T11:54:30Z", "hours": 1.4344, "text": "DEVLOG 13 Ig: in this devlog i added search bar. search bar wa easy to put but unfortunatly my header css was so weak no matter what i do it wont align as i wanted but somehow i did it . Coming back to search bar it still needs some fix when i search it doesnt show result instead just stays at google homepage."}, {"post_id": 78749, "ts": "2026-10-11T14:21:24Z", "hours": 1.8347, "text": "DEVLOG 12: In this devlog , I fixed video error actually it wasnt error ig. i searched on youtube and i found out i should use go live extension and it worked . i also added weather and it works for all user!!!! you just have to give it permission , earlier it was only showing my weather but then I surfed on yt for how to make it work for every user and i found . (ngl yt helped alot in this devlog)."}, {"post_id": 78672, "ts": "2026-10-11T08:00:05Z", "hours": 1.5678, "text": "DEVLOG 11: In this log i added booting animation , ngl it was hard more like lengthy , i earlier implemented animation in projects but this time it was big . Glitch TV is not debugged yet cuz i was bored with adding new window , it was repetitive so i thought lets add something ."}, {"post_id": 78133, "ts": "2026-10-09T17:55:34Z", "hours": 1.0669, "text": "DEVLOG 10: First Devlog for web OS 2 . In this log i added fully functional new window/app i.e. Glitch tv which uses I frame to show yt video although currently video aren’t working I tried for while but I will fix it by next devlog ."}, {"post_id": 77422, "ts": "2026-10-06T22:22:29Z", "hours": 4.1797, "text": "DEEVLOG 9: The last and the biggest devlog!!!!! in this devlog i added custom drag ,pointer cursor, new terminal commands, new app icons , fullscreen and minimize button ,improved css and few debugging."}, {"post_id": 76757, "ts": "2026-10-04T14:43:14Z", "hours": 2.135, "text": "Devlog 8: In this devlog i added terminal window , improved style and added a custom cursor."}, {"post_id": 76141, "ts": "2026-10-02T14:10:56Z", "hours": 1.9756, "text": "DEVLOG 7: Fixed several issues with notes window (dragging issue , notes’s div obstructing welcome windows icon, and majorly i couldnt type anything in notes tab) and Improved Calendars style."}, {"post_id": 75674, "ts": "2026-09-30T18:22:44Z", "hours": 2.3286, "text": "DEVLOG (I don’t remember no. ;) : In this devlog i added a new app calendar and also made its window draggable , closable and obviously openable. I struggled app opening later i found it was some variable name issue. I used Fullcalendar Javascript library to added dynamic calendar interface, currently its css is bit off but i’ll polish it later."}, {"post_id": 74462, "ts": "2026-09-27T12:54:09Z", "hours": 0.94, "text": "Devlog 5 : I added closing and opening of my window ."}, {"post_id": 73684, "ts": "2026-09-25T17:59:42Z", "hours": 2.78, "text": "DEVLOG 4: window is now movable, time had some problem but now it shows accurate timing , css of window was messed up so it took some time to fix also added handle to the window ."}, {"post_id": 72768, "ts": "2026-09-23T18:23:15Z", "hours": 0.6478, "text": "Devlog3: Not much in this devlog just added time and fixed viewport problem ."}, {"post_id": 72343, "ts": "2026-09-22T18:23:12Z", "hours": 1.9675, "text": "Devlog 2:Added Window , blur, and improved style. Currently it is going slightly outside of viewport ,although i fixed it but it still seems off so i might check it once."}, {"post_id": 71892, "ts": "2026-09-21T18:22:00Z", "hours": 0.9389, "text": "Devlog 1: I am making a webos named glitch . In this devlog i did basic setup such as background setup , text, and etc"}]...
|
Title: GLITCH OS by @singhshiv3108 | Stardance
De Title: GLITCH OS by @singhshiv3108 | Stardance
Devlogs:
Devlog 1: I am making a webos named glitch . In this devlog i did basic setup such as background setup , text, and etc
Devlog 2:Added Window , blur, and improved style. Currently it is going slightly outside of viewport ,although i fixed it but it still seems off so i might check it once.
Devlog3: Not much in this devlog just added time and fixed viewport problem .
DEVLOG 4: window is now movable, time had some problem but now it shows accurate timing , css of window was messed up so it took some time to fix also added handle to the window .
Devlog 5 : I added closing and opening of my window .
DEVLOG (I don’t remember no. ;) : In this devlog i added a new app calendar and also made its window draggable , closable and obviously openable. I struggled app opening later i found it was some variable name issue. I used Fullcalendar Javascript library to added dynamic calendar interface, currently its css is bit off but i’ll polish it later.
DEVLOG 7: Fixed several issues with notes window (dragging issue , notes’s div obstructing welcome windows icon, and majorly i couldnt type anything in notes tab) and Improved Calendars style.
Devlog 8: In this devlog i added terminal window , improved style and added a custom cursor.
DEEVLOG 9: The last and the biggest devlog!!!!! in this devlog i added custom drag ,pointer cursor, new terminal commands, new app icons , fullscreen and minimize button ,improved css and few debugging.
DEVLOG 10: First Devlog for web OS 2 . In this log i added fully functional new window/app i.e. Glitch tv which uses I frame to show yt video although currently video aren’t working I tried for while but I will fix it by next devlog .
DEVLOG 11: In this log i added booting animation , ngl it was hard more like lengthy , i earlier implemented animation in projects but this time it was big . Glitch TV is not debugged yet cuz i was bored with adding new window , it was repetitive so i thought lets add something .
DEVLOG 12: In this devlog , I fixed video error actually it wasnt error ig. i searched on youtube and i found out i should use go live extension and it worked . i also added weather and it works for all user!!!! you just have to give it permission , earlier it was only showing my weather but then I surfed on yt for how to make it work for every user and i found . (ngl yt helped alot in this devlog).
DEVLOG 13 Ig: in this devlog i added search bar. search bar wa easy to put but unfortunatly my header css was so weak no matter what i do it wont align as i wanted but somehow i did it . Coming back to search bar it still needs some fix when i search it doesnt show result instead just stays at google homepage.
DEVLOG 14: The Biggest and the last devlog . i’ll divide this log in 3 parts. 1) Add : i added gallery tab , more videos in glitchtv and next and previous button to control them,few more commands such as contact,weather ,gallery, glitchtv. and added a basic manual in iris window. 2)Style: i improved scrollbar style and added scroll bar to windows that needed it .3) Debug: this is where most time is gone, earlier calendar used to show a junk of grid and to fix it user has to toggle with buttons but in this log i removed that junk or whatever you call that, then i saw that when i type beyond viewport of window in notes my window header disappears so i fixed that , terminal scroll bar was also going beyond the windowheader so i made another div it contain it and conntact command also had to much issue ig becuz of tag atlast i fixed searchbar it was the easy i just added name=“q” in form instead of input tag (there might me more fixes but these were major ones).
Ships:
I made a Web OS , Challenging part was handling several similar codes like one miss and half of the windows disappears but later i got used to it. I am Actually proud of Whole project , i got to learn alot out of this.
I updated my webos now it has weather, search bar, two new windows one of them having i frame to show case video , new terminal commands and few smaller features and fixes. Most challenging and frustrating part was actually small or big fixes becuz it used to felt boring and repetitive and thanks to me i added animation at starting , so for everytime i have to check whether my fixes worked i had to go through that torturing animation but….. the thing i am proud about is animation itself . I hope you like MY GLITCH OS!!!!!!. –Thank you...
|
1793213605.5796056
|
1793300005.5796056
|
|
65964
|
Playground Z by @Ali-was-taken | Stardance
|
Ali-was-taken
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T10:28:55Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a sandbox game project I’ve created by myself, it’s about playing around with objects, ragdolls, fruits! (yes you read right) The game has 4 maps, each of them unique, and consists of 2 main gamemodes Sandbox and Survival: Sandbox: The player can mess around with the entities as much as they’d want without having to worry about death. Survival: The objective of the player is to finish through all of the waves, which progressively get harder, whilst ridding all of the zombies in ways they please. The game consists around a toolbar that can be used to access 6 tools: Hand tool, used to thrust items away from the player. 2.Magnet ray, it takes posession of the item you right click on, and the scrollwheel can be used to pull it closer, or to repel it from the player. Item spawnner, pretty self-explanatory. Helium Balloons, you can now attach balloons to any object or ragdoll to make it fly. Rocket Launcher, used to shoot missiles at objects… and Zombies. Trasher, used to get rid of redundant objects you don’t want lying around. One of the main takeaways from the game is the Physics, I’ve spent a lot of time trying to refine them to make it highly realistic. Thank you for reading! :D", "repo": "https://github.com/Alishayan41879/Playground-Z", "demo": "https://alishayan41879.github.io/Playground-Z/"}]...
|
[{"post_id": 77490, "ts": "202 [{"post_id": 77490, "ts": "2026-10-07T06:48:46Z", "hours": 2.0306, "text": "Last Devlog | Menu & Debugging Hey guys, so I’ve finally finished the project, and I am also done with the final touches . I added the game menu (as you can see below), and fixed some buggy physics, and glitches I encountered. You can play the game online now, without having to download it from github, the game also supports mobile so have fun! Play the game here: https://alishayan41879.github.io/Playground-Z/ Thank you for reading! and a Final Goodbye."}, {"post_id": 77238, "ts": "2026-10-06T07:32:23Z", "hours": 5.18, "text": "Devlog#4 | Survival Mode & Inventory Items Hey guys, been a while. So I’ve worked on the inventory system and now you can add more than just boring crates. Select Q to to select between the the items you would like to spawn. I’ve also added a new gamemode (as promised), and it’s turned out to be pretty addicting, especially wave 5+, so go on and try it! Bonus: New MAPS! Thank you for reading."}, {"post_id": 75863, "ts": "2026-10-01T11:46:13Z", "hours": 6.1206, "text": "Devlog#3 | Finished Gameplay! Hey guys, I’ve got good news. I finished developing the rest of the hotbar items: 3. Crate spawner, pretty self-explanatory. 4. Helium Balloons, you can now attach balloons to any object or ragdoll to make it fly. 5. Rocket Launcher, used to shoot missiles at objects. (will be useful for upcoming gamemodes) 6. Trasher, used to get rid of redundant objects you don’t want lying around. It took really long learning how to code the physics for each of these instruments, so I really hope y’all enjoy my game, which I will release very very soon. Thank for you taking the time to read <3"}, {"post_id": 75477, "ts": "2026-09-30T06:29:32Z", "hours": 8.3025, "text": "Devlog#2 | Props, Physics, and Hotbar. So I have finally added new props to the game including crates, balls, and some ramps. I’ve also added physics to the ball so that you can use your the different items in the hotbar to, esentially, play around with it. The hotbar currently includes: A hand feature, simple tool used to thrust items away from the player. A magnet ray, it takes posession of the item you right click on, and the scrollwheel can be used to pull it closer, or to repel it from the player. Going to finish coding the other 4 soon! Thank you for reading… (Human)."}, {"post_id": 74498, "ts": "2026-09-27T14:56:32Z", "hours": 8.6219, "text": "First Devlog | Initialisation, and Map Creation Hey guys! so I’ve just created a new project for a sandbox game idea. The purpose of the game is to… mess around with ragdolls and objects, but it should also include a zombie mode (which I’ll be developing soon dw). It took me 2 days but I’ve finally made an substantially advanced camera system - compared to my last game - but I also managed to finish with the first map. The animation is what took up most of my time… still looks fiddly yet I am satified with the results, but do let me know if y’all have tips. I also did the character designs thanks to some easy tutorial. Thanks for reading!"}]...
|
Title: Playground Z by @Ali-was-taken | Stardance
Title: Playground Z by @Ali-was-taken | Stardance
Devlogs:
First Devlog | Initialisation, and Map Creation Hey guys! so I’ve just created a new project for a sandbox game idea. The purpose of the game is to… mess around with ragdolls and objects, but it should also include a zombie mode (which I’ll be developing soon dw). It took me 2 days but I’ve finally made an substantially advanced camera system - compared to my last game - but I also managed to finish with the first map. The animation is what took up most of my time… still looks fiddly yet I am satified with the results, but do let me know if y’all have tips. I also did the character designs thanks to some easy tutorial. Thanks for reading!
Devlog#2 | Props, Physics, and Hotbar. So I have finally added new props to the game including crates, balls, and some ramps. I’ve also added physics to the ball so that you can use your the different items in the hotbar to, esentially, play around with it. The hotbar currently includes: A hand feature, simple tool used to thrust items away from the player. A magnet ray, it takes posession of the item you right click on, and the scrollwheel can be used to pull it closer, or to repel it from the player. Going to finish coding the other 4 soon! Thank you for reading… (Human).
Devlog#3 | Finished Gameplay! Hey guys, I’ve got good news. I finished developing the rest of the hotbar items: 3. Crate spawner, pretty self-explanatory. 4. Helium Balloons, you can now attach balloons to any object or ragdoll to make it fly. 5. Rocket Launcher, used to shoot missiles at objects. (will be useful for upcoming gamemodes) 6. Trasher, used to get rid of redundant objects you don’t want lying around. It took really long learning how to code the physics for each of these instruments, so I really hope y’all enjoy my game, which I will release very very soon. Thank for you taking the time to read <3
Devlog#4 | Survival Mode & Inventory Items Hey guys, been a while. So I’ve worked on the inventory system and now you can add more than just boring crates. Select Q to to select between the the items you would like to spawn. I’ve also added a new gamemode (as promised), and it’s turned out to be pretty addicting, especially wave 5+, so go on and try it! Bonus: New MAPS! Thank you for reading.
Last Devlog | Menu & Debugging Hey guys, so I’ve finally finished the project, and I am also done with the final touches . I added the game menu (as you can see below), and fixed some buggy physics, and glitches I encountered. You can play the game online now, without having to download it from github, the game also supports mobile so have fun! Play the game here: https://alishayan41879.github.io/Playground-Z/ Thank you for reading! and a Final Goodbye.
Ships:
This is a sandbox game project I’ve created by myself, it’s about playing around with objects, ragdolls, fruits! (yes you read right) The game has 4 maps, each of them unique, and consists of 2 main gamemodes Sandbox and Survival: Sandbox: The player can mess around with the entities as much as they’d want without having to worry about death. Survival: The objective of the player is to finish through all of the waves, which progressively get harder, whilst ridding all of the zombies in ways they please. The game consists around a toolbar that can be used to access 6 tools: Hand tool, used to thrust items away from the player. 2.Magnet ray, it takes posession of the item you right click on, and the scrollwheel can be used to pull it closer, or to repel it from the player. Item spawnner, pretty self-explanatory. Helium Balloons, you can now attach balloons to any object or ragdoll to make it fly. Rocket Launcher, used to shoot missiles at objects… and Zombies. Trasher, used to get rid of redundant objects you don’t want lying around. One of the main takeaways from the game is the Physics, I’ve spent a lot of time trying to refine them to make it highly realistic. Thank you for reading! :D...
|
1793216868.564152
|
1793303268.564152
|
|
66137
|
Ultimate Custom Platformer by @Martisos | Stardanc Ultimate Custom Platformer by @Martisos | Stardance...
|
Martisos
|
1
|
30.0
|
362
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-22T20:41:44Z", "hours": 30.0, "multiplier": 12.17, "payout": 362, "blessing": "neutral", "text": "I’ve made 2D platformer. But not like others slop ones. This is special slop inspired by FNAF Ultimate Custom Night! Player chooses from 15 unique modifiers to make the game hard for theirself. Some of them affect Player directly, some others are just popups… Check the game to see all of them. I am so excited to ship the game. At first I was wandering if the game will be good… Now I know that the project if silly and fun to play! It was hard… I had limited time and had to speedrun some stuff. The game is more like a demo, I might update it in the future! Every hour of making it was a good hour. I’ve enjoyed it and I hope you also will enjoy playing the game! Good luck with the challenges! It is my third game made in godot and I am sure i made progress. The game looks awesome to me, and the fact that I’ve made it in just 30h is insane", "repo": "https://github.com/Martisos/Ultimate-Custom-Platformer-Game", "demo": "https://martisos.itch.io/ultimate-custom-platformer"}]...
|
[{"post_id": 81879, "ts": "202 [{"post_id": 81879, "ts": "2026-10-22T20:35:56Z", "hours": 0.2775, "text": "Last changes before ship I was so excited to ship that I forgot about small changes, code cleanup and debug things… Ooopss. The game is now ready to be played!"}, {"post_id": 81865, "ts": "2026-10-22T19:58:24Z", "hours": 3.6194, "text": "THE GAME IS READY So i made last changes. Audio System, Music, SFX, images, icons… A lot of work but it is now finished… Quick summary here, because i want to ship it already Audio Player I made custom audio player, so i can overlap a lot of sounds. Only one music can play at once and it’s really easy to change them. Music & SFX I found really cool artist. You can find him here: https://hydrogene.itch.io/high-quality-16-bit-music Also I’ve downloaded some sound effects, like flashbang, meows, jackpot… See for yourself ! Read me I wrote a quick readme explaining the controls and how the game works. I mainly looked at my previous game read me and wrote it that way it’s describing this one… crazy i know. IM SO EXCITED Another 30h project is completed! I really want to see how people combo those effects, so I would appreciate YOU checking the game (it should be out in couple of minutes)"}, {"post_id": 81334, "ts": "2026-10-20T21:27:04Z", "hours": 8.7597, "text": "ULTIMATE Update For Ultimate Custom Platformer I had a lot of work, and so much fun creating this. For last 8 hours I was creating menu, system points, saving system, tooltips, presets and moreee Here are some major things I’ve made: Menu Update Points System Presets New look So I am happy how it looks and operates now! You can choose a preset and try to beat it! If you manage to do it, preset will turn green! Like in UCN, those are just “fun” ideas how you can beat the game. Win Screen I wanted it to look really similar to the UCN. I think I did a good job? I like watching the numbers going up, the text changing, font size going up… YOU watching it -> Death Screen Again, something that looks like UCN. I know it is kinda annoying in the long run. There will be option in settings (which i did not make while writing the devlog :P) that automaticly restarts the game. Like geometry dash. New Challenge - Visual Effects So I got inspider by Fnaf World. The fireworks can pop up on your screen and just distract you. I also used same fireworks on Win Screen, but in game there is… a little bit more than 5 fireworks at one time. Todo There is still some work to be done. Music & Sounds More presets general game feel icons and poppups And probably i forgot about something really important… Yup probably yeah. But I will continue developing the game! See ya on itchio (hopefuly in 2-3 days?)"}, {"post_id": 80224, "ts": "2026-10-16T19:48:16Z", "hours": 6.3192, "text": "Ultimate Custom Platformer Hiii again ! I’m back with some new features! One new challenge, new world and a basic menu! You can clearly see the menu is not finished. The world needs some changes, but I will do it only if i have time. GAMBLING This challenge is just random (as the name might suggest). Slot machine spawns on your screen. You have 5% to just die. That’s it, because gambling is bad or something idk. World-1 I called it 1 because I thought there will be more… There is no way, maybe in later patches… Not on this hackclub project. I think it looks good. The paralax layers (sky and forest) looks awesome. It is not hard, as intended. The player (you :D) has to choose the challenges to make it hard. Challenges Menu I’m using saves, so even if you close the app (or browser in this case, because it will be aviable on itch.io) your highscore will be saved! Even the challenges configuration will, so you dont have to change it every time you go back to menu. A lot minor changes So in this 6h I’ve made so much things, but those were major ones! I hope you like it!"}, {"post_id": 78805, "ts": "2026-10-11T17:26:26Z", "hours": 1.8358, "text": "New Challenges So today I’ve made 2 unique things. Lagging and Flashlight Mode. Am I proud of those two? Yes! (and no!) I’ve tried to beat the game on every challenge turned on… It’s quite… uhh “almost humanly impossible”. So my debug world takes 8 seconds to beat without anything… With everything I beat it once. Lagging So I’ve added lagging to my game because it was too smoth… Of course I’m kidding and the lags are not permament. It can randomly show and limit your fps (depends on level of lag) for 0.5s - 2.5s. It also gives a cool screen effect. Flashlight Mode Happy Spooky Month! Sooo… I’m not that proud of myself here. The idea is REALLY ANNOYING and not really fun. I’ve added it anyways. Move your mouse to see - that’s it. I’ve used (someone else’s) shader to make it. You can still see the cats because it would be impossible for sure (Trust me, I’ve tried). Now you have to operate with your mouse WHILE STILL PLAYING the platformer part. Woooo Spooky Month. Background I’ve made background using 5 paralaxes. I think it looks awesome! It was quite annoying to set up all 5 layers but I’ve somehow did it! Small Summary When I was creating this project I wasn’t sure if it is a good idea. Now I see that it (almost) is! The challenges are unique and most of them are silly. I hope I’ll be able to finish it (I have less than 2 weeks…) Anyways: In case I don’t see ya, good afternoon, good evening, and good night! (wherever you are)"}, {"post_id": 78146, "ts": "2026-10-09T19:36:18Z", "hours": 3.2839, "text": "I made 4 unique Challenges Sooooo I wrote some funny ideas for my game. You can find all on my github > ideas.txt, but here are 4 NEW IMPLEMENTED ONES Flashbang cat So I thought “How can i distract the player…” and then i got a brilliant idea: “cat… and flashbang”. Basicly cat spawn of your screen and just explodes. That’s it. You can hover the cat to make it dissapear, but more of those will come for you. (3 color variants) Immortal Snail Yup. It is always behind you. Always. The higher level of Challenge, the faster it moves. You can easily escape it, but remember… It is always going towards you. (Just slowly flies towards you) Fall Damge - Dark Souls Edition ☠️ So you know the memes (and gameplay) of DS1 where you fall from 0.1 meters and you just die? I implemented it here! You won’t be able to just jump around… Think about every jump as if it will kill you (literally will). Mix it with Rigid Jump and you are cooked (but it will still be possible to beat) Random Sprite Animations That one is not that bad. Your sprite now does a lot of random animations, flips etc. It might be a bit distracting, but it wont kill you. Is it all??? NOPE Of course not. I have planed over 13 more challenges and I hope I will have time to implement everything, then actually make the game playable. I hope you like (or you don’t -> that’s a silly rage game so it’s better if you don’t like it i guess) the ideas and will play the game soon!"}, {"post_id": 75603, "ts": "2026-09-30T15:16:58Z", "hours": 2.3844, "text": "Another 3 Unique Challenges! Hiiii I made another 3 challenges for my platformer game. One is another popup and other two are shaders! “Wanna Keep Playing?” Challenge It might be one of the best there will be in the game. There is a popup that says “Wanna keep playing?” but there is 50% that it won’t be in english… I find it kinda funny. When you click “no” you just die, and if you want to continue my awesome game you just do that. “Mirror” Challenge Sooo kinda explains itself. There is a chance that your screen will get reversed. That’s it. I’m planning to add icon that your screen is actually reversed because now it just happens -> so if you have ad popup visible you won’t see the screen reversing… and you are almost for sure dead. “Random Shader” Challenge There is a chance that your screen will apply a random shader. For now I only have 3 of those: grayscale, inverted colors, distortion (that one is the worst). There will be much more I now have 6 challenges, and there will be much more. Some of them will be boring and somehow annoying… I know that, but there have to be bad challenges so the good one look more unique or something idk. I have some funny ideas, but if you have something cool let me know! That’s all for now"}, {"post_id": 74650, "ts": "2026-09-27T21:05:55Z", "hours": 2.9628, "text": "Ultra Custom Platformer So I started with my super evil plan for the game. The player customizes their own expirience in the game and can feel as much pain as they want. As you can see in the video I have 3 challenges working. Most of challenges have 3 levels, but some will be just ON/OFF. Here they are: Ice floor It messes up with acceleration and friction. Silly but not that fun to play with Rigid Jump Watch the video. You might see that I can make small jump by tapping the jump key… It’s impossible with Rigid Jump challange! You always jump with the same power even if you just tap the key. That one is evil… but not that hard tbh. Popups One of my favourites (of all I could think of). Like in fnaf UCN there are “ads” inside the game. It randomly pops up if the player is on ground. IT DOES NOT pause the game, so the player has to be really carefull… Temporarily L sits in his chair but I’ll make couple of unique popups. Textures I did not create them… But the assets looks soooo gooood. Here are the links on itchio: Player Tileset It’s just the begining So i have 14 challenges in mind. I hope there will be more, but for now i implemented only 3… This will be pure chaos"}, {"post_id": 74197, "ts": "2026-09-26T22:07:38Z", "hours": 0.2769, "text": "Diabolical Idea… I want to make 2D platformer where the player chooses challenges. Something like in Fnaf UCN. My ideas: Easy but Hard There will be simple level, but player will make it harder. Challenges You can see everything on github in my idea.txt, but here are some examples: ice floor - really bad acceleration and friction Popups - random ads(not actually ads, maybe my games and some memes), close with a mouse Lagging - the game will get glitched frame and fps will drop Gambling - you get small animation and you can randomly die idk lol Visual Effects - too much distraction on screen I am really limited by time this month so I hope I will at least make it playable with some challenges… It will be my second (almost) “professional” game, so I hope it won’t take too much time. I would love to start it today but i’m eepy and it’s already past midnight I hope you like the (really bad) idea, I’ll try my best"}]...
|
Title: Ultimate Custom Platformer by @Martisos | S Title: Ultimate Custom Platformer by @Martisos | Stardance
Devlogs:
Diabolical Idea… I want to make 2D platformer where the player chooses challenges. Something like in Fnaf UCN. My ideas: Easy but Hard There will be simple level, but player will make it harder. Challenges You can see everything on github in my idea.txt, but here are some examples: ice floor - really bad acceleration and friction Popups - random ads(not actually ads, maybe my games and some memes), close with a mouse Lagging - the game will get glitched frame and fps will drop Gambling - you get small animation and you can randomly die idk lol Visual Effects - too much distraction on screen I am really limited by time this month so I hope I will at least make it playable with some challenges… It will be my second (almost) “professional” game, so I hope it won’t take too much time. I would love to start it today but i’m eepy and it’s already past midnight I hope you like the (really bad) idea, I’ll try my best
Ultra Custom Platformer So I started with my super evil plan for the game. The player customizes their own expirience in the game and can feel as much pain as they want. As you can see in the video I have 3 challenges working. Most of challenges have 3 levels, but some will be just ON/OFF. Here they are: Ice floor It messes up with acceleration and friction. Silly but not that fun to play with Rigid Jump Watch the video. You might see that I can make small jump by tapping the jump key… It’s impossible with Rigid Jump challange! You always jump with the same power even if you just tap the key. That one is evil… but not that hard tbh. Popups One of my favourites (of all I could think of). Like in fnaf UCN there are “ads” inside the game. It randomly pops up if the player is on ground. IT DOES NOT pause the game, so the player has to be really carefull… Temporarily L sits in his chair but I’ll make couple of unique popups. Textures I did not create them… But the assets looks soooo gooood. Here are the links on itchio: Player Tileset It’s just the begining So i have 14 challenges in mind. I hope there will be more, but for now i implemented only 3… This will be pure chaos
Another 3 Unique Challenges! Hiiii I made another 3 challenges for my platformer game. One is another popup and other two are shaders! “Wanna Keep Playing?” Challenge It might be one of the best there will be in the game. There is a popup that says “Wanna keep playing?” but there is 50% that it won’t be in english… I find it kinda funny. When you click “no” you just die, and if you want to continue my awesome game you just do that. “Mirror” Challenge Sooo kinda explains itself. There is a chance that your screen will get reversed. That’s it. I’m planning to add icon that your screen is actually reversed because now it just happens -> so if you have ad popup visible you won’t see the screen reversing… and you are almost for sure dead. “Random Shader” Challenge There is a chance that your screen will apply a random shader. For now I only have 3 of those: grayscale, inverted colors, distortion (that one is the worst). There will be much more I now have 6 challenges, and there will be much more. Some of them will be boring and somehow annoying… I know that, but there have to be bad challenges so the good one look more unique or something idk. I have some funny ideas, but if you have something cool let me know! That’s all for now
I made 4 unique Challenges Sooooo I wrote some funny ideas for my game. You can find all on my github > ideas.txt, but here are 4 NEW IMPLEMENTED ONES Flashbang cat So I thought “How can i distract the player…” and then i got a brilliant idea: “cat… and flashbang”. Basicly cat spawn of your screen and just explodes. That’s it. You can hover the cat to make it dissapear, but more of those will come for you. (3 color variants) Immortal Snail Yup. It is always behind you. Always. The higher level of Challenge, the faster it moves. You can easily escape it, but remember… It is always going towards you. (Just slowly flies towards you) Fall Damge - Dark Souls Edition ☠️ So you know the memes (and gameplay) of DS1 where you fall from 0.1 meters and you just die? I implemented it here! You won’t be able to just jump around… Think about every jump as if it will kill you (literally will). Mix it with Rigid Jump and you are cooked (but it will still be possible to beat) Random Sprite Animations That one is not that bad. Your sprite now does a lot of random animations, flips etc. It might be a bit distracting, but it wont kill you. Is it all??? NOPE Of course not. I have planed over 13 more challenges and I hope I will have time to implement everything, then actually make the game playable. I hope you like (or you don’t -> that’s a silly rage game so it’s better if you don’t like it i guess) the ideas and will play the game soon!
New Challenges So today I’ve made 2 unique things. Lagging and Flashlight Mode. Am I proud of those two? Yes! (and no!) I’ve tried to beat the game on every challenge turned on… It’s quite… uhh “almost humanly impossible”. So my debug world takes 8 seconds to beat without anything… With everything I beat it once. Lagging So I’ve added lagging to my game because it was too smoth… Of course I’m kidding and the lags are not permament. It can randomly show and limit your fps (depends on level of lag) for 0.5s - 2.5s. It also gives a cool screen effect. Flashlight Mode Happy Spooky Month! Sooo… I’m not that proud of myself here. The idea is REALLY ANNOYING and not really fun. I’ve added it anyways. Move your mouse to see - that’s it. I’ve used (someone else’s) shader to make it. You can still see the cats because it would be impossible for sure (Trust me, I’ve tried). Now you have to operate with your mouse WHILE STILL PLAYING the platformer part. Woooo Spooky Month. Background I’ve made background using 5 paralaxes. I think it looks awesome! It was quite annoying to set up all 5 layers but I’ve somehow did it! Small Summary When I was creating this project I wasn’t sure if it is a good idea. Now I see that it (almost) is! The challenges are unique and most of them are silly. I hope I’ll be able to finish it (I have less than 2 weeks…) Anyways: In case I don’t see ya, good afternoon, good evening, and good night! (wherever you are)
Ultimate Custom Platformer Hiii again ! I’m back with some new features! One new challenge, new world and a basic menu! You can clearly see the menu is not finished. The world needs some changes, but I will do it only if i have time. GAMBLING This challenge is just random (as the name might suggest). Slot machine spawns on your screen. You have 5% to just die. That’s it, because gambling is bad or something idk. World-1 I called it 1 because I thought there will be more… There is no way, maybe in later patches… Not on this hackclub project. I think it looks good. The paralax layers (sky and forest) looks awesome. It is not hard, as intended. The player (you :D) has to choose the challenges to make it hard. Challenges Menu I’m using saves, so even if you close the app (or browser in this case, because it will be aviable on itch.io) your highscore will be saved! Even the challenges configuration will, so you dont have to change it every time you go back to menu. A lot minor changes So in this 6h I’ve made so much things, but those were major ones! I hope you like it!
ULTIMATE Update For Ultimate Custom Platformer I had a lot of work, and so much fun creating this. For last 8 hours I was creating menu, system points, saving system, tooltips, presets and moreee Here are some major things I’ve made: Menu Update Points System Presets New look So I am happy how it looks and operates now! You can choose a preset and try to beat it! If you manage to do it, preset will turn green! Like in UCN, those are just “fun” ideas how you can beat the game. Win Screen I wanted it to look really similar to the UCN. I think I did a good job? I like watching the numbers going up, the text changing, font size going up… YOU watching it -> Death Screen Again, something that looks like UCN. I know it is kinda annoying in the long run. There will be option in settings (which i did not make while writing the devlog :P) that automaticly restarts the game. Like geometry dash. New Challenge - Visual Effects So I got inspider by Fnaf World. The fireworks can pop up on your screen and just distract you. I also used same fireworks on Win Screen, but in game there is… a little bit more than 5 fireworks at one time. Todo There is still some work to be done. Music & Sounds More presets general game feel icons and poppups And probably i forgot about something really important… Yup probably yeah. But I will continue developing the game! See ya on itchio (hopefuly in 2-3 days?)
THE GAME IS READY So i made last changes. Audio System, Music, SFX, images, icons… A lot of work but it is now finished… Quick summary here, because i want to ship it already Audio Player I made custom audio player, so i can overlap a lot of sounds. Only one music can play at once and it’s really easy to change them. Music & SFX I found really cool artist. You can find him here: https://hydrogene.itch.io/high-quality-16-bit-music Also I’ve downloaded some sound effects, like flashbang, meows, jackpot… See for yourself ! Read me I wrote a quick readme explaining the controls and how the game works. I mainly looked at my previous game read me and wrote it that way it’s describing this one… crazy i know. IM SO EXCITED Another 30h project is completed! I really want to see how people combo those effects, so I would appreciate YOU checking the game (it should be out in couple of minutes)
Last changes before ship I was so excited to ship that I forgot about small changes, code cleanup and debug things… Ooopss. The game is now ready to be played!
Ships:
I’ve made 2D platformer. But not like others slop ones. This is special slop inspired by FNAF Ultimate Custom Night! Player chooses from 15 unique modifiers to make the game hard for theirself. Some of them affect Player directly, some others are just popups… Check the game to see all of them. I am so excited to ship the game. At first I was wandering if the game will be good… Now I know that the project if silly and fun to play! It was hard… I had limited time and had to speedrun some stuff. The game is more like a demo, I might update it in the future! Every hour of making it was a good hour. I’ve enjoyed it and I hope you also will enjoy playing the game! Good luck with the challenges! It is my third game made in godot and I am sure i made progress. The game looks awesome to me, and the fact that I’ve made it in just 30h is insane...
|
1793094740.9544425
|
1793181140.9544425
|
|
69200
|
PDFTools by @itzdeep2 | Stardance
|
itzdeep2
|
5
|
30.0
|
252
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-28T15:50:39Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "PDFTools is a client-side web application designed to run entirely in the browser without server-side processing for its core file utilities. It provides an all-in-one suite of tools including PDF merging, single-page splitting, PDF-to-JPG conversion, password removal, document protection/encryption, page rotation, and stream-based document compression using pdf-lib and pdf.js. Additionally, it features OCR text extraction powered by tesseract.js, universal media and format conversions using WebAssembly-based FFmpeg, in-browser AI-driven background removal via Transformers.js ( @bg0 /browser), and client-side audio noise cleaning using the Web Audio API. The interface includes customizable themes, drag-and-drop file upload zones, audio click feedback, and an embedded iframe hosting the OpenDesign/Tela canvas editor for rich, interactive layout and document design.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 2, "ts": "2026-10-23T13:57:40Z", "hours": 10.0, "multiplier": 10.9, "payout": 106, "blessing": "neutral", "text": "🚢 Shipped: PDFTools & OpenDesign (100% Client-Side Privacy Suite) — I just launched PDFTools, a completely offline, browser-based utility suite featuring the OpenDesign Studio for visual canvas editing and document signing, along with local PDF merging, splitting, OCR text extraction, structure compression, and client-side format conversion. The core philosophy here is zero-knowledge privacy: not a single byte ever leaves your machine, ensuring sensitive documents are never uploaded to remote third-party servers. While certain experimental features like large media transcoding and heavy AI background removal push browser memory limits and may not function as seamlessly as they would on dedicated cloud farms, relying strictly on client-side WebAssembly was an intentional, non-negotiable architectural decision to protect your data sovereignty and guarantee absolute privacy.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 3, "ts": "2026-10-18T17:20:17Z", "hours": 8.0, "multiplier": 15.48, "payout": 123, "blessing": "neutral", "text": "this ship is not a major change but somebody said the most people think about something is the attention to detail/ the small thing and changes..!! still i tried my best to add the details i can add, everything i know that feels missing. some may recomend me that add some images but the actual problem is i want to make the site as light weight as i can so i used emojis instead of images..!! and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 4, "ts": "2026-10-13T15:36:01Z", "hours": 3.0, "multiplier": 4.22, "payout": 16, "blessing": "neutral", "text": "I made PDFTools to do basic PDF tasks in one place. You can merge and split PDFs, convert them to images, add text, and use OCR to read text from images. The hardest part was getting the different tools to work properly in the browser. I’m proud that the files are processed on the user’s device instead of being uploaded to my server. I also added separate pages and emoji buttons to make it easier to use. You can try it using the project link!", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 5, "ts": "2026-10-12T14:18:16Z", "hours": 2.0, "multiplier": 2.82, "payout": 7, "blessing": "neutral", "text": "Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}]...
|
[{"post_id": 83766, "ts": "202 [{"post_id": 83766, "ts": "2026-10-28T15:41:31Z", "hours": 7.1522, "text": "Honestly, I just spent about 4 hours bashing my head against a wall trying to figure out how to build a 100% offline, free Canva alternative from scratch. It felt downright impossible, and after trying everything I could think of, I have to admit I just don’t have the technical chops to pull off a fully local build right now. Definitely something I want to tackle again in the future once I learn more. For now, huge shoutout to the OpenDesign project by clawnify( https://github.com/clawnify/OpenDesign ). I ended up integrating their open-source project to power the editor here. Important heads-up: Because this setup relies on a server, it is not 100% local. If you’re working with private or confidential files, please make sure to delete your projects when you’re done so nobody else can see them. On the bright side, I did get the background remover working completely offline! It runs 100% locally using an in-browser AI model. The only catch is that on the first run, it has to download a ~300–500MB model file once. After that initial download, it processes everything right on your machine."}, {"post_id": 82017, "ts": "2026-10-23T13:55:08Z", "hours": 2.3939, "text": "fixed all the errors and things which i could still many thing to go Remember that this is a all offine local tool some of the function is not working as intended (as some of the processing require large servers) { using server would ruin the project as it is made by keeping privacy in mind} still tried to fix…!!"}, {"post_id": 81747, "ts": "2026-10-22T10:30:09Z", "hours": 2.49, "text": "The open design and remove bg has some bugs so its currently not working i am trying to fix it…… and added a new feature rotate pdf and also universal convert only works with images/pdfs files not videos i will implement the video feature soon so stay tuned…!!!!"}, {"post_id": 81508, "ts": "2026-10-21T15:11:08Z", "hours": 2.1814, "text": "added remove background and clean audio (noise remover) but its not working i am trying to fix it but i am not getting much time as i am working somewhere else so pls don’t mind the delay..!!"}, {"post_id": 81427, "ts": "2026-10-21T07:21:04Z", "hours": 0.8461, "text": "Add the universal convert it will auto detect the file uploaded and ask the format accordingly which we want to convert…!!! Still its Pending because the download function is not working so i have to fix it… STAY TUNED…!!!"}, {"post_id": 81221, "ts": "2026-10-20T10:49:54Z", "hours": 1.855, "text": "added different colour themes and also added a universal convert which is currently in progress…!!! stay tuned..!!"}, {"post_id": 80733, "ts": "2026-10-18T17:18:34Z", "hours": 1.5733, "text": "added a opendesign like canva still i dont wanna higlight it as its under construction and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)"}, {"post_id": 80663, "ts": "2026-10-18T13:05:08Z", "hours": 0.6958, "text": "the most usable thing and the most difficult and challenging thing is to add the all direction resize pull tabs (before it can be done only using the bottom right tab) many things i had to delete and more than 100+ insertation to add and also thanks to AI for sorting out the confusing thing and helping me add the all direction resize tab without confusing the script.js which direction the user is pulling…!!!"}, {"post_id": 80651, "ts": "2026-10-18T12:09:11Z", "hours": 2.2322, "text": "tbh really frustrated with the edit pdf option rest everything didn’t took so much time. but this is causing so much error and i have to add a remove many things thanks to my computer teacher who helped a lot to edit and improve the design like the whitout had a border which i removed and also the delete option disappeared real quick so i had to fix it…!! hope you like it many more changes and features to add i am thinking to add a canva type thing locally so stay tuned…!!!!"}, {"post_id": 80355, "ts": "2026-10-17T11:51:43Z", "hours": 3.4286, "text": "in edit pdf i have added different fonts and,size and colour..!!! also added whiteout which you can whiteout anything you don’t want and also added the image adding but there is some changes to make like image crop option and size option rest everything good…!!! but still sign option is not working so i am trying to add it. REMEMBER THIS IS A LOCAL TOOL (RUNS ON YOUR BROWSER) YOUR DATA NEVER LEAVES YOU DEVICE. everything is processed in your browser so it might have some bugs depending on your device specs i am trying to fix it but i need help if anybody can help pls dm me..!!! if any more suggesstion you have pls comment"}, {"post_id": 79332, "ts": "2026-10-13T15:27:28Z", "hours": 3.0969, "text": "As many of the people in review has told about my flaws and what i can improve, i want to thank them for this honest review. I added the interactive buttons with emoji and also added indivisual pages for every action. some of you also compared my project to ILovePdf for them i want to say that in my project everything stays in your device everything is processed in your browser unlike this companies which upload your pdf to server. it gives some advantages to my project ie. safe, private, secure, fast."}, {"post_id": 78789, "ts": "2026-10-11T16:39:18Z", "hours": 2.0847, "text": "Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed."}]...
|
Title: PDFTools by @itzdeep2 | Stardance
Devlogs: Title: PDFTools by @itzdeep2 | Stardance
Devlogs:
Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.
As many of the people in review has told about my flaws and what i can improve, i want to thank them for this honest review. I added the interactive buttons with emoji and also added indivisual pages for every action. some of you also compared my project to ILovePdf for them i want to say that in my project everything stays in your device everything is processed in your browser unlike this companies which upload your pdf to server. it gives some advantages to my project ie. safe, private, secure, fast.
in edit pdf i have added different fonts and,size and colour..!!! also added whiteout which you can whiteout anything you don’t want and also added the image adding but there is some changes to make like image crop option and size option rest everything good…!!! but still sign option is not working so i am trying to add it. REMEMBER THIS IS A LOCAL TOOL (RUNS ON YOUR BROWSER) YOUR DATA NEVER LEAVES YOU DEVICE. everything is processed in your browser so it might have some bugs depending on your device specs i am trying to fix it but i need help if anybody can help pls dm me..!!! if any more suggesstion you have pls comment
tbh really frustrated with the edit pdf option rest everything didn’t took so much time. but this is causing so much error and i have to add a remove many things thanks to my computer teacher who helped a lot to edit and improve the design like the whitout had a border which i removed and also the delete option disappeared real quick so i had to fix it…!! hope you like it many more changes and features to add i am thinking to add a canva type thing locally so stay tuned…!!!!
the most usable thing and the most difficult and challenging thing is to add the all direction resize pull tabs (before it can be done only using the bottom right tab) many things i had to delete and more than 100+ insertation to add and also thanks to AI for sorting out the confusing thing and helping me add the all direction resize tab without confusing the script.js which direction the user is pulling…!!!
added a opendesign like canva still i dont wanna higlight it as its under construction and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)
added different colour themes and also added a universal convert which is currently in progress…!!! stay tuned..!!
Add the universal convert it will auto detect the file uploaded and ask the format accordingly which we want to convert…!!! Still its Pending because the download function is not working so i have to fix it… STAY TUNED…!!!
added remove background and clean audio (noise remover) but its not working i am trying to fix it but i am not getting much time as i am working somewhere else so pls don’t mind the delay..!!
The open design and remove bg has some bugs so its currently not working i am trying to fix it…… and added a new feature rotate pdf and also universal convert only works with images/pdfs files not videos i will implement the video feature soon so stay tuned…!!!!
fixed all the errors and things which i could still many thing to go Remember that this is a all offine local tool some of the function is not working as intended (as some of the processing require large servers) { using server would ruin the project as it is made by keeping privacy in mind} still tried to fix…!!
Honestly, I just spent about 4 hours bashing my head against a wall trying to figure out how to build a 100% offline, free Canva alternative from scratch. It felt downright impossible, and after trying everything I could think of, I have to admit I just don’t have the technical chops to pull off a fully local build right now. Definitely something I want to tackle again in the future once I learn more. For now, huge shoutout to the OpenDesign project by clawnify( https://github.com/clawnify/OpenDesign ). I ended up integrating their open-source project to power the editor here. Important heads-up: Because this setup relies on a server, it is not 100% local. If you’re working with private or confidential files, please make sure to delete your projects when you’re done so nobody else can see them. On the bright side, I did get the background remover working completely offline! It runs 100% locally using an in-browser AI model. The only catch is that on the first run, it has to download a ~300–500MB model file once. After that initial download, it processes everything right on your machine.
Ships:
Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.
I made PDFTools to do basic PDF tasks in one place. You can merge and split PDFs, convert them to images, add text, and use OCR to read text from images. The hardest part was getting the different tools to work properly in the browser. I’m proud that the files are processed on the user’s device instead of being uploaded to my server. I also added separate pages and emoji buttons to make it easier to use. You can try it using the project link!
this ship is not a major change but somebody said the most people think about something is the attention to detail/ the small thing and changes..!! still i tried my best to add the details i can add, everything i know that feels missing. some may recomend me that add some images but the actual problem is i want to make the site as light weight as i can so i used emojis instead of images..!! and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)
🚢 Shipped: PDFTools & OpenDesign (100% Client-Side Privacy Suite) — I just launched PDFTools, a completely offline, browser-based utility suite featuring the OpenDesign Studio for visual canvas editing and document signing, along with local PDF merging, splitting, OCR text extraction, structure compression, and client-side format conversion. The core philosophy here is zero-knowledge privacy: not a single byte ever leaves your machine, ensuring sensitive documents are never uploaded to remote third-party servers. While certain experimental features like large media transcoding and heavy AI background removal push browser memory limits and may not function as seamlessly as they would on dedicated cloud farms, relying strictly on client-side WebAssembly was an intentional, non-negotiable architectural decision to protect your data sovereignty and guarantee absolute privacy.
PDFTools is a client-side web application designed to run entirely in the browser without server-side processing for its core file utilities. It provides an all-in-one suite of tools including PDF merging, single-page splitting, PDF-to-JPG conversion, password removal, document protection/encryption, page rotation, and stream-based document compression using pdf-lib and pdf.js. Additionally, it features OCR text extraction powered by tesseract.js, universal media and format conversions using WebAssembly-based FFmpeg, in-browser AI-driven background removal via Transformers.js ( @bg0 /browser), and client-side audio noise cleaning using the Web Audio API. The interface includes customizable themes, drag-and-drop file upload zones, audio click feedback, and an embedded iframe hosting the OpenDesign/Tela canvas editor for rich, interactive layout and document design....
|
1793217347.351694
|
1793303747.351694
|
|
69886
|
JT Sportsfest Website by @ahmadhassan | Stardance
|
ahmadhassan
|
1
|
30.0
|
73
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-15T16:43:55Z", "hours": 30.0, "multiplier": 7.29, "payout": 73, "blessing": "neutral", "text": "This is a website for my school’s sports event in which delegates can check rules of the sports and register their schools for the event.", "repo": "https://github.com/ahmad-56/jtsportsfest26", "demo": "https://lgsjtsportsfest.com"}]...
|
[{"post_id": 79831, "ts": "202 [{"post_id": 79831, "ts": "2026-10-15T15:47:19Z", "hours": 30.4494, "text": "JT Sportsfest Website"}]...
|
Title: JT Sportsfest Website by @ahmadhassan | Sta Title: JT Sportsfest Website by @ahmadhassan | Stardance
Devlogs:
JT Sportsfest Website
Ships:
This is a website for my school’s sports event in which delegates can check rules of the sports and register their schools for the event....
|
1793156160.8163824
|
1793242560.8163824
|
|
31211
|
Swiftpanel V2. by @shubham0975310 | Stardance
|
shubham0975310
|
0
|
29.97
|
0
|
[]
|
[{"post_id": 25721, "ts": "202 [{"post_id": 25721, "ts": "2026-07-10T04:46:28Z", "hours": 3.1542, "text": "Created the backup and allocations pages"}, {"post_id": 24736, "ts": "2026-07-08T14:47:14Z", "hours": 1.0467, "text": "Added support for deep inside folders and formatted some table properties."}, {"post_id": 24615, "ts": "2026-07-08T10:16:53Z", "hours": 2.6694, "text": "Added files pages"}, {"post_id": 24207, "ts": "2026-07-07T16:55:10Z", "hours": 0.8592, "text": "Created the startup page."}, {"post_id": 24173, "ts": "2026-07-07T16:00:10Z", "hours": 1.0525, "text": "Created the setttings page."}, {"post_id": 23451, "ts": "2026-07-06T13:19:39Z", "hours": 1.2761, "text": "Created server based Navbar and added default pages for all the required routes."}, {"post_id": 23374, "ts": "2026-07-06T09:31:50Z", "hours": 2.0953, "text": "Fixed console out whitespace being wraped, added formatting for Memory, Storage and Uptime"}, {"post_id": 23316, "ts": "2026-07-06T06:01:17Z", "hours": 17.815, "text": "Created the Login Pages, the Dashboard page showing all the statuses and the console page consisting of server logs and server status pages."}]...
|
Title: Swiftpanel V2. by @shubham0975310 | Stardan Title: Swiftpanel V2. by @shubham0975310 | Stardance
Devlogs:
Created the Login Pages, the Dashboard page showing all the statuses and the console page consisting of server logs and server status pages.
Fixed console out whitespace being wraped, added formatting for Memory, Storage and Uptime
Created server based Navbar and added default pages for all the required routes.
Created the setttings page.
Created the startup page.
Added files pages
Added support for deep inside folders and formatted some table properties.
Created the backup and allocations pages...
|
1792576335.0580482
|
1793181135.0580482
|
|
12515
|
Stellar Safari by @NexBlade-Studios | Stardance
|
NexBlade-Studios
|
0
|
29.95
|
0
|
[]
|
[{"post_id": 73332, "ts": "202 [{"post_id": 73332, "ts": "2026-09-24T21:47:34Z", "hours": 3.3581, "text": "Although it might seem like I haven’t changed much, behind the scenes there’s been a lot of progress. Apart from the minor UI tweaks where I added a box and border to the different bars, made the energy bar yellow to match the power cells I modelled and made the overall colour scheme blue instead of having different colours, I have been working on the core systems that change the values of the different bars. For example, I linked the heat bar to the actual mining system which is now in place, and allows the player to actually mine the ores, the drill durability, energy and heat then all get updated. And then when the drill overheats that is also handled. Now I just need to make it look a bit nicer, since there is currently no particles or animation and ores just disappear."}, {"post_id": 71400, "ts": "2026-09-20T19:11:01Z", "hours": 1.5186, "text": "Done some work on the UI. Would appreciate some feedback!"}, {"post_id": 71175, "ts": "2026-09-20T12:06:16Z", "hours": 1.1031, "text": "I have made some quick renders that I am going to be using for the inventory icons."}, {"post_id": 70928, "ts": "2026-09-20T01:58:06Z", "hours": 3.1233, "text": "The drills have been textured now and man do they look clean!!! I have kept them to the same red aesthetic since I have made it so they are all made by one company called the Stellar Frontier Agency, and they are the ones who have sent you to collect and mine resources. Once I flesh out more of the “lore” of the game I will be sure to share!"}, {"post_id": 67683, "ts": "2026-09-13T21:05:33Z", "hours": 5.9056, "text": "I have been working more on some 3D models for drills that I will have in the game. The premise is this. The player starts out with a simple drill. It can mine copper and iron ore, however it is quite slow because it overheats quickly and also requires recharging often. The player can upgrade three parts of the drill to improve it. First they can upgrade the energy capacity so the drill can be used for longer without needing more energy to run. Or they can upgrade the cooling which means the drill will not overheat in the middle of drilling as often. Or they can upgrade the drill head, which can improve other aspects such as the amount of material you get per ore."}, {"post_id": 58268, "ts": "2026-08-30T17:14:53Z", "hours": 1.0775, "text": "Really testing the limits of my optimisation here. I was just playing around with some settings and wanted to see if the game would still run at a spawn radius of 100 and surprisingly it does. I have added a world object manager that now handles despawning ores and other items, keeping it separate to the tiles. I managed to capture this screenshot from underneath the “lunar surface” in the scene view, and it looks quite like an asteroid belt which I though was pretty cool."}, {"post_id": 57746, "ts": "2026-08-30T00:40:04Z", "hours": 6.3875, "text": "Well I said I wouldn’t be doing more work on the tile generation system but well, I just couldn’t help it. Previously the tiles only generated in a small radius around the player, which meant that it lost the immersive feel of space exploration, where it should feel like a truly endless expanse. This is why I changed this system to instead spawn a semicircle of tiles in front of the player. This allows for a larger range of tiles and better view. I have also implemented my ore generation in this system, so iron and copper can now be found on the surface. I also added key optimisation features such as object pooling, which means that the tiles don’t constantly need to be instantiated but are instead pooled and reused which significantly improves performance. The next thing I want to work on now is adding more resource spawns and a crafting system so the resources can actually be used for improving your spaceship and building your lunar colony!"}, {"post_id": 51984, "ts": "2026-08-21T23:54:52Z", "hours": 1.8767, "text": "Currently I have been working on not just tile generation which was my main focus before, but now I am looking at ore and resource generation. In my game I have some key resources, those being: copper iron power cells gems / crystals (idk which one to call) So what the game loop will be is that across the moon’s surface there will be certain resource deposits. In order to obtain those resources there will some obstacle in the way. For example, around iron deposits there is a higher chance of crater formation. Power cells can also be used to power generators and such but I have not got onto that yet."}, {"post_id": 7089, "ts": "2026-06-11T21:18:33Z", "hours": 4.475, "text": "For the past couple of days I have been working on implementing different systems that make up the core of the gameplay. Namely, the grid generator and the animations. Now the player has the freedom to move in any direction they wish, with tiles randomly generating in all directions. This is moving the project closer to the exploration game I intend. I still have to add ores, power stations, hazards and puzzles, but this is a step in the right direction."}, {"post_id": 4850, "ts": "2026-06-08T11:52:13Z", "hours": 1.1253, "text": "I have been working on this project for a couple of months so far. This game is basically a survival game where the player is an astronaut who crash lands on the moon and has to repair their spaceship in order to go to other planets. Currently I have implemented a simple grid movement and also some initial tile management. The main thing that I added was a way of keeping the player in view by hiding any objects in front of the camera through the use of raycasts. I still have to work on the actual tile generation and eventual puzzle mechanics to complete the game."}]...
|
Title: Stellar Safari by @NexBlade-Studios | Stard Title: Stellar Safari by @NexBlade-Studios | Stardance
Devlogs:
I have been working on this project for a couple of months so far. This game is basically a survival game where the player is an astronaut who crash lands on the moon and has to repair their spaceship in order to go to other planets. Currently I have implemented a simple grid movement and also some initial tile management. The main thing that I added was a way of keeping the player in view by hiding any objects in front of the camera through the use of raycasts. I still have to work on the actual tile generation and eventual puzzle mechanics to complete the game.
For the past couple of days I have been working on implementing different systems that make up the core of the gameplay. Namely, the grid generator and the animations. Now the player has the freedom to move in any direction they wish, with tiles randomly generating in all directions. This is moving the project closer to the exploration game I intend. I still have to add ores, power stations, hazards and puzzles, but this is a step in the right direction.
Currently I have been working on not just tile generation which was my main focus before, but now I am looking at ore and resource generation. In my game I have some key resources, those being: copper iron power cells gems / crystals (idk which one to call) So what the game loop will be is that across the moon’s surface there will be certain resource deposits. In order to obtain those resources there will some obstacle in the way. For example, around iron deposits there is a higher chance of crater formation. Power cells can also be used to power generators and such but I have not got onto that yet.
Well I said I wouldn’t be doing more work on the tile generation system but well, I just couldn’t help it. Previously the tiles only generated in a small radius around the player, which meant that it lost the immersive feel of space exploration, where it should feel like a truly endless expanse. This is why I changed this system to instead spawn a semicircle of tiles in front of the player. This allows for a larger range of tiles and better view. I have also implemented my ore generation in this system, so iron and copper can now be found on the surface. I also added key optimisation features such as object pooling, which means that the tiles don’t constantly need to be instantiated but are instead pooled and reused which significantly improves performance. The next thing I want to work on now is adding more resource spawns and a crafting system so the resources can actually be used for improving your spaceship and building your lunar colony!
Really testing the limits of my optimisation here. I was just playing around with some settings and wanted to see if the game would still run at a spawn radius of 100 and surprisingly it does. I have added a world object manager that now handles despawning ores and other items, keeping it separate to the tiles. I managed to capture this screenshot from underneath the “lunar surface” in the scene view, and it looks quite like an asteroid belt which I though was pretty cool.
I have been working more on some 3D models for drills that I will have in the game. The premise is this. The player starts out with a simple drill. It can mine copper and iron ore, however it is quite slow because it overheats quickly and also requires recharging often. The player can upgrade three parts of the drill to improve it. First they can upgrade the energy capacity so the drill can be used for longer without needing more energy to run. Or they can upgrade the cooling which means the drill will not overheat in the middle of drilling as often. Or they can upgrade the drill head, which can improve other aspects such as the amount of material you get per ore.
The drills have been textured now and man do they look clean!!! I have kept them to the same red aesthetic since I have made it so they are all made by one company called the Stellar Frontier Agency, and they are the ones who have sent you to collect and mine resources. Once I flesh out more of the “lore” of the game I will be sure to share!
I have made some quick renders that I am going to be using for the inventory icons.
Done some work on the UI. Would appreciate some feedback!
Although it might seem like I haven’t changed much, behind the scenes there’s been a lot of progress. Apart from the minor UI tweaks where I added a box and border to the different bars, made the energy bar yellow to match the power cells I modelled and made the overall colour scheme blue instead of having different colours, I have been working on the core systems that change the values of the different bars. For example, I linked the heat bar to the actual mining system which is now in place, and allows the player to actually mine the ores, the drill durability, energy and heat then all get updated. And then when the drill overheats that is also handled. Now I just need to make it look a bit nicer, since there is currently no particles or animation and ores just disappear....
|
1792770553.6828525
|
1793375353.6828525
|
|
46371
|
Let down your hair by @airinazaria_h_putri | Stard Let down your hair by @airinazaria_h_putri | Stardance...
|
airinazaria_h_putri
|
0
|
29.9
|
0
|
[]
|
[{"post_id": 80725, "ts": "202 [{"post_id": 80725, "ts": "2026-10-18T16:48:35Z", "hours": 2.8517, "text": "i’m still working on mini games, now i’ve done making games like, jumping game and fireplace game (for bedroom) next, i want to add library game where the player needs to be quiet."}, {"post_id": 80306, "ts": "2026-10-17T06:35:57Z", "hours": 1.8267, "text": "So now i’m making maze game, not related to the plot tho, and it’s just a simple maze game that player can randomized it each time they played"}, {"post_id": 80188, "ts": "2026-10-16T16:55:44Z", "hours": 2.4786, "text": "Because stardance getting extended, i intend to add more minigames for player to explore. So i change the code for unlocked places. I also cut the ending to be more short."}, {"post_id": 75157, "ts": "2026-09-29T09:54:50Z", "hours": 1.5003, "text": "Now i’m making more scene such as library scene, dress-up scene.. and connecting them with dialogic"}, {"post_id": 74327, "ts": "2026-09-27T05:35:53Z", "hours": 1.8814, "text": "My first idea was to make every object in some areas interactive, and add some minigames too. But since I’m running out of time, I’ll focus on the main story for now. Hopefully, I can keep adding more minigames later! For now, I’m just using a placeholder that says the object is locked. Lol"}, {"post_id": 74104, "ts": "2026-09-26T18:01:22Z", "hours": 1.6031, "text": "Almost done… I just need to add info, and fixing dialogic problem"}, {"post_id": 71292, "ts": "2026-09-20T16:11:06Z", "hours": 1.0611, "text": "Finally fixed the save & load system! I changed the flow so that the game pauses first, then the player can choose to go back, return to the home screen, or save the scene. The problem now is that it can’t display a screenshot of the current progress…"}, {"post_id": 68999, "ts": "2026-09-16T06:03:39Z", "hours": 1.3861, "text": "Trying to fix save & load scene"}, {"post_id": 44593, "ts": "2026-08-10T13:42:52Z", "hours": 15.3064, "text": "I edited this devlog. So, i just realized that 15hours of code and the desc just saying ; work on the mini game is such a crime. And to make it more worse, i wrote my first commit ; making UI and logic… So i’ll try make it more spesific of what i do.. ( i hope it’s not late to do this) I’m making scenes that i wanted such as ; home.tscn and main.tscn I also making the rough mini games (some of it already can be played, but the button and everything still bad) the minigames ; painting game = just drawing & sketching can game = the player aiming for can to be falling crane game = well, yeah.. like the usual crane game shooting game = shooting doll to winning I also try making save & load (but at that time, it doesn’t work like i wanted too) So yeah, that’s what i was doing in 15h, actually this project was made for another ysws, but i can’t done it sooner, so i add this to stardance, and i have like 10 devlogs there, but not push it to github.. (I JUST KNOW THAT IT WAS BAD A COUPLE DAYS AGO) so for now i’ll be more spesific at telling what i do, and commit push."}]...
|
Title: Let down your hair by @airinazaria_h_putri Title: Let down your hair by @airinazaria_h_putri | Stardance
Devlogs:
I edited this devlog. So, i just realized that 15hours of code and the desc just saying ; work on the mini game is such a crime. And to make it more worse, i wrote my first commit ; making UI and logic… So i’ll try make it more spesific of what i do.. ( i hope it’s not late to do this) I’m making scenes that i wanted such as ; home.tscn and main.tscn I also making the rough mini games (some of it already can be played, but the button and everything still bad) the minigames ; painting game = just drawing & sketching can game = the player aiming for can to be falling crane game = well, yeah.. like the usual crane game shooting game = shooting doll to winning I also try making save & load (but at that time, it doesn’t work like i wanted too) So yeah, that’s what i was doing in 15h, actually this project was made for another ysws, but i can’t done it sooner, so i add this to stardance, and i have like 10 devlogs there, but not push it to github.. (I JUST KNOW THAT IT WAS BAD A COUPLE DAYS AGO) so for now i’ll be more spesific at telling what i do, and commit push.
Trying to fix save & load scene
Finally fixed the save & load system! I changed the flow so that the game pauses first, then the player can choose to go back, return to the home screen, or save the scene. The problem now is that it can’t display a screenshot of the current progress…
Almost done… I just need to add info, and fixing dialogic problem
My first idea was to make every object in some areas interactive, and add some minigames too. But since I’m running out of time, I’ll focus on the main story for now. Hopefully, I can keep adding more minigames later! For now, I’m just using a placeholder that says the object is locked. Lol
Now i’m making more scene such as library scene, dress-up scene.. and connecting them with dialogic
Because stardance getting extended, i intend to add more minigames for player to explore. So i change the code for unlocked places. I also cut the ending to be more short.
So now i’m making maze game, not related to the plot tho, and it’s just a simple maze game that player can randomized it each time they played
i’m still working on mini games, now i’ve done making games like, jumping game and fireplace game (for bedroom) next, i want to add library game where the player needs to be quiet....
|
1792662638.4410386
|
1793267438.4410386
|
|
47761
|
0x6502 by @ThePangel | Stardance
|
ThePangel
|
0
|
29.88
|
0
|
[]
|
[{"post_id": 75025, "ts": "202 [{"post_id": 75025, "ts": "2026-09-28T21:57:03Z", "hours": 4.5253, "text": "Big progress. GOT THE APPLE I RUNNING Hooray wozmon is up and running, marking the most successful milestone yet, a running system, i had to fix some opcode behaviors but it runs great!! Still very early, 1st, not all input keys are mapped, cycle stepping, the ui etc etc, but for now its progress."}, {"post_id": 73677, "ts": "2026-09-25T17:32:55Z", "hours": 3.1269, "text": "So I had to tackle some special cases to adapt everything to the new cycle accurate architecture These are mainly the operations that work with the stack In my architecture addressing handles fetching, while the run_operation() just does the math (and final data write if needed), so it only consumes one cycle, these special cases handles various cycles in their operation (independently of addressing mode) so I had to add that, and some other minor fixes to branch operations and other stuff"}, {"post_id": 73258, "ts": "2026-09-24T18:04:40Z", "hours": 2.7364, "text": "Finished refactoring all the addressing code for it to be cycle accurate. Next I’ll check and fix operations and then the TUI situation and try to get the Apple I running, good progress"}, {"post_id": 72840, "ts": "2026-09-23T20:58:26Z", "hours": 4.7969, "text": "Ok so I’m back Sorta refactoring the code base to be a cycle accurate state machine to make the emulation as truthful as I can, this involves coding each cycle independently (sorta) to maintain accuracy, I have started this refactoring with a lot to go, but at the end it will be much better than before see the code here as an example"}, {"post_id": 48539, "ts": "2026-08-16T23:29:01Z", "hours": 1.5603, "text": "Made some more progress on Implementing the Apple I machine and some TUI handling code + misc fixes"}, {"post_id": 48404, "ts": "2026-08-16T18:54:19Z", "hours": 2.1569, "text": "I worked on adding all the Apple I roms to the program, loading them at each required memory location and started working on some more of the UI"}, {"post_id": 48142, "ts": "2026-08-16T13:09:54Z", "hours": 0.9506, "text": "Started working on the Apple I implementation. Setting memory ranges and more. Also added a console write and read to the bus so machines can display what the want, since each machine does whatever this is a way to normalize it"}, {"post_id": 48083, "ts": "2026-08-16T11:31:43Z", "hours": 0.3844, "text": "Finally finished all instructions. Now I will move to making the first machine (maybe apple I or II) and connecting all cpu mechanics and get the emu working."}, {"post_id": 47782, "ts": "2026-08-15T23:15:38Z", "hours": 2.1928, "text": "Added a bunch more operations, had to learn a bit of low level byte and bit operations. Also started working on operations that work with the stack which is always fun"}, {"post_id": 47656, "ts": "2026-08-15T18:11:48Z", "hours": 3.2358, "text": "Started working on the first cpu operations, also added cycle emulation. Some operations where a struggle, It took a while till I got BCD operations, also the break flag is special in it of itself, but good progress. Next up, more operations"}, {"post_id": 47081, "ts": "2026-08-14T18:31:02Z", "hours": 0.4989, "text": "Added helper functions for flag handling. Setting and reading the status register flags."}, {"post_id": 46859, "ts": "2026-08-14T12:14:13Z", "hours": 3.7103, "text": "I started working on 0x6502, a retro computer lab where you can emulate 6502 based retro computers, like the Apple II or C64 directly in terminal, while being able to live view the stack, memory and registers, all in a tui built woth ratatui. For now I have just worked on the 6502 cpu logic and blocked out the main UI, I have done Instruction and addressing handling, next its operations."}]...
|
Title: 0x6502 by @ThePangel | Stardance
Devlogs:
Title: 0x6502 by @ThePangel | Stardance
Devlogs:
I started working on 0x6502, a retro computer lab where you can emulate 6502 based retro computers, like the Apple II or C64 directly in terminal, while being able to live view the stack, memory and registers, all in a tui built woth ratatui. For now I have just worked on the 6502 cpu logic and blocked out the main UI, I have done Instruction and addressing handling, next its operations.
Added helper functions for flag handling. Setting and reading the status register flags.
Started working on the first cpu operations, also added cycle emulation. Some operations where a struggle, It took a while till I got BCD operations, also the break flag is special in it of itself, but good progress. Next up, more operations
Added a bunch more operations, had to learn a bit of low level byte and bit operations. Also started working on operations that work with the stack which is always fun
Finally finished all instructions. Now I will move to making the first machine (maybe apple I or II) and connecting all cpu mechanics and get the emu working.
Started working on the Apple I implementation. Setting memory ranges and more. Also added a console write and read to the bus so machines can display what the want, since each machine does whatever this is a way to normalize it
I worked on adding all the Apple I roms to the program, loading them at each required memory location and started working on some more of the UI
Made some more progress on Implementing the Apple I machine and some TUI handling code + misc fixes
Ok so I’m back Sorta refactoring the code base to be a cycle accurate state machine to make the emulation as truthful as I can, this involves coding each cycle independently (sorta) to maintain accuracy, I have started this refactoring with a lot to go, but at the end it will be much better than before see the code here as an example
Finished refactoring all the addressing code for it to be cycle accurate. Next I’ll check and fix operations and then the TUI situation and try to get the Apple I running, good progress
So I had to tackle some special cases to adapt everything to the new cycle accurate architecture These are mainly the operations that work with the stack In my architecture addressing handles fetching, while the run_operation() just does the math (and final data write if needed), so it only consumes one cycle, these special cases handles various cycles in their operation (independently of addressing mode) so I had to add that, and some other minor fixes to branch operations and other stuff
Big progress. GOT THE APPLE I RUNNING Hooray wozmon is up and running, marking the most successful milestone yet, a running system, i had to fix some opcode behaviors but it runs great!! Still very early, 1st, not all input keys are mapped, cycle stepping, the ui etc etc, but for now its progress....
|
1793195435.4388902
|
1793800235.4388902
|
|
37218
|
A Slight Chance of Sawblades ML Bot by @PatrickyPi A Slight Chance of Sawblades ML Bot by @PatrickyPickle | Stardance...
|
PatrickyPickle
|
0
|
29.77
|
0
|
[]
|
[{"post_id": 37944, "ts": "202 [{"post_id": 37944, "ts": "2026-07-30T23:51:27Z", "hours": 8.4269, "text": "Trying to get sawblade tracking and velocity calculations working (the arrows on the sawblade show velocity and the boxes show positions)"}, {"post_id": 33795, "ts": "2026-07-24T00:26:58Z", "hours": 8.2978, "text": "Finally getting score counting to work using a variety of super sloppy code"}, {"post_id": 33208, "ts": "2026-07-22T22:11:39Z", "hours": 8.5381, "text": "Getting video stream of screen and trying to make score counter work"}, {"post_id": 32124, "ts": "2026-07-21T02:13:55Z", "hours": 4.5086, "text": "Beginning research, getting emulators, and making basic input possible"}]...
|
Title: A Slight Chance of Sawblades ML Bot by @Pat Title: A Slight Chance of Sawblades ML Bot by @PatrickyPickle | Stardance
Devlogs:
Beginning research, getting emulators, and making basic input possible
Getting video stream of screen and trying to make score counter work
Finally getting score counting to work using a variety of super sloppy code
Trying to get sawblade tracking and velocity calculations working (the arrows on the sawblade show velocity and the boxes show positions)...
|
1792788671.0229585
|
1793393471.0229585
|
|
39004
|
Siri All-Mighty by @BTG9161 | Stardance
|
BTG9161
|
1
|
29.75
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-25T14:02:40Z", "hours": 24.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an ai agent, the tool calling was challenging.", "repo": "https://github.com/BTG9161/SIri-All-Mighty", "demo": "https://github.com/BTG9161/SIri-All-Mighty/releases"}]...
|
[{"post_id": 40244, "ts": "202 [{"post_id": 40244, "ts": "2026-08-03T17:21:47Z", "hours": 5.7483, "text": "This devlog is for minor changes added to Siri for proper universal use on Macbooks by editing the siri directory to make it work everywhere, because in the last version it only worked on my mac due to the hardcoded dirs"}, {"post_id": 33927, "ts": "2026-07-24T07:27:42Z", "hours": 23.9503, "text": "I have worked 22h 42m on Siri and this devlog is for that My Siri All-Mighty is an aiagent that has access to the whole system- through the terminal. It can also be interacted through telegram, with the help of a bot. Also, it uses mcp to make tool definitions."}]...
|
Title: Siri All-Mighty by @BTG9161 | Stardance
De Title: Siri All-Mighty by @BTG9161 | Stardance
Devlogs:
I have worked 22h 42m on Siri and this devlog is for that My Siri All-Mighty is an aiagent that has access to the whole system- through the terminal. It can also be interacted through telegram, with the help of a bot. Also, it uses mcp to make tool definitions.
This devlog is for minor changes added to Siri for proper universal use on Macbooks by editing the siri directory to make it work everywhere, because in the last version it only worked on my mac due to the hardcoded dirs
Ships:
I made an ai agent, the tool calling was challenging....
|
1793123278.288092
|
1793209678.288092
|
|
53445
|
Pyae's Macro Pad by @Pyae2014K | Stardance
|
Pyae2014K
|
0
|
29.73
|
0
|
[]
|
[{"post_id": 67757, "ts": "202 [{"post_id": 67757, "ts": "2026-09-14T00:13:32Z", "hours": 4.1525, "text": "I redid my case and plate because it was a STL and not a STEP."}, {"post_id": 66831, "ts": "2026-09-12T19:01:32Z", "hours": 1.3667, "text": "I redid my case and plate for the 2 time because after doing alarm clock’s design I got way better at 3D modeling, so I just did it."}, {"post_id": 63366, "ts": "2026-09-07T04:29:54Z", "hours": 3.8464, "text": "I finished my case and plate, and I am pretty proud of it because it looks way better than my first try and it probably fits better but I will have to wait and see."}, {"post_id": 61967, "ts": "2026-09-05T05:02:28Z", "hours": 3.15, "text": "Since the last version of my PCB was too big and I didn’t like it that much, so I remade it in like 3 hours because I am better at Ki Cad than my first time using it."}, {"post_id": 61867, "ts": "2026-09-05T00:12:11Z", "hours": 3.8956, "text": "I tried to program the QMK firmware, but it kept on failing and I am sooo frustrated."}, {"post_id": 58403, "ts": "2026-08-30T20:17:47Z", "hours": 2.6667, "text": "I finally after 6 and a half hours of designing i finally finished my Hackpad’s case and plate."}, {"post_id": 57785, "ts": "2026-08-30T02:29:25Z", "hours": 4.1167, "text": "I started work on my case and had a really confusing time because I didn’t understand how Fusion 360 and Shapr3D worked so I had to both learn to use them and also make the case at the same time."}, {"post_id": 57069, "ts": "2026-08-29T05:01:25Z", "hours": 2.7, "text": "I finally finished my PCB after like 5 hours of mind numbingly confusing designing."}, {"post_id": 54828, "ts": "2026-08-25T23:55:56Z", "hours": 1.9, "text": "I finally finished the schematic and am start the pcb design which is so far been pretty good."}, {"post_id": 53400, "ts": "2026-08-23T22:49:19Z", "hours": 1.9336, "text": "I am soo confused on how to get the MOUDLE-SEEEDUINO-XIAO symbol and I still don’t know how to do it."}]...
|
Title: Pyae's Macro Pad by @Pyae2014K | Starda Title: Pyae's Macro Pad by @Pyae2014K | Stardance
Devlogs:
I am soo confused on how to get the MOUDLE-SEEEDUINO-XIAO symbol and I still don’t know how to do it.
I finally finished the schematic and am start the pcb design which is so far been pretty good.
I finally finished my PCB after like 5 hours of mind numbingly confusing designing.
I started work on my case and had a really confusing time because I didn’t understand how Fusion 360 and Shapr3D worked so I had to both learn to use them and also make the case at the same time.
I finally after 6 and a half hours of designing i finally finished my Hackpad’s case and plate.
I tried to program the QMK firmware, but it kept on failing and I am sooo frustrated.
Since the last version of my PCB was too big and I didn’t like it that much, so I remade it in like 3 hours because I am better at Ki Cad than my first time using it.
I finished my case and plate, and I am pretty proud of it because it looks way better than my first try and it probably fits better but I will have to wait and see.
I redid my case and plate for the 2 time because after doing alarm clock’s design I got way better at 3D modeling, so I just did it.
I redid my case and plate because it was a STL and not a STEP....
|
1792748921.5506537
|
1793353721.5506537
|
|
7321
|
Platformer Game by @danthegreat79 | Stardance
|
danthegreat79
|
0
|
29.72
|
0
|
[]
|
[{"post_id": 8686, "ts": "2026 [{"post_id": 8686, "ts": "2026-06-14T13:01:39Z", "hours": 5.34, "text": "Devlog #14 Hi! I’m developing a platformer that runs on pygame and is converted for web assembly via pygbag. Additions: Added double jump powerup, is activated when hitting the bottom of a powerup block. Added ability to create powerups in the editor. Powerup blocks are currently linked to the corresponding powerup by list order. The first powerup block placed corresponds to the first powerup, and so on. This is a temporary implementation; I plant to replace this system with a more sophisticated one a some point. Bug fixes: Fixed clipboard pasting on import screen on web assembly. This was a recurring issue, and took a significant amount of time to fix. Unfortunately, it still needs to be fixed for the itch version. You can try my game here: https://danthegreat78.itch.io/platformer PLEASE KEEP IN MIND THAT THIS IS A WORK IN PROGRESS."}, {"post_id": 6387, "ts": "2026-06-10T18:59:43Z", "hours": 4.0558, "text": "Devlog #13 Hi! I’m developing a platformer that runs on pygame and is converted for web assembly via pygbag. Additions: Added slime movement, they now move back and forth on the platform they are placed on. Added power-up block, though does not currently grant a powerup. Added more options in editor. Bug fixes: Fixed major bug where powerup image loading broke web assembly (this was very time consuming). Fixed editor bugs. You can view my game here: https://danthegreat78.itch.io/platformer (Work in progress, not near complete)"}, {"post_id": 5177, "ts": "2026-06-08T21:25:12Z", "hours": 2.0639, "text": "Devlog #12 Hi! I’m developing a platformer that runs on pygame, and is converted for web via pygbag. • Import Button Enhancements: Refined behavior of import button to make importing JSON more reliable. Unfortunately, I have yet to get the clipboard working for browser version. • Player Death on Falling: Added proper handling for player falling off the map, so you can’t get soft-locked anymore! • Slime Deletion in Editor: Added ability to delete slime if misplaced by right clicking on it, just like platforms. • Other QOL Improvements: Fixed a couple other annoying issues • Bug fixes: Fixed player bug where jumping on ceiling would make player stuck for a moment. This was due to how collision was handled. Fixed this by making it slightly bouncy, increasing the downward velocity of the player when touching a ceiling. This makes it so that the player naturally comes down due to gravity, and fixes the issue. • To-dos: Add more levels, fix clipboard issue on web, add power-ups or similar, replace default rectangular platform with real pixelated bricks, and SO MUCH MORE! You can check out my game here! https://danthegreat78.itch.io/platformer (Please keep in mind that this is in VERY EARLY development)."}, {"post_id": 4621, "ts": "2026-06-08T00:17:40Z", "hours": 3.3011, "text": "Import Button! Update: I added an working import button for level imports. Also increased functionality to export button and added a drop-down menu for adding things like enemies. Fixed bugs with web assembly, player animation, level loading"}, {"post_id": 4204, "ts": "2026-06-07T13:07:25Z", "hours": 2.0547, "text": "Added easy level editing using JSON!"}, {"post_id": 3963, "ts": "2026-06-07T03:14:26Z", "hours": 0.8414, "text": "Added player walking animation!"}, {"post_id": 3765, "ts": "2026-06-06T20:17:46Z", "hours": 1.2225, "text": "Replaced background with a real scrolling sky! Coming together nicely!"}, {"post_id": 3594, "ts": "2026-06-06T16:21:42Z", "hours": 1.8669, "text": "Editor is coming along nicely!"}, {"post_id": 3488, "ts": "2026-06-06T13:29:23Z", "hours": 2.4511, "text": "Works with pygbag! Web version coming soon!"}, {"post_id": 2921, "ts": "2026-06-05T20:30:46Z", "hours": 0.7708, "text": "Made an editor!"}, {"post_id": 2881, "ts": "2026-06-05T19:37:48Z", "hours": 0.8714, "text": "Slime!"}, {"post_id": 2763, "ts": "2026-06-05T15:37:39Z", "hours": 1.335, "text": "Added new player + signs!"}, {"post_id": 2663, "ts": "2026-06-05T10:28:16Z", "hours": 2.1808, "text": "Working on adding more platforms + organization!"}, {"post_id": 2396, "ts": "2026-06-04T21:06:49Z", "hours": 1.3669, "text": "Working on physics!"}]...
|
Title: Platformer Game by @danthegreat79 | Stardan Title: Platformer Game by @danthegreat79 | Stardance
Devlogs:
Working on physics!
Working on adding more platforms + organization!
Added new player + signs!
Slime!
Made an editor!
Works with pygbag! Web version coming soon!
Editor is coming along nicely!
Replaced background with a real scrolling sky! Coming together nicely!
Added player walking animation!
Added easy level editing using JSON!
Import Button! Update: I added an working import button for level imports. Also increased functionality to export button and added a drop-down menu for adding things like enemies. Fixed bugs with web assembly, player animation, level loading
Devlog #12 Hi! I’m developing a platformer that runs on pygame, and is converted for web via pygbag. • Import Button Enhancements: Refined behavior of import button to make importing JSON more reliable. Unfortunately, I have yet to get the clipboard working for browser version. • Player Death on Falling: Added proper handling for player falling off the map, so you can’t get soft-locked anymore! • Slime Deletion in Editor: Added ability to delete slime if misplaced by right clicking on it, just like platforms. • Other QOL Improvements: Fixed a couple other annoying issues • Bug fixes: Fixed player bug where jumping on ceiling would make player stuck for a moment. This was due to how collision was handled. Fixed this by making it slightly bouncy, increasing the downward velocity of the player when touching a ceiling. This makes it so that the player naturally comes down due to gravity, and fixes the issue. • To-dos: Add more levels, fix clipboard issue on web, add power-ups or similar, replace default rectangular platform with real pixelated bricks, and SO MUCH MORE! You can check out my game here! https://danthegreat78.itch.io/platformer (Please keep in mind that this is in VERY EARLY development).
Devlog #13 Hi! I’m developing a platformer that runs on pygame and is converted for web assembly via pygbag. Additions: Added slime movement, they now move back and forth on the platform they are placed on. Added power-up block, though does not currently grant a powerup. Added more options in editor. Bug fixes: Fixed major bug where powerup image loading broke web assembly (this was very time consuming). Fixed editor bugs. You can view my game here: https://danthegreat78.itch.io/platformer (Work in progress, not near complete)
Devlog #14 Hi! I’m developing a platformer that runs on pygame and is converted for web assembly via pygbag. Additions: Added double jump powerup, is activated when hitting the bottom of a powerup block. Added ability to create powerups in the editor. Powerup blocks are currently linked to the corresponding powerup by list order. The first powerup block placed corresponds to the first powerup, and so on. This is a temporary implementation; I plant to replace this system with a more sophisticated one a some point. Bug fixes: Fixed clipboard pasting on import screen on web assembly. This was a recurring issue, and took a significant amount of time to fix. Unfortunately, it still needs to be fixed for the itch version. You can try my game here: https://danthegreat78.itch.io/platformer PLEASE KEEP IN MIND THAT THIS IS A WORK IN PROGRESS....
|
1792724077.2966363
|
1793328877.2966363
|
|
43835
|
My own AI by @Stv120 | Stardance
|
Stv120
|
1
|
29.69
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-17T21:50:19Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello guys! I shipped my project, first off be aware that if you are on Linux or MacOS you need to manually build it yourselves, I designed it to be compatible with those, but I cannot guarantee with maximum certitude that it will work without any flaws after building. Second, The zipped file is about 2.1gb so I attached a link to google drive to download it. Google will probably tell you they can’t scan bigger files for viruses, so if you are not sure check the codes and readme on GitHub. Third, Windows will also give you a warning when trying to run the app, same thing as before. And lastly, don’t move stuff outside the folder after downloading and unzipping to be sure that it will work as I intended. If you want to check all the components and eventually even change the code as you wish I listed everything on git!", "repo": "https://github.com/7lul7/DragoGPT", "demo": "https://github.com/7lul7/DragoGPT/releases/tag/DragoGPT"}]...
|
[{"post_id": 51249, "ts": "202 [{"post_id": 51249, "ts": "2026-08-20T19:46:39Z", "hours": 0.6892, "text": "Devlog #8 I did not think this devlog was needed but apparently it is very much needed. This is mostly for the people that will rate this and the ones responsible if my projects gets thru. First off, I gotta say the reviewers are another kind of human species. If you want to rate something, actually rate it and put effort, BUT if you come here review it and conclude “heavy AI usage” from a technical menu and a thinking bubble thats part of the UI, you probably never used an app and got stuck in the 1980, where people used the console to communicate with the computer, because how do you conclude that just from UI???? Thats for my last reviewer who said I used and I quote “heavy AI”, mind you he had the other devlogs to check out, what he only did was review the UI, and 0 code, none of it was code! Okay he did underline some stuff tho that tought was AI, and guess what? It was, YES, what a surprise, a 16 year old USED AI? Well thats shocking. Seriously, do you expect a 16 year old to make a language model all by himself? Some of that stuff you do in 3rd year in university, but I guess this platform is made for only top 0.1% teen coders! This hackaton rates just the final product, rather than the effort. I could put as a project a game that competes with AAA games and there will be people leaving minimum effort ratings saying it is not good enough, probably nothing is good enough for this problem. Sadly I wish you could report reviewers who dont approve ur project from reasons that make no sense! Second, my second last reviewer said my readme was made with AI just because I used “-”. Seriously? Just because AI overuses that character does not mean everyone who uses it used AI for all of it. And guess what? I used AI for the readme too. But not at that part (because apparently using more advanced english or symbols you dont really see, its AI. No. It just means there are people who know how to use the keyboard ), I used it to write the commands for people who want to build the project on MacOS and Linux, and I am 100% not required nor its the bare minimum to make it for those 2 OS. Not even all big companies make their software for Mac or Linux, yet you expect a teen to do it? Pathetic if you ask me. And third, thats about it, the ones who keep saying “web support”, well thats very funny. Because, no, im not writing my project which i spent hours out, because u dont have the effort to download it. I swear where do yall come from? Is your birthplace the Linux kernel? Im sorry but if you code from infant age, does not mean I should deliver top quality, if you want a top quality software, you can go rate the big companies who make overpriced software. If these reviewers actually reviewed stuff that matters way more than a fun hackaton we would live in an utopia. But sure if you want to keep touching the terminal, not grass, and live ur coding life, be my guest! (All these apply for the ones who think teens should be ready for a Microsoft interview! If you dont want to rate this or dont have the energy to, just skip, it helps me and your busted brain!) PS: atp this is cyberbullying gng get a grip 🙏"}, {"post_id": 46926, "ts": "2026-08-14T14:20:47Z", "hours": 6.445, "text": "Devlog #7 Hello guys! This is probably my last devlog before releasing this project, and I want to share what happened during the last 3 days. Also, keep in mind that I previously had a version based on a Q&A-type database that I had generated using an LLM. First off, the version from the last devlog was based on a database from DailyDialog. It was very heavy for the model’s “brain”, and as a result, it wasn’t really able to communicate properly. It would sometimes respond with something completely unrelated to the question. After that, I tried training it on a Wikipedia dump. As an idea, it was good, but the amount of time it took to finish a training session with 30 epochs was LONG. And even after that, the AI still wasn’t capable of having proper conversations. After that, I asked ChatGPT for help, and I can say that ChatGPT is not only bad, it is horrible for debugging. It makes stuff up, changes things that aren’t even broken, and generally makes the debugging process harder. So I tried using Claude. Claude at least tried. It actually computed the project on its server, fixed something, but it still wasn’t enough. Then I discovered Codex. It’s not entirely new, but I didn’t know about it before! I gave Codex the project files and asked it to search for the problem. It gave me the files back, and it actually fixed the problems. When I tried the fixed version, I asked it some questions. It had been trained on both a Q&A database and a Wikipedia database, and it actually answered correctly most of the time. The problem was that when I asked something that wasn’t in the Q&A database, it retrieved information from the Wikipedia dump. That wasn’t necessarily bad, but it didn’t know how to actually make a sentence using the information. It was basically just a retrieval tool rather than a conversational AI. Since my Codex tokens expired and I can’t use it for a month, I didn’t bother continuing with that version. I went back to the version from before the last devlog, which was based on a smaller Q&A database. I improved the database, retrained the model, and now it actually responds. The problem is that if you’re not using proper grammar, it can still respond with something unrelated to the topic. And if the topic isn’t included in the database, it can make stuff up. After that, I added an Ollama version alongside my trained model. This way, if the user wants an answer that my trained AI can’t provide, they can use the Ollama model instead. I also made a UI with the help of an LLM. So now the app is functional. Both models are available. I also thought about adding a tool to my trained AI that detects when the user wants math support, but for now it would only be for math and not other topics, so I’ll see if I end up adding it. About web support I don’t think I’ll add a web version since the UI is made using PySide6, and making it web-compatible would basically mean rewriting the whole UI. Or maybe there’s an easier way to do it that I don’t know about. Linux and macOS support Linux and macOS support is possible, but I don’t have a Mac to actually test whether the program works properly on that platform. Linux should be easier since I can install a Linux distro in a VM and test it there, although I’m not completely sure yet. And that’s basically where the project is right now. If you have any suggestions leave them in the comments, thanks!"}, {"post_id": 45060, "ts": "2026-08-11T10:16:23Z", "hours": 2.4114, "text": "Devlog #6 Hello guys! Yesterday I realized what was the problem with the language model and its predicting. So basically I was testing it by typing “Hello” without punctuation and so the AI was confused and did not know how to respond, hence the unexpected responses. When I tried with the word “Hello.” with the dot it did work! And besides this problem, I also encountered another problem. The AI couldn’t recognize, even if the word was in the training.txt file, if it was spelled wrong or had capital letters or not where it should have been. For example I asked it “What is EArth?” and it returned nothing because it did not recognize “EArth”, in its vocabulary, so last night I sampled a training text in json format from DailyDialog dataset, made a converter.py file, which extracted the dialog from train.json . I ran 3 epochs because the new text contained 2660291 training examples (WHICH was WAY WAY bigger than I expected!), and it took like 1,5 hours to finish. After that I tested it and again, the model predicted the answer wrong so now I upgraded the embedding size from 32 to 64 and ran again train.py (currently it is still training!) . Anyway, if it doesn’t work again I will probably look into the configuration again, maybe upgrade the epochs from 3 to 6, since the other major components like main.py model.py and train.py are fine (probably). I attached below the training progress"}, {"post_id": 44675, "ts": "2026-08-10T16:20:02Z", "hours": 10.2253, "text": "Devlog #5 My brain is soup currently. I have made real progress, at least, at least… . Now the AI is trained on my CUDA cores from my GPU. And now it can actually make a conversation, which is WOW, but the thing is… the responses are not consistent or they do not make sense, but at least they are words that can be understood separately. I have also changed train.py, model.py and main.py multiple times, upgraded to training.txt file which now contains multiple conversation examples, but the project is far from over. I attached below how it responds currently. If it weren’t for the 10 hour devlog limit I would’ve kept going."}, {"post_id": 42121, "ts": "2026-08-06T18:14:08Z", "hours": 5.3847, "text": "Devlog #4 Hello guys! • I finally rebuilt the 3 biggest components of my AI, those being main.py, model.py and train.py, completing a solid foundation which can be upgraded from now on without the need of deleting the current code completely. • Anyway, currently the text sample which it is being trained on is not too big, so it can’t “learn” much, and the context right now is just “Hello wo”, and it predicts the next character right as intended, using the last 8 characters • The first changes I obviously need to make are changing the context from that to the input of the user and making the training sample bigger, then we can move to upgrade the epoch number from 100 to lets say more and the context size from 8 to more characters. I will announce my plans for the future upgrades in the upcoming devlogs. • Here are some previews of the code and some notes I took: (if they all load correctly hopefully)"}, {"post_id": 40952, "ts": "2026-08-04T20:17:34Z", "hours": 2.2158, "text": "Devlog #3 Hello guys! I am working so the program will be based on an 8 character architecture, meaning that it will now predict the next character using the last 8 characters, not just the last one, meaning its brain gets upgraded! I am still learning how to do an AI at home with the help of YouTube tutorials and AI so it will take many hours to finish, but my expectations for the final product are high!"}, {"post_id": 40858, "ts": "2026-08-04T17:28:49Z", "hours": 1.3222, "text": "Devlog #2 Hello guys! I have updated main.py which tests the AI, train.py, model.py and tokenizer.py and I reached a milestone since the AI now predicts what letter comes next. Right now it is being trained by a pretty simple text file but I’m planning to upgrade that too! Here’s a quick preview:"}, {"post_id": 40741, "ts": "2026-08-04T13:51:56Z", "hours": 0.6956, "text": "Devlog #1 Hello guys today I am working on a project with the goal with building my own AI, yes, you heard that right! The goal is to train it locally and that it works 100% offline Here’s what I did up until now: I set up the project in python Built my first neural network with the help of AI that contains one neuron and which was used to understand weights, loss, prediction and more Did my first AI training which the AI discovered the multiplying by 2 rule Dataset loader Tokenizer Custom vocabulary Encoder/Decoder and a few other stuff"}]...
|
Title: My own AI by @Stv120 | Stardance
Devlogs:
Title: My own AI by @Stv120 | Stardance
Devlogs:
Devlog #1 Hello guys today I am working on a project with the goal with building my own AI, yes, you heard that right! The goal is to train it locally and that it works 100% offline Here’s what I did up until now: I set up the project in python Built my first neural network with the help of AI that contains one neuron and which was used to understand weights, loss, prediction and more Did my first AI training which the AI discovered the multiplying by 2 rule Dataset loader Tokenizer Custom vocabulary Encoder/Decoder and a few other stuff
Devlog #2 Hello guys! I have updated main.py which tests the AI, train.py, model.py and tokenizer.py and I reached a milestone since the AI now predicts what letter comes next. Right now it is being trained by a pretty simple text file but I’m planning to upgrade that too! Here’s a quick preview:
Devlog #3 Hello guys! I am working so the program will be based on an 8 character architecture, meaning that it will now predict the next character using the last 8 characters, not just the last one, meaning its brain gets upgraded! I am still learning how to do an AI at home with the help of YouTube tutorials and AI so it will take many hours to finish, but my expectations for the final product are high!
Devlog #4 Hello guys! • I finally rebuilt the 3 biggest components of my AI, those being main.py, model.py and train.py, completing a solid foundation which can be upgraded from now on without the need of deleting the current code completely. • Anyway, currently the text sample which it is being trained on is not too big, so it can’t “learn” much, and the context right now is just “Hello wo”, and it predicts the next character right as intended, using the last 8 characters • The first changes I obviously need to make are changing the context from that to the input of the user and making the training sample bigger, then we can move to upgrade the epoch number from 100 to lets say more and the context size from 8 to more characters. I will announce my plans for the future upgrades in the upcoming devlogs. • Here are some previews of the code and some notes I took: (if they all load correctly hopefully)
Devlog #5 My brain is soup currently. I have made real progress, at least, at least… . Now the AI is trained on my CUDA cores from my GPU. And now it can actually make a conversation, which is WOW, but the thing is… the responses are not consistent or they do not make sense, but at least they are words that can be understood separately. I have also changed train.py, model.py and main.py multiple times, upgraded to training.txt file which now contains multiple conversation examples, but the project is far from over. I attached below how it responds currently. If it weren’t for the 10 hour devlog limit I would’ve kept going.
Devlog #6 Hello guys! Yesterday I realized what was the problem with the language model and its predicting. So basically I was testing it by typing “Hello” without punctuation and so the AI was confused and did not know how to respond, hence the unexpected responses. When I tried with the word “Hello.” with the dot it did work! And besides this problem, I also encountered another problem. The AI couldn’t recognize, even if the word was in the training.txt file, if it was spelled wrong or had capital letters or not where it should have been. For example I asked it “What is EArth?” and it returned nothing because it did not recognize “EArth”, in its vocabulary, so last night I sampled a training text in json format from DailyDialog dataset, made a converter.py file, which extracted the dialog from train.json . I ran 3 epochs because the new text contained 2660291 training examples (WHICH was WAY WAY bigger than I expected!), and it took like 1,5 hours to finish. After that I tested it and again, the model predicted the answer wrong so now I upgraded the embedding size from 32 to 64 and ran again train.py (currently it is still training!) . Anyway, if it doesn’t work again I will probably look into the configuration again, maybe upgrade the epochs from 3 to 6, since the other major components like main.py model.py and train.py are fine (probably). I attached below the training progress
Devlog #7 Hello guys! This is probably my last devlog before releasing this project, and I want to share what happened during the last 3 days. Also, keep in mind that I previously had a version based on a Q&A-type database that I had generated using an LLM. First off, the version from the last devlog was based on a database from DailyDialog. It was very heavy for the model’s “brain”, and as a result, it wasn’t really able to communicate properly. It would sometimes respond with something completely unrelated to the question. After that, I tried training it on a Wikipedia dump. As an idea, it was good, but the amount of time it took to finish a training session with 30 epochs was LONG. And even after that, the AI still wasn’t capable of having proper conversations. After that, I asked ChatGPT for help, and I can say that ChatGPT is not only bad, it is horrible for debugging. It makes stuff up, changes things that aren’t even broken, and generally makes the debugging process harder. So I tried using Claude. Claude at least tried. It actually computed the project on its server, fixed something, but it still wasn’t enough. Then I discovered Codex. It’s not entirely new, but I didn’t know about it before! I gave Codex the project files and asked it to search for the problem. It gave me the files back, and it actually fixed the problems. When I tried the fixed version, I asked it some questions. It had been trained on both a Q&A database and a Wikipedia database, and it actually answered correctly most of the time. The problem was that when I asked something that wasn’t in the Q&A database, it retrieved information from the Wikipedia dump. That wasn’t necessarily bad, but it didn’t know how to actually make a sentence using the information. It was basically just a retrieval tool rather than a conversational AI. Since my Codex tokens expired and I can’t use it for a month, I didn’t bother continuing with that version. I went back to the version from before the last devlog, which was based on a smaller Q&A database. I improved the database, retrained the model, and now it actually responds. The problem is that if you’re not using proper grammar, it can still respond with something unrelated to the topic. And if the topic isn’t included in the database, it can make stuff up. After that, I added an Ollama version alongside my trained model. This way, if the user wants an answer that my trained AI can’t provide, they can use the Ollama model instead. I also made a UI with the help of an LLM. So now the app is functional. Both models are available. I also thought about adding a tool to my trained AI that detects when the user wants math support, but for now it would only be for math and not other topics, so I’ll see if I end up adding it. About web support I don’t think I’ll add a web version since the UI is made using PySide6, and making it web-compatible would basically mean rewriting the whole UI. Or maybe there’s an easier way to do it that I don’t know about. Linux and macOS support Linux and macOS support is possible, but I don’t have a Mac to actually test whether the program works properly on that platform. Linux should be easier since I can install a Linux distro in a VM and test it there, although I’m not completely sure yet. And that’s basically where the project is right now. If you have any suggestions leave them in the comments, thanks!
Devlog #8 I did not think this devlog was needed but apparently it is very much needed. This is mostly for the people that will rate this and the ones responsible if my projects gets thru. First off, I gotta say the reviewers are another kind of human species. If you want to rate something, actually rate it and put effort, BUT if you come here review it and conclude “heavy AI usage” from a technical menu and a thinking bubble thats part of the UI, you probably never used an app and got stuck in the 1980, where people used the console to communicate with the computer, because how do you conclude that just from UI???? Thats for my last reviewer who said I used and I quote “heavy AI”, mind you he had the other devlogs to check out, what he only did was review the UI, and 0 code, none of it was code! Okay he did underline some stuff tho that tought was AI, and guess what? It was, YES, what a surprise, a 16 year old USED AI? Well thats shocking. Seriously, do you expect a 16 year old to make a language model all by himself? Some of that stuff you do in 3rd year in university, but I guess this platform is made for only top 0.1% teen coders! This hackaton rates just the final product, rather than the effort. I could put as a project a game that competes with AAA games and there will be people leaving minimum effort ratings saying it is not good enough, probably nothing is good enough for this problem. Sadly I wish you could report reviewers who dont approve ur project from reasons that make no sense! Second, my second last reviewer said my readme was made with AI just because I used “-”. Seriously? Just because AI overuses that character does not mean everyone who uses it used AI for all of it. And guess what? I used AI for the readme too. But not at that part (because apparently using more advanced english or symbols you dont really see, its AI. No. It just means there are people who know how to use the keyboard ), I used it to write the commands for people who want to build the project on MacOS and Linux, and I am 100% not required nor its the bare minimum to make it for those 2 OS. Not even all big companies make their software for Mac or Linux, yet you expect a teen to do it? Pathetic if you ask me. And third, thats about it, the ones who keep saying “web support”, well thats very funny. Because, no, im not writing my project which i spent hours out, because u dont have the effort to download it. I swear where do yall come from? Is your birthplace the Linux kernel? Im sorry but if you code from infant age, does not mean I should deliver top quality, if you want a top quality software, you can go rate the big companies who make overpriced software. If these reviewers actually reviewed stuff that matters way more than a fun hackaton we would live in an utopia. But sure if you want to keep touching the terminal, not grass, and live ur coding life, be my guest! (All these apply for the ones who think teens should be ready for a Microsoft interview! If you dont want to rate this or dont have the energy to, just skip, it helps me and your busted brain!) PS: atp this is cyberbullying gng get a grip 🙏
Ships:
Hello guys! I shipped my project, first off be aware that if you are on Linux or MacOS you need to manually build it yourselves, I designed it to be compatible with those, but I cannot guarantee with maximum certitude that it will work without any flaws after building. Second, The zipped file is about 2.1gb so I attached a link to google drive to download it. Google will probably tell you they can’t scan bigger files for viruses, so if you are not sure check the codes and readme on GitHub. Third, Windows will also give you a warning when trying to run the app, same thing as before. And lastly, don’t move stuff outside the folder after downloading and unzipping to be sure that it will work as I intended. If you want to check all the components and eventually even change the code as you wish I listed everything on git!...
|
1793098489.1799188
|
1793184889.1799188
|
|
59448
|
IK_DEXK by @IshanWarrior2012 | Stardance
|
IshanWarrior2012
|
0
|
29.65
|
0
|
[]
|
[{"post_id": 71104, "ts": "202 [{"post_id": 71104, "ts": "2026-09-20T09:35:48Z", "hours": 6.2639, "text": "I completely Changed the Design. I at first designed the Macropad to be 3x3 but during designing I made some mistakes which later in firmware development caused a huge problem. So when I ran into that problem I thought that now I know how things work so why not make it larger. That is why I made the macropad 4x4."}, {"post_id": 69673, "ts": "2026-09-17T15:29:58Z", "hours": 3.2739, "text": "Its done, Yeah its doneeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"}, {"post_id": 68445, "ts": "2026-09-15T04:12:48Z", "hours": 2.7497, "text": "Having some problem working on this but its working"}, {"post_id": 67567, "ts": "2026-09-13T18:25:11Z", "hours": 3.4886, "text": "Still working"}, {"post_id": 67301, "ts": "2026-09-13T11:37:22Z", "hours": 7.6892, "text": "Designing AND ASSEMBLYING"}, {"post_id": 66735, "ts": "2026-09-12T17:04:43Z", "hours": 4.0542, "text": "I am currently assemblying IK_DEXK in CAD and also designing the case"}, {"post_id": 64296, "ts": "2026-09-08T16:12:55Z", "hours": 2.1333, "text": "I created the PCB for IK_DEXK(macropad). I added place for 9 cherry MX switches and 1unit 0.91inch OLED display. I also embedded my name and the project name on the PCB. At last I exported the whole thing in GERBER and Step. Here is a glance of it. Hope you all like it :)"}]...
|
Title: IK_DEXK by @IshanWarrior2012 | Stardance
D Title: IK_DEXK by @IshanWarrior2012 | Stardance
Devlogs:
I created the PCB for IK_DEXK(macropad). I added place for 9 cherry MX switches and 1unit 0.91inch OLED display. I also embedded my name and the project name on the PCB. At last I exported the whole thing in GERBER and Step. Here is a glance of it. Hope you all like it :)
I am currently assemblying IK_DEXK in CAD and also designing the case
Designing AND ASSEMBLYING
Still working
Having some problem working on this but its working
Its done, Yeah its doneeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
I completely Changed the Design. I at first designed the Macropad to be 3x3 but during designing I made some mistakes which later in firmware development caused a huge problem. So when I ran into that problem I thought that now I know how things work so why not make it larger. That is why I made the macropad 4x4....
|
1792799411.2309093
|
1793404211.2309093
|
|
2992
|
Roamly by @Waxn | Stardance
|
Waxn
|
1
|
29.61
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T01:01:15Z", "hours": 26.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a comprehensive location tracking app. I have a very bad memory of places I have been and wanted a way to more easily see. Currently only available for Android.", "repo": "https://github.com/waxn/roamly", "demo": "https://roamly.cyou"}]...
|
[{"post_id": 23196, "ts": "202 [{"post_id": 23196, "ts": "2026-07-06T00:49:10Z", "hours": 3.6064, "text": "Focused on UI/UX for the first time."}, {"post_id": 18038, "ts": "2026-06-29T00:31:04Z", "hours": 2.4281, "text": "Added an admin page for the server admin"}, {"post_id": 17230, "ts": "2026-06-27T22:56:13Z", "hours": 5.8906, "text": "Fixed the mobile app location sending"}, {"post_id": 9590, "ts": "2026-06-15T23:47:51Z", "hours": 2.2314, "text": "Improved tracking reliability with the app"}, {"post_id": 9241, "ts": "2026-06-15T14:53:12Z", "hours": 4.2867, "text": "Fixed bug that resulted in CPU being pinned to 100%"}, {"post_id": 6332, "ts": "2026-06-10T17:36:13Z", "hours": 1.7381, "text": "WOrking on ai summaries"}, {"post_id": 5357, "ts": "2026-06-09T03:02:09Z", "hours": 1.7519, "text": "location-based journals anyone?"}, {"post_id": 4653, "ts": "2026-06-08T01:54:02Z", "hours": 3.8231, "text": "Working on making Nominatim not have limits by hosting locally"}, {"post_id": 2985, "ts": "2026-06-05T22:18:49Z", "hours": 3.6017, "text": "Worked on efficiency in mobile app"}]...
|
Title: Roamly by @Waxn | Stardance
Devlogs:
Worke Title: Roamly by @Waxn | Stardance
Devlogs:
Worked on efficiency in mobile app
Working on making Nominatim not have limits by hosting locally
location-based journals anyone?
WOrking on ai summaries
Fixed bug that resulted in CPU being pinned to 100%
Improved tracking reliability with the app
Fixed the mobile app location sending
Added an admin page for the server admin
Focused on UI/UX for the first time.
Ships:
I made a comprehensive location tracking app. I have a very bad memory of places I have been and wanted a way to more easily see. Currently only available for Android....
|
1793105621.6569529
|
1793192021.6569529
|
|
38283
|
Orbital Congestion Simulator by @emin | Stardance
|
emin
|
1
|
29.59
|
217
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T18:33:26Z", "hours": 22.0, "multiplier": 18.13, "payout": 217, "blessing": "neutral", "text": "What did you make? A browser app that shows how crowded Earth orbit really is. You get a live 3D globe with thousands of satellites and debris from CelesTrak TLEs, filters, close-approach alerts, replays of real incidents, a simple Kessler “what if” panel, and on phones a Satellite Spotter that uses the sensors so you can aim at what’s actually overhead. What was challenging? Keeping ~12k objects moving without melting the browser. Propagation had to go into a worker, and close approaches were annoying because fast LEO crossings can vanish between frames if you sample too coarsely. Also burned myself once when an automated TLE refresh wrote a half-empty catalog (almost no stations) and the live site looked broken until I added hard minimums so thin fetches can’t ship. What are you proud of? That it feels like a real tool, not a slideshow. VERIFY mode for close approaches, the historical replays, and Spotter on a phone are the parts I keep showing people. Also getting five languages working and not letting the UI rot when the catalog updates. What should people know so they can test your project? Open the live demo on desktop first: https://orbital-congestion-simulator.vercel.app Skip or finish the short tour, turn on Color by Function, click a few objects, try a Historical Event, and open a close-approach card if any are listed. On a phone, pick something bright like the ISS and hit Spot — allow location/motion, go outside if the compass is weird, and do a figure-eight with the phone to recalibrate. Positions come from periodic TLEs + SGP4, not a live tracking API, so treat it as educational. Repo: https://github.com/muhammet842/orbital-congestion-simulator", "repo": "https://github.com/muhammet842/orbital-congestion-simulator", "demo": "https://orbital-congestion-simulator.vercel.app/"}]...
|
[{"post_id": 64218, "ts": "202 [{"post_id": 64218, "ts": "2026-09-08T13:44:32Z", "hours": 5.0706, "text": "After many shipping, I needed to rewrite most of codes in my project to decrease the AI usage. I had to delete some features like historical events and close approaches which are generated by AI. Now, my project is more specific. That’s how it looks like right now."}, {"post_id": 61557, "ts": "2026-09-04T15:07:18Z", "hours": 2.1139, "text": "For my latest update on the Orbital Congestion Simulator, I focused on building a tool that looks beyond today’s telemetry: the Kessler Syndrome Projection panel.Instead of just showing current satellite positions, this feature lets you model the future of Low Earth Orbit. You can test pre-set scenarios like Megaconstellation Boom, Green Space, or ASAT War, or tweak custom parameters directly:Launch Rate: Multiplier for annual launchesMitigation Rate: Success rate of post-mission disposalCollision Risk: Probability of cascading orbital collisionsThe engine calculates real-time updates for total object counts, debris volume, collision metrics, and distribution across LEO, MEO, and GEO regimes. You can also hit Play to watch the timeline scrub forward as orbital density builds up."}, {"post_id": 61046, "ts": "2026-09-03T19:13:01Z", "hours": 0.4086, "text": "One of my project’s important feature is showing the real close approaches between two satellite in next 24 hours. Click any alert card on the demo if the list isn’t empty. If it says scanning, give it a minute to find close approaches."}, {"post_id": 60400, "ts": "2026-09-02T18:19:07Z", "hours": 1.9686, "text": "A phone feature inside Orbital Congestion Simulator: pick a satellite, point your camera at the sky, and follow the on-screen guide until it matches what’s overhead — using GPS, compass, and live TLE positions."}, {"post_id": 58043, "ts": "2026-08-30T12:07:09Z", "hours": 19.7953, "text": "I’ve been building Orbital Congestion Simulator for a while now. It shows thousands of satellites and debris around Earth in 3D, using real TLE data from CelesTrak and SGP4 to calculate their positions. You can filter by orbit, select objects for details, check close approaches, replay historical collisions such as Iridium 33 and Cosmos 2251, and explore a simple Kessler Syndrome future projection. The interface is also available in several languages. Live demo: https://orbital-congestion-simulator.vercel.app"}]...
|
Title: Orbital Congestion Simulator by @emin | Sta Title: Orbital Congestion Simulator by @emin | Stardance
Devlogs:
I’ve been building Orbital Congestion Simulator for a while now. It shows thousands of satellites and debris around Earth in 3D, using real TLE data from CelesTrak and SGP4 to calculate their positions. You can filter by orbit, select objects for details, check close approaches, replay historical collisions such as Iridium 33 and Cosmos 2251, and explore a simple Kessler Syndrome future projection. The interface is also available in several languages. Live demo: https://orbital-congestion-simulator.vercel.app
A phone feature inside Orbital Congestion Simulator: pick a satellite, point your camera at the sky, and follow the on-screen guide until it matches what’s overhead — using GPS, compass, and live TLE positions.
One of my project’s important feature is showing the real close approaches between two satellite in next 24 hours. Click any alert card on the demo if the list isn’t empty. If it says scanning, give it a minute to find close approaches.
For my latest update on the Orbital Congestion Simulator, I focused on building a tool that looks beyond today’s telemetry: the Kessler Syndrome Projection panel.Instead of just showing current satellite positions, this feature lets you model the future of Low Earth Orbit. You can test pre-set scenarios like Megaconstellation Boom, Green Space, or ASAT War, or tweak custom parameters directly:Launch Rate: Multiplier for annual launchesMitigation Rate: Success rate of post-mission disposalCollision Risk: Probability of cascading orbital collisionsThe engine calculates real-time updates for total object counts, debris volume, collision metrics, and distribution across LEO, MEO, and GEO regimes. You can also hit Play to watch the timeline scrub forward as orbital density builds up.
After many shipping, I needed to rewrite most of codes in my project to decrease the AI usage. I had to delete some features like historical events and close approaches which are generated by AI. Now, my project is more specific. That’s how it looks like right now.
Ships:
What did you make? A browser app that shows how crowded Earth orbit really is. You get a live 3D globe with thousands of satellites and debris from CelesTrak TLEs, filters, close-approach alerts, replays of real incidents, a simple Kessler “what if” panel, and on phones a Satellite Spotter that uses the sensors so you can aim at what’s actually overhead. What was challenging? Keeping ~12k objects moving without melting the browser. Propagation had to go into a worker, and close approaches were annoying because fast LEO crossings can vanish between frames if you sample too coarsely. Also burned myself once when an automated TLE refresh wrote a half-empty catalog (almost no stations) and the live site looked broken until I added hard minimums so thin fetches can’t ship. What are you proud of? That it feels like a real tool, not a slideshow. VERIFY mode for close approaches, the historical replays, and Spotter on a phone are the parts I keep showing people. Also getting five languages working and not letting the UI rot when the catalog updates. What should people know so they can test your project? Open the live demo on desktop first: https://orbital-congestion-simulator.vercel.app Skip or finish the short tour, turn on Color by Function, click a few objects, try a Historical Event, and open a close-approach card if any are listed. On a phone, pick something bright like the ISS and hit Spot — allow location/motion, go outside if the compass is weird, and do a figure-eight with the phone to recalibrate. Positions come from periodic TLEs + SGP4, not a live tracking API, so treat it as educational. Repo: https://github.com/muhammet842/orbital-congestion-simulator...
|
1793202678.4620392
|
1793289078.4620392
|
|
48244
|
Mini Jarvis by @tejabhai4621 | Stardance
|
tejabhai4621
|
0
|
29.57
|
0
|
[]
|
[{"post_id": 82529, "ts": "202 [{"post_id": 82529, "ts": "2026-10-25T04:32:53Z", "hours": 12.7617, "text": "I am sorry that I got sidetracked by various other things but I have finished layer 4 of jarvis and it has got an end to the major updates. I will now only add minor bugfixes to jarvis and any community suggested features only."}, {"post_id": 78743, "ts": "2026-10-11T14:05:31Z", "hours": 7.8461, "text": "Hey guys I am sorry for stalling y’all for this long but the layer 3 is out and expect layer 4 on Tuesday."}, {"post_id": 75872, "ts": "2026-10-01T13:15:06Z", "hours": 2.8056, "text": "Jarvis Demo is live guys at : https://jarvis-demo.streamlit.app"}, {"post_id": 73080, "ts": "2026-09-24T10:37:26Z", "hours": 3.3147, "text": "ch I am working on to fix so please if you find any bugs in code reply to this post and report the bug. Anyways here’s the link to the repo: https://github.com/TejasPatil0211/Jarvis"}, {"post_id": 71701, "ts": "2026-09-21T10:36:24Z", "hours": 2.8392, "text": "I have finished my work on the first version of ‘Mini-Jarvis’ and it is out for beta testing. So, find out bugs if any and report them here. ;) Here’s the link to the project: https://github.com/TejasPatil0211/Jarvis"}]...
|
Title: Mini Jarvis by @tejabhai4621 | Stardance
D Title: Mini Jarvis by @tejabhai4621 | Stardance
Devlogs:
I have finished my work on the first version of ‘Mini-Jarvis’ and it is out for beta testing. So, find out bugs if any and report them here. ;) Here’s the link to the project: https://github.com/TejasPatil0211/Jarvis
ch I am working on to fix so please if you find any bugs in code reply to this post and report the bug. Anyways here’s the link to the repo: https://github.com/TejasPatil0211/Jarvis
Jarvis Demo is live guys at : https://jarvis-demo.streamlit.app
Hey guys I am sorry for stalling y’all for this long but the layer 3 is out and expect layer 4 on Tuesday.
I am sorry that I got sidetracked by various other things but I have finished layer 4 of jarvis and it has got an end to the major updates. I will now only add minor bugfixes to jarvis and any community suggested features only....
|
1793220547.599509
|
1793825347.599509
|
|
26958
|
Kvisser by @Santtu09 | Stardance
|
Santtu09
|
0
|
29.56
|
0
|
[]
|
[{"post_id": 78858, "ts": "202 [{"post_id": 78858, "ts": "2026-10-11T19:49:53Z", "hours": 6.5619, "text": "Devlog 5: Quiz pages! First changes to the waiting screen: Filter sockets for inactive ones and thus show correct player count Remove double player count socket emit Corrected wording for if there’s only 1 player present Then the new stuff: Added the quiz page Made the top nav bar logo redirect to home because it was annoying for it to not Made the front page carousel’s slide’s images redirect to the page of their quiz Fixed the home button not redirecting to home when route was more than one slash deep I spent a ridiculous amount of time trying to get the spacing to take scroll bar into account but still couldn’t figure it out… But in good news: I learned how to use media queries! Idk why I put this off and did janky js style switching for so long… Next up: Auth! I think it’s gonna hurt even more if I try to do it retroactively so I’m just doing it now. Let’s hope I don’t introduce 12 security holes I’m unaware of /hj"}, {"post_id": 76705, "ts": "2026-10-04T11:44:00Z", "hours": 5.7906, "text": "Devlog 4: Player waiting page Added afformentioned player waiting page Desided to still use websockets which apparently are an absolute pain with React. I’ll try to get a prototype shipped in 2-3 weeks if I can but this is such a large project I may not finish it in time. I wont be pulling updated backend code to nest server frequently so functionality may be broken for newer features. Next up: Making the quiz specific pages."}, {"post_id": 43847, "ts": "2026-08-09T08:40:50Z", "hours": 7.8969, "text": "Devlog 3: Join page and some backend stuff Added join page Implemented basic game room exists check Starting to implement SQLite db structure Bug fixes I spent way too long trying to figure out why my req.body.x is undefined only to figure out that body parser is not bundled with express by default… I also did some brain storming and figured out a better way to eventually implement game logic that doesn’t require web sockets."}, {"post_id": 41309, "ts": "2026-08-05T13:36:54Z", "hours": 2.535, "text": "Devlog 2: Bottom bar and some small changes Made a bottom nav bar Added carousel titles and a variable api route as props Made carousel transition time slightly vary based on item width to give wider items some more heft Added a small wiggle when at the end of carousel to make it more intuitive Setup cloudflare pages (Tho it wont do much as I don’t yet have API up) A couple bug fixes"}, {"post_id": 39356, "ts": "2026-08-02T08:48:20Z", "hours": 6.7797, "text": "Devlog 1: The carousel of pain Implemented a (janky) carousel component Why is react this way? The good news is I managed to make a carousel but the bad news is it took me 8-9 hours in total. I would not recommend this task to react newbies like myself but It was still a valuable learning experience. Now to actually making some real pages and getting some real work done… hopefully… p.s. If someone knows a good or least jank way to make a carousel touch screen draggable please do tell me!"}]...
|
Title: Kvisser by @Santtu09 | Stardance
Devlogs:
Title: Kvisser by @Santtu09 | Stardance
Devlogs:
Devlog 1: The carousel of pain Implemented a (janky) carousel component Why is react this way? The good news is I managed to make a carousel but the bad news is it took me 8-9 hours in total. I would not recommend this task to react newbies like myself but It was still a valuable learning experience. Now to actually making some real pages and getting some real work done… hopefully… p.s. If someone knows a good or least jank way to make a carousel touch screen draggable please do tell me!
Devlog 2: Bottom bar and some small changes Made a bottom nav bar Added carousel titles and a variable api route as props Made carousel transition time slightly vary based on item width to give wider items some more heft Added a small wiggle when at the end of carousel to make it more intuitive Setup cloudflare pages (Tho it wont do much as I don’t yet have API up) A couple bug fixes
Devlog 3: Join page and some backend stuff Added join page Implemented basic game room exists check Starting to implement SQLite db structure Bug fixes I spent way too long trying to figure out why my req.body.x is undefined only to figure out that body parser is not bundled with express by default… I also did some brain storming and figured out a better way to eventually implement game logic that doesn’t require web sockets.
Devlog 4: Player waiting page Added afformentioned player waiting page Desided to still use websockets which apparently are an absolute pain with React. I’ll try to get a prototype shipped in 2-3 weeks if I can but this is such a large project I may not finish it in time. I wont be pulling updated backend code to nest server frequently so functionality may be broken for newer features. Next up: Making the quiz specific pages.
Devlog 5: Quiz pages! First changes to the waiting screen: Filter sockets for inactive ones and thus show correct player count Remove double player count socket emit Corrected wording for if there’s only 1 player present Then the new stuff: Added the quiz page Made the top nav bar logo redirect to home because it was annoying for it to not Made the front page carousel’s slide’s images redirect to the page of their quiz Fixed the home button not redirecting to home when route was more than one slash deep I spent a ridiculous amount of time trying to get the spacing to take scroll bar into account but still couldn’t figure it out… But in good news: I learned how to use media queries! Idk why I put this off and did janky js style switching for so long… Next up: Auth! I think it’s gonna hurt even more if I try to do it retroactively so I’m just doing it now. Let’s hope I don’t introduce 12 security holes I’m unaware of /hj...
|
1792641273.29269
|
1793246073.29269
|
|
40927
|
Audio player by @potionj | Stardance
|
potionj
|
1
|
29.54
|
58
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T16:59:06Z", "hours": 17.0, "multiplier": 3.35, "payout": 58, "blessing": "neutral", "text": "This is a proof of concept for the project. It’s an audio player that will use a custom plain text encoding system. IF YOU ARE GOING TO USE IT READ THE README: https://github.com/minye065/Aud/blob/main/README.md project: https://minye065.github.io/Aud/ Click upload to upload a file (has to be very small) and it will encode it. Known bugs: Heap oom from large files Files are not screened for Malloc’s not being freed (2) causing 2nd file uploaded to crash - this is due to the need for the c file to communicate with the js file", "repo": "https://github.com/minye065/Aud", "demo": "https://minye065.github.io/Aud/"}]...
|
[{"post_id": 53298, "ts": "202 [{"post_id": 53298, "ts": "2026-08-23T19:16:10Z", "hours": 1.4914, "text": "Fixed the final version up, created a release, tuned some things"}, {"post_id": 52066, "ts": "2026-08-22T04:00:10Z", "hours": 10.3225, "text": "App is now partially working, having a lot of issues with memory and getting the translator to link over. UI is very basic and horrible looking but that’s because this is built on win32 and I dont want to go through the pain of figuring this out. Directsound was enough."}, {"post_id": 44397, "ts": "2026-08-10T03:25:41Z", "hours": 0.7258, "text": "Fixed overflow bug"}, {"post_id": 42746, "ts": "2026-08-07T16:55:35Z", "hours": 2.4317, "text": "Final working version. Only works with a tiny file but it’s a proof of concept. Will be adding more things later and fixing the 2 known bugs."}, {"post_id": 41594, "ts": "2026-08-05T21:48:16Z", "hours": 10.1236, "text": "Still working on backend. Will have a better devlog once done."}, {"post_id": 37780, "ts": "2026-07-30T18:15:41Z", "hours": 1.6875, "text": "finished first step of the process of encoding the file, still things that need fixing, windowed fft per frame step is complete. What happened: audio into frames, frames into windowed frames via hann window, run fft on each frame. This results in a magnitude spectrogram. Next step is tracking partials across frames."}, {"post_id": 37422, "ts": "2026-07-30T04:00:03Z", "hours": 2.6339, "text": "Added part of the encoding thingy. Was planning on getting this done today but its taking so much longer then I expected. Also added more to the md file. So i handled PCM to frames, frames to windowed frames and halfway through fft?"}, {"post_id": 36690, "ts": "2026-07-28T22:13:09Z", "hours": 0.5694, "text": "Worked on readme for aud. Its a breakdown of how audio works for now. I’ll add how the app works later and all the math and encryption etc. I covered the basics of sound and how sound can be measured."}]...
|
Title: Audio player by @potionj | Stardance
Devlo Title: Audio player by @potionj | Stardance
Devlogs:
Worked on readme for aud. Its a breakdown of how audio works for now. I’ll add how the app works later and all the math and encryption etc. I covered the basics of sound and how sound can be measured.
Added part of the encoding thingy. Was planning on getting this done today but its taking so much longer then I expected. Also added more to the md file. So i handled PCM to frames, frames to windowed frames and halfway through fft?
finished first step of the process of encoding the file, still things that need fixing, windowed fft per frame step is complete. What happened: audio into frames, frames into windowed frames via hann window, run fft on each frame. This results in a magnitude spectrogram. Next step is tracking partials across frames.
Still working on backend. Will have a better devlog once done.
Final working version. Only works with a tiny file but it’s a proof of concept. Will be adding more things later and fixing the 2 known bugs.
Fixed overflow bug
App is now partially working, having a lot of issues with memory and getting the translator to link over. UI is very basic and horrible looking but that’s because this is built on win32 and I dont want to go through the pain of figuring this out. Directsound was enough.
Fixed the final version up, created a release, tuned some things
Ships:
This is a proof of concept for the project. It’s an audio player that will use a custom plain text encoding system. IF YOU ARE GOING TO USE IT READ THE README: https://github.com/minye065/Aud/blob/main/README.md project: https://minye065.github.io/Aud/ Click upload to upload a file (has to be very small) and it will encode it. Known bugs: Heap oom from large files Files are not screened for Malloc’s not being freed (2) causing 2nd file uploaded to crash - this is due to the need for the c file to communicate with the js file...
|
1793094518.8174841
|
1793180918.8174841
|
|
2849
|
reusable satellite by @Tony1292 | Stardance
|
Tony1292
|
0
|
29.52
|
0
|
[]
|
[{"post_id": 38929, "ts": "202 [{"post_id": 38929, "ts": "2026-08-01T15:14:19Z", "hours": 2.6786, "text": "I have added a camera system to the satellite and it rotates when it his the sun. It has a gear box that I had laying in my room and disassembled and a toy camera and added to the satellite. Know I just need the rest of the hardware."}, {"post_id": 14523, "ts": "2026-06-23T17:42:20Z", "hours": 1.8, "text": "I made a better recovery system. It is for the most part, the same.But of the instead rubber bands I used springs from a pen."}, {"post_id": 13367, "ts": "2026-06-21T21:59:17Z", "hours": 0.8167, "text": "I made my prototype for the recover system. I will 3D print the the prototype part to make it look cleaner an better. I will also change from tape hinges to actual metal hinges."}, {"post_id": 12695, "ts": "2026-06-20T18:49:13Z", "hours": 0.4336, "text": "I made my live satellite dashboard with lovable.Ai. Know the next step is to make the hardware and wire everything."}, {"post_id": 12173, "ts": "2026-06-19T21:44:48Z", "hours": 1.4422, "text": "Today I assembled the frame for my satellite and I used some screws and some sticks that I had like the next step will be to put the electronics in and make it work. It does not look the cleanest but it looks cool."}, {"post_id": 10954, "ts": "2026-06-17T23:28:03Z", "hours": 3.9822, "text": "I started 3D printing the the parts needed for my project. I just finished three part. I just need to print two more . Next step will be to build the frame."}, {"post_id": 9486, "ts": "2026-06-15T20:46:31Z", "hours": 11.3808, "text": "I was trying to make my base fro the satellite. Because the frame I had was to big. So I looked on Bambu maker world and found this. “Next step is to print the model."}, {"post_id": 2411, "ts": "2026-06-04T21:30:47Z", "hours": 0.4728, "text": "I decided to learn python because lot of people recommended to learn python first, for what i am trying to do with my project. “No idea what i am doing”😅"}, {"post_id": 2332, "ts": "2026-06-04T19:26:05Z", "hours": 0.3475, "text": "Working on my 3D printing file for my project I’m using tinkercad really big and friendly and I really like Taylor cat recommend using it for beginners"}, {"post_id": 2309, "ts": "2026-06-04T18:41:11Z", "hours": 0.94, "text": "I have my frame for my project. Sturdy and decent sized. use to be a nightstand."}, {"post_id": 2222, "ts": "2026-06-04T16:40:41Z", "hours": 0.3097, "text": "Learning code for my project =] I love this community I’ve been learning so much with the people around me."}, {"post_id": 1913, "ts": "2026-06-04T04:23:14Z", "hours": 0.325, "text": "The code is coming out good! with some bug but thanks to the help from hack club and other people in stardance . Thanks everyone for the help."}, {"post_id": 1905, "ts": "2026-06-04T03:59:24Z", "hours": 0.9158, "text": "Just made my schematic! pretty simple but it should be able to send the data from the GY-BMP280 module to a Commander controller type website."}, {"post_id": 1535, "ts": "2026-06-03T16:48:28Z", "hours": 1.3389, "text": "I just finished finding the hardware for my project. I am also going to use a GY-BMP280 sensor. Amazon the goat!"}, {"post_id": 1033, "ts": "2026-06-02T20:28:55Z", "hours": 2.34, "text": "I am working on a reusable satellite that has a modular type of body that can be used many times but also with an easy repair system. Also the satellite can have many uses of types of satellites. This image is from Phonebloks. My project will be this but in satellite form."}]...
|
Title: reusable satellite by @Tony1292 | Stardance Title: reusable satellite by @Tony1292 | Stardance
Devlogs:
I am working on a reusable satellite that has a modular type of body that can be used many times but also with an easy repair system. Also the satellite can have many uses of types of satellites. This image is from Phonebloks. My project will be this but in satellite form.
I just finished finding the hardware for my project. I am also going to use a GY-BMP280 sensor. Amazon the goat!
Just made my schematic! pretty simple but it should be able to send the data from the GY-BMP280 module to a Commander controller type website.
The code is coming out good! with some bug but thanks to the help from hack club and other people in stardance . Thanks everyone for the help.
Learning code for my project =] I love this community I’ve been learning so much with the people around me.
I have my frame for my project. Sturdy and decent sized. use to be a nightstand.
Working on my 3D printing file for my project I’m using tinkercad really big and friendly and I really like Taylor cat recommend using it for beginners
I decided to learn python because lot of people recommended to learn python first, for what i am trying to do with my project. “No idea what i am doing”😅
I was trying to make my base fro the satellite. Because the frame I had was to big. So I looked on Bambu maker world and found this. “Next step is to print the model.
I started 3D printing the the parts needed for my project. I just finished three part. I just need to print two more . Next step will be to build the frame.
Today I assembled the frame for my satellite and I used some screws and some sticks that I had like the next step will be to put the electronics in and make it work. It does not look the cleanest but it looks cool.
I made my live satellite dashboard with lovable.Ai. Know the next step is to make the hardware and wire everything.
I made my prototype for the recover system. I will 3D print the the prototype part to make it look cleaner an better. I will also change from tape hinges to actual metal hinges.
I made a better recovery system. It is for the most part, the same.But of the instead rubber bands I used springs from a pen.
I have added a camera system to the satellite and it rotates when it his the sun. It has a gear box that I had laying in my room and disassembled and a toy camera and added to the satellite. Know I just need the rest of the hardware....
|
1793199066.5062256
|
1793803866.5062256
|
|
24992
|
dotsong by @te | Stardance
|
te
|
1
|
29.51
|
44
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-25T02:41:15Z", "hours": 9.0, "multiplier": 4.96, "payout": 44, "blessing": "neutral", "text": "dotsong in its current state supports discord rich presence and scrobbling to last.fm, libre.fm, and any listenbrainz-compatible scrobbler. it can pick up tracks from any music player that interfaces with the system media center (i.e. MediaRemote on macOS, the media control thing on Windows that i always forget the name of, and MPRIS on linux). on the todo list is: better browser detection (might end up defaulting to off) scrobble retries optimization image uploading", "repo": "https://github.com/thrzl/dotsong", "demo": "https://github.com/thrzl/dotsong/releases/latest"}]...
|
[{"post_id": 42062, "ts": "202 [{"post_id": 42062, "ts": "2026-08-06T16:54:01Z", "hours": 2.9975, "text": "detecting browsers is annoying i discovered the issue when dotsong was trying to scrobble “Instagram”. i had to design this weird detection logic that runs if the process name matches a list of known browsers: is allow_browsers even enabled in settings? could we find it on deezer this feels a bit shoddy because for more niche tracks (which is totally possible if you’re playing them from a browser) it probably won’t be found. this makes me think i should lookup on musicbrainz instead. i also don’t want to rely on a private API, metabrainz seems more trustworthy especially considering spotify’s latest API changes also: i think i want to add a few custom discord apps for certain common players, like apple music and spotify so it can be “Listening to Apple Music” and stuff yk?"}, {"post_id": 21795, "ts": "2026-07-03T22:18:48Z", "hours": 4.4486, "text": "started rewriting the entire pipeline. main changes: complete MediaCenter::process_event rewrite rewritten completely from scratch. now takes up 40 less lines, skips invalid tracks earlier, and is much simpler to understand ticking logic improvement the app used to tick every 5 s to check track duration, which means 12/min. instead, i now calculate how far the 50% mark is and sleep for only that long; when we’re past it, it’ll just idle until the next track. the app now only wakes once per event, rather than 12 times/min use unicase crate to avoid unnecessary allocations most of the String allocations i make in the program are to_lowercase() calls for comparisons. the unicase crate allows me to make case-insensitive comparisons without extra allocations. all of this SHOULD mean less CPU and memory usage (i’m a bit obsessed with that, if you can’t tell yet), but i havent benched anything yet this PR edits like 500 lines but there’s only like 20 lines more than there were originally lol"}, {"post_id": 21295, "ts": "2026-07-03T04:32:00Z", "hours": 0.7556, "text": "i had been initializing a whole new last.fm/libre.fm client on every now playing request/scrobble, which was unnecessary and clunky. so i now: store a static CLIENT_POOL: LazyLock<DashMap<String, Client>> where the keys are the Scrobbler ids get the client for this scrobbler or create a new one and store it. this only runs on new requests, so we don’t unnecessarily create client. remove the client when the scrobbler is dropped, e.g. when the config is updated i’ve never used drop logic before but i think its like the coolest thing ever, so i was excuted about that"}, {"post_id": 20890, "ts": "2026-07-02T16:51:10Z", "hours": 5.135, "text": "originally, i had written two completely separate track detection pipelines for macOS and windows/linux, but i realized that it resulted in a lot of redundant logic, and making changes to that logic required testing on both macOS and windows for things that shouldnt have (e.g. cover art uploading), so i decided to unify it into one processing pipeline, and the platform-specific parts are just getting it to be a MediaInfo type as soon as possible. by the end of it, there were only 20 more lines than there were before, but there is now only one processing pipeline which is a huge help for implementing stuff in the future! also, some more tangible things: dark mode UI dotsong will do its best to filter out tracks from browsers instead of just taking it with no questions arm64 builds for linux now!"}, {"post_id": 17915, "ts": "2026-06-28T21:03:56Z", "hours": 1.7003, "text": "finally merged the cover art uploading feature! works on all platforms (linux is untested, but… we’ll get there)"}, {"post_id": 16727, "ts": "2026-06-27T05:22:26Z", "hours": 0.7731, "text": "fixed a really obnoxious bug i’ve been dealing with pretty much the whole time. on macOS apple music, when you pick a new track, it’ll broadcast a pause event and THEN a play event immediately after. for whatever reason, pause events always LOSE the race against the play event, and therefore overwrite the play event. it probably has to do with deezer caching. the fix was just short circuiting; check early if this is a pause event and we alr have the info; if so, dont worry about processing anything else"}, {"post_id": 16694, "ts": "2026-06-27T03:56:21Z", "hours": 2.8658, "text": "published another two versions today! first update contained a lot of those optimization fixes from before, but the second one was me testing with a user on windows (i normally use macOS, so testing on windows isn’t the easiest) now i’m doing testing on debian which is not working in any way at all </3"}, {"post_id": 16081, "ts": "2026-06-26T04:22:02Z", "hours": 0.7939, "text": "created a litterbox mock api with bun so i can test against image uploading against it compliant-ish. enough that it only accepts valid parameters and returns realistic URL responses. and its only 57 lines! i <3 bun forever the source is here https://gist.github.com/thrzl/22cde52746d4febf2c513b7fc7b829eb"}, {"post_id": 15509, "ts": "2026-06-25T06:26:35Z", "hours": 0.5628, "text": "more subtle improvements in this session, i removed some unnecessary ui elements (like a redundant separator and useless buttons) the more interesting thing is i fixed a bug where i was loading stale states, which cause it to spam now, i’m about to test AppImage builds, whenever i feel comfortable enough to put out another release"}, {"post_id": 15474, "ts": "2026-06-25T05:00:04Z", "hours": 0.4772, "text": "spent a LOT longer than 20 minutes trying to debug this weird memory leak that happens whenever i even ACCEPT image data on track events i literally gain a whole 200 MB PER EVENT, an “event” being any time the track info doesn’t stay the same. so if you pause it, play it, or the track changes for any reason, that’s an event, and it stacks so its totally unreasonable rn for me to get the images cus bro?? and i know its not in my code because i didn’t even add the handling yet i literally just accept the image data and it does that so i just filed an issue in the upstream crate pray for me guys"}, {"post_id": 15409, "ts": "2026-06-25T01:34:27Z", "hours": 0.9381, "text": "today i was trying to implement scrobble retries but i ended up not liking the current shape. i was gonna write to a file and send scrobbles later next time the host succeeds, but that was super annoying to implement i think i might end up trying a threads based approach where i just spawn a new thread whenever a scrobble fails; but that wouldnt handle network conditions as well. i think ima take a break from that and look at getting image support working tomorrow. that needs me to fix the upstream media-remote crate to fix a memory leak, first and foremost; then i’d want to lazy load images cus 70 MB just for getting a track is absurd"}, {"post_id": 14813, "ts": "2026-06-24T01:45:22Z", "hours": 7.9556, "text": "lots of code cleanup learned today that you can’t just use Arc<Mutex<...>> everywhere (well you can but its not necessarily a good thing) so i’m now using RwLock and ArcSwap which makes things a lot easier. i ended up changing tons of internal stuff in basically every file and still my PR only added like 30 something lines"}]...
|
Title: dotsong by @te | Stardance
Devlogs:
lots o Title: dotsong by @te | Stardance
Devlogs:
lots of code cleanup learned today that you can’t just use Arc<Mutex<...>> everywhere (well you can but its not necessarily a good thing) so i’m now using RwLock and ArcSwap which makes things a lot easier. i ended up changing tons of internal stuff in basically every file and still my PR only added like 30 something lines
today i was trying to implement scrobble retries but i ended up not liking the current shape. i was gonna write to a file and send scrobbles later next time the host succeeds, but that was super annoying to implement i think i might end up trying a threads based approach where i just spawn a new thread whenever a scrobble fails; but that wouldnt handle network conditions as well. i think ima take a break from that and look at getting image support working tomorrow. that needs me to fix the upstream media-remote crate to fix a memory leak, first and foremost; then i’d want to lazy load images cus 70 MB just for getting a track is absurd
spent a LOT longer than 20 minutes trying to debug this weird memory leak that happens whenever i even ACCEPT image data on track events i literally gain a whole 200 MB PER EVENT, an “event” being any time the track info doesn’t stay the same. so if you pause it, play it, or the track changes for any reason, that’s an event, and it stacks so its totally unreasonable rn for me to get the images cus bro?? and i know its not in my code because i didn’t even add the handling yet i literally just accept the image data and it does that so i just filed an issue in the upstream crate pray for me guys
more subtle improvements in this session, i removed some unnecessary ui elements (like a redundant separator and useless buttons) the more interesting thing is i fixed a bug where i was loading stale states, which cause it to spam now, i’m about to test AppImage builds, whenever i feel comfortable enough to put out another release
created a litterbox mock api with bun so i can test against image uploading against it compliant-ish. enough that it only accepts valid parameters and returns realistic URL responses. and its only 57 lines! i <3 bun forever the source is here https://gist.github.com/thrzl/22cde52746d4febf2c513b7fc7b829eb
published another two versions today! first update contained a lot of those optimization fixes from before, but the second one was me testing with a user on windows (i normally use macOS, so testing on windows isn’t the easiest) now i’m doing testing on debian which is not working in any way at all </3
fixed a really obnoxious bug i’ve been dealing with pretty much the whole time. on macOS apple music, when you pick a new track, it’ll broadcast a pause event and THEN a play event immediately after. for whatever reason, pause events always LOSE the race against the play event, and therefore overwrite the play event. it probably has to do with deezer caching. the fix was just short circuiting; check early if this is a pause event and we alr have the info; if so, dont worry about processing anything else
finally merged the cover art uploading feature! works on all platforms (linux is untested, but… we’ll get there)
originally, i had written two completely separate track detection pipelines for macOS and windows/linux, but i realized that it resulted in a lot of redundant logic, and making changes to that logic required testing on both macOS and windows for things that shouldnt have (e.g. cover art uploading), so i decided to unify it into one processing pipeline, and the platform-specific parts are just getting it to be a MediaInfo type as soon as possible. by the end of it, there were only 20 more lines than there were before, but there is now only one processing pipeline which is a huge help for implementing stuff in the future! also, some more tangible things: dark mode UI dotsong will do its best to filter out tracks from browsers instead of just taking it with no questions arm64 builds for linux now!
i had been initializing a whole new last.fm/libre.fm client on every now playing request/scrobble, which was unnecessary and clunky. so i now: store a static CLIENT_POOL: LazyLock<DashMap<String, Client>> where the keys are the Scrobbler ids get the client for this scrobbler or create a new one and store it. this only runs on new requests, so we don’t unnecessarily create client. remove the client when the scrobbler is dropped, e.g. when the config is updated i’ve never used drop logic before but i think its like the coolest thing ever, so i was excuted about that
started rewriting the entire pipeline. main changes: complete MediaCenter::process_event rewrite rewritten completely from scratch. now takes up 40 less lines, skips invalid tracks earlier, and is much simpler to understand ticking logic improvement the app used to tick every 5 s to check track duration, which means 12/min. instead, i now calculate how far the 50% mark is and sleep for only that long; when we’re past it, it’ll just idle until the next track. the app now only wakes once per event, rather than 12 times/min use unicase crate to avoid unnecessary allocations most of the String allocations i make in the program are to_lowercase() calls for comparisons. the unicase crate allows me to make case-insensitive comparisons without extra allocations. all of this SHOULD mean less CPU and memory usage (i’m a bit obsessed with that, if you can’t tell yet), but i havent benched anything yet this PR edits like 500 lines but there’s only like 20 lines more than there were originally lol
detecting browsers is annoying i discovered the issue when dotsong was trying to scrobble “Instagram”. i had to design this weird detection logic that runs if the process name matches a list of known browsers: is allow_browsers even enabled in settings? could we find it on deezer this feels a bit shoddy because for more niche tracks (which is totally possible if you’re playing them from a browser) it probably won’t be found. this makes me think i should lookup on musicbrainz instead. i also don’t want to rely on a private API, metabrainz seems more trustworthy especially considering spotify’s latest API changes also: i think i want to add a few custom discord apps for certain common players, like apple music and spotify so it can be “Listening to Apple Music” and stuff yk?
Ships:
dotsong in its current state supports discord rich presence and scrobbling to last.fm, libre.fm, and any listenbrainz-compatible scrobbler. it can pick up tracks from any music player that interfaces with the system media center (i.e. MediaRemote on macOS, the media control thing on Windows that i always forget the name of, and MPRIS on linux). on the todo list is: better browser detection (might end up defaulting to off) scrobble retries optimization image uploading...
|
1793127017.9000382
|
1793213417.9000382
|
|
33501
|
Restaurant Modernizer by @wiiuavi | Stardance
|
wiiuavi
|
0
|
29.47
|
0
|
[]
|
[{"post_id": 64471, "ts": "202 [{"post_id": 64471, "ts": "2026-09-08T21:54:37Z", "hours": 2.1783, "text": "Made the actual QR code gen for the tables, this will generate a pdf where each page has the qr code for its table, added option to change the base URL too, no idea what usecase yet outside testing also made dew bug fixes here and there, and added DEMO mode, in prep for moving this to hackclub nest, this will put the menu in a state where any functionality where the user could type something (e.g. item order notes, item creation, tag creation) is fully locked, this is so silly individuals cant add inappropriate things when testing the thing Also forgot to turn hackatime back on when i disabled my extensions trying to fix an issue (no matter how much i tried vs refused to detect my virtual env) i think im ready for shipping, maybe add a quick way to start one of these instances. originally i had in mind using env to customize but i feel theres more control in just running a clone of the repo with edited customer panel sites, where there is 100% control"}, {"post_id": 39728, "ts": "2026-08-02T21:33:04Z", "hours": 3.0147, "text": "Its been a while since i did anything on this, but i made a new management tab! it shows data, idrk what data is useful, but its another point i can make while providing as a service! also gave my backend’s GET req for orders start/end date parameters, imma look into not fetching all orders by default also from a random todo list which i found, i added a complete orders button incase the kitchen screen doesnt have a keyboard or mouse to do so themselves (which im guessing a lot won’t, otherwise they prolly don’t need this) dont ask why i ordered 67 fries today, it was for testing purposes trusttt"}, {"post_id": 32590, "ts": "2026-07-21T21:22:26Z", "hours": 6.3964, "text": "YOOO things r looking up search bar functional now i was having a really hard time deciding what to do for filters/tags (it makes sense to make a vegan tag, then filter for items that are vegan, but what about any item that has diary? it would look cluttered/complicated if you “exclude” tags - this is meant to make ordering quick and simple.) and icons? do i provide vegan/vegetarian/nut product tags? what if its a vegetarian restaraunt or a steakhouse, both extremes may not need the tag) so my fix? ignore the problem entirely. Now, the restaraunt admin may create tags and apply their own image with it. also redid the management UI before, you toggle tabs on or off, and it became very messy very fast. each tab could only have 50% of the screen max at a time, and some of the things there (like tag editor, and menu editor) would not be used often. It made much more sense for eaach button to switch to its own menu tag menu revamp, you can create tags, click on it edit (incl add/remove items) and you can also do this from the add/edit item menu in the images below, i made the tag some random google image, but ideally the restaraunt would have their own or use proper transparent stock icons. next additions to add: i wanna make the filter menu more compact, maybe only show it upon user request, as a lot of tags may take up space quick (im thinking of a button that upon press will shove out all the tags horizontally) also ive realised its very annoying to login to the panels, both kitchen and management/till, since enter key doesnt actually login, you press the button, but also need to keep in mind that in the kitchen, the screen may not be interactable (i havent been in a restaraunt kitchen, idek if they have screens) idk how to solve this, do i add a numpad and make the password numerical? what if they dont have that either? they cant even mark the things as done? maybe ill make a management thing or a “readonly” kitchen panel, and management panel will be the main way to complete orders. like how does a kitchen cleanly transition from using paper slips to reading orders of a screen? what if the screen is a monitor or tv hooked up in the cornner? anyways this took time maybe i take a break and work on another proj in mind, idk. holy yap i gotta wrap this up"}, {"post_id": 31478, "ts": "2026-07-19T21:37:04Z", "hours": 1.9297, "text": "Like bro cmon bro like bro So using trying to get docker working for the first time, and AI suggested i use a .env file since imma be serving the thing to diff clients and each will have their own logo/theme/passwords ect and i still dont fully know why (cus the html/css/js files lie in the same place as the .env file) but the js cant directly access it, so i wrote a quick api that would pass through the required parameters. next steps are making a filter/tag/search system for the menu, idk why i put it off (no image cus evrything looks the same, srry)"}, {"post_id": 30847, "ts": "2026-07-18T19:54:01Z", "hours": 1.9225, "text": "getting ready to make it easy to deploy diff versions for diff clients. added a navbar to hold the logo and client name made it easy to change the theme of the site added sessionStorage so users can exit the menu/refresh/switch wifi or smthng idk all in prep for getting docker ready oh and added fix for orders coming in at the same time (called write ahead logging) This isnt what the menu will look like, demoing the modular themes"}, {"post_id": 30379, "ts": "2026-07-17T21:15:16Z", "hours": 2.6636, "text": "Fixed up the edit menu from last time. Now the table number for an order is locked. You can also add notes for items and inc/reduce count. the kitchen panel will now show a timer for each order, how long ago they were ordered, and sorted by oldest first. the menu now also has an easier way to increment item count, made better for mobile. (has a few iterations of this) oh also removed any signs of the previous clientside password. and some backend stuff"}, {"post_id": 29789, "ts": "2026-07-16T22:01:40Z", "hours": 2.4689, "text": "For some reason, while i was making the password lock, i made it client side cus any skids who were tryna troll would be on their phones anyway. I only realised now that if these panels could edit orders, then there could be a lot more issues if someone took the time to login to the panel at home on a pc. So i spent the time to make both kitchen and management/till passwords server side. And i started on edit functionality for orders. ok im editing this, IDK what i was on, but the first box is for the table number, but the chance you will need to change the table for an order is basically 0. yea imma fix tht next."}, {"post_id": 27886, "ts": "2026-07-13T19:58:28Z", "hours": 3.4536, "text": "reworked a lot of the backend, add a whole price and image bit, made lots of quality of life updates: chefs can cross out what has been cooked each non personnel page is locked behind a password readability is way better, hid not so often accessed menus behind a toggle Made the order complete show a new page, and not keep them on the order page can also edit items directly, rather than del/add them will add some way to change passwords. will also fix images, as it looks so buns rn oh and add a way to edit orders, so you can still get your drink"}, {"post_id": 27617, "ts": "2026-07-13T11:18:29Z", "hours": 1.2867, "text": "partially finished the management panel. Will a way to remove items from menu completely, edit existing orders, password similar to kitchen, some way to generate QR codes on the fly, incase tables ones get damaged."}, {"post_id": 27271, "ts": "2026-07-12T18:09:49Z", "hours": 4.1594, "text": "Got a barebones customer menu, can make orders rn. Also got a basic kitchen menu, to see/complete orders and mark things out of stock. Got a python script that handles evrything, changes db accordingly. Working on a management panel now first time using FastAPI and pydantic, so a small learning curve"}]...
|
Title: Restaurant Modernizer by @wiiuavi | Stardan Title: Restaurant Modernizer by @wiiuavi | Stardance
Devlogs:
Got a barebones customer menu, can make orders rn. Also got a basic kitchen menu, to see/complete orders and mark things out of stock. Got a python script that handles evrything, changes db accordingly. Working on a management panel now first time using FastAPI and pydantic, so a small learning curve
partially finished the management panel. Will a way to remove items from menu completely, edit existing orders, password similar to kitchen, some way to generate QR codes on the fly, incase tables ones get damaged.
reworked a lot of the backend, add a whole price and image bit, made lots of quality of life updates: chefs can cross out what has been cooked each non personnel page is locked behind a password readability is way better, hid not so often accessed menus behind a toggle Made the order complete show a new page, and not keep them on the order page can also edit items directly, rather than del/add them will add some way to change passwords. will also fix images, as it looks so buns rn oh and add a way to edit orders, so you can still get your drink
For some reason, while i was making the password lock, i made it client side cus any skids who were tryna troll would be on their phones anyway. I only realised now that if these panels could edit orders, then there could be a lot more issues if someone took the time to login to the panel at home on a pc. So i spent the time to make both kitchen and management/till passwords server side. And i started on edit functionality for orders. ok im editing this, IDK what i was on, but the first box is for the table number, but the chance you will need to change the table for an order is basically 0. yea imma fix tht next.
Fixed up the edit menu from last time. Now the table number for an order is locked. You can also add notes for items and inc/reduce count. the kitchen panel will now show a timer for each order, how long ago they were ordered, and sorted by oldest first. the menu now also has an easier way to increment item count, made better for mobile. (has a few iterations of this) oh also removed any signs of the previous clientside password. and some backend stuff
getting ready to make it easy to deploy diff versions for diff clients. added a navbar to hold the logo and client name made it easy to change the theme of the site added sessionStorage so users can exit the menu/refresh/switch wifi or smthng idk all in prep for getting docker ready oh and added fix for orders coming in at the same time (called write ahead logging) This isnt what the menu will look like, demoing the modular themes
Like bro cmon bro like bro So using trying to get docker working for the first time, and AI suggested i use a .env file since imma be serving the thing to diff clients and each will have their own logo/theme/passwords ect and i still dont fully know why (cus the html/css/js files lie in the same place as the .env file) but the js cant directly access it, so i wrote a quick api that would pass through the required parameters. next steps are making a filter/tag/search system for the menu, idk why i put it off (no image cus evrything looks the same, srry)
YOOO things r looking up search bar functional now i was having a really hard time deciding what to do for filters/tags (it makes sense to make a vegan tag, then filter for items that are vegan, but what about any item that has diary? it would look cluttered/complicated if you “exclude” tags - this is meant to make ordering quick and simple.) and icons? do i provide vegan/vegetarian/nut product tags? what if its a vegetarian restaraunt or a steakhouse, both extremes may not need the tag) so my fix? ignore the problem entirely. Now, the restaraunt admin may create tags and apply their own image with it. also redid the management UI before, you toggle tabs on or off, and it became very messy very fast. each tab could only have 50% of the screen max at a time, and some of the things there (like tag editor, and menu editor) would not be used often. It made much more sense for eaach button to switch to its own menu tag menu revamp, you can create tags, click on it edit (incl add/remove items) and you can also do this from the add/edit item menu in the images below, i made the tag some random google image, but ideally the restaraunt would have their own or use proper transparent stock icons. next additions to add: i wanna make the filter menu more compact, maybe only show it upon user request, as a lot of tags may take up space quick (im thinking of a button that upon press will shove out all the tags horizontally) also ive realised its very annoying to login to the panels, both kitchen and management/till, since enter key doesnt actually login, you press the button, but also need to keep in mind that in the kitchen, the screen may not be interactable (i havent been in a restaraunt kitchen, idek if they have screens) idk how to solve this, do i add a numpad and make the password numerical? what if they dont have that either? they cant even mark the things as done? maybe ill make a management thing or a “readonly” kitchen panel, and management panel will be the main way to complete orders. like how does a kitchen cleanly transition from using paper slips to reading orders of a screen? what if the screen is a monitor or tv hooked up in the cornner? anyways this took time maybe i take a break and work on another proj in mind, idk. holy yap i gotta wrap this up
Its been a while since i did anything on this, but i made a new management tab! it shows data, idrk what data is useful, but its another point i can make while providing as a service! also gave my backend’s GET req for orders start/end date parameters, imma look into not fetching all orders by default also from a random todo list which i found, i added a complete orders button incase the kitchen screen doesnt have a keyboard or mouse to do so themselves (which im guessing a lot won’t, otherwise they prolly don’t need this) dont ask why i ordered 67 fries today, it was for testing purposes trusttt
Made the actual QR code gen for the tables, this will generate a pdf where each page has the qr code for its table, added option to change the base URL too, no idea what usecase yet outside testing also made dew bug fixes here and there, and added DEMO mode, in prep for moving this to hackclub nest, this will put the menu in a state where any functionality where the user could type something (e.g. item order notes, item creation, tag creation) is fully locked, this is so silly individuals cant add inappropriate things when testing the thing Also forgot to turn hackatime back on when i disabled my extensions trying to fix an issue (no matter how much i tried vs refused to detect my virtual env) i think im ready for shipping, maybe add a quick way to start one of these instances. originally i had in mind using env to customize but i feel theres more control in just running a clone of the repo with edited customer panel sites, where there is 100% control...
|
1792932656.2648213
|
1793796656.2648213
|
|
58009
|
Nailem: AI Powered Smart Aquascape by @abieprxalt Nailem: AI Powered Smart Aquascape by @abieprxalt | Stardance...
|
abieprxalt
|
0
|
29.42
|
0
|
[]
|
[{"post_id": 66374, "ts": "202 [{"post_id": 66374, "ts": "2026-09-12T05:26:25Z", "hours": 6.435, "text": "Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I have promised on my previous devlog, I spent 6.5 hours on the CAD of the Aquascape. Below are some of the stuff I implemented Most of the gantry mechanism Frames includes endstops, stepper motors, and rails The from control box The HMI display A cable guide that I’m not sure will even go into the final design Whie it may look complete, there’s still a bunch of stuff left to design: Lights Auto feeder The rest of the control box Pumps and plumbing The actual aquascape itself So on the next few devlogs I will work on those !"}, {"post_id": 62874, "ts": "2026-09-06T12:23:50Z", "hours": 9.3294, "text": "PCB DONE! Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I had promised on my previous devlog on this project, I am pretty much done building the primary PCB! After nine hours, I’ve: Routed the final subfunctions on the PCB Cleared all DRC Created awesome silkscreen and flair Exported gerbers Next should be CAD, I guess."}, {"post_id": 62067, "ts": "2026-09-05T09:29:40Z", "hours": 2.2333, "text": "GITHUB PAGE IS UP ! Check it out pls Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). Changes Create the README page of the repo Create wiring diagram of the project Add the PCB to version control Check it out here What to expect next The PCB has seen substantial progress, and should be done by the next devlog!"}, {"post_id": 61228, "ts": "2026-09-04T01:55:04Z", "hours": 11.4181, "text": "Nailem AI Aquascape: Substantial progress on the PCB! Github page is still empty This is kind of my first devlog, as I got carried away and completely forgot to make a devlog. It’s powered by an ESP32-S3, and ALL of the (usable) pins are used. The schematic is done, but may be revised on-the-fly Done routing: Relays Analog input headers INA3221 module UART program header The ESP32-S3 itself Partially routed: Digital IO headers MOSFETs Stepper motor driver + supporting components ARGB indicator LED Reset/boot pushbuttons"}]...
|
Title: Nailem: AI Powered Smart Aquascape by @abie Title: Nailem: AI Powered Smart Aquascape by @abieprxalt | Stardance
Devlogs:
Nailem AI Aquascape: Substantial progress on the PCB! Github page is still empty This is kind of my first devlog, as I got carried away and completely forgot to make a devlog. It’s powered by an ESP32-S3, and ALL of the (usable) pins are used. The schematic is done, but may be revised on-the-fly Done routing: Relays Analog input headers INA3221 module UART program header The ESP32-S3 itself Partially routed: Digital IO headers MOSFETs Stepper motor driver + supporting components ARGB indicator LED Reset/boot pushbuttons
GITHUB PAGE IS UP ! Check it out pls Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). Changes Create the README page of the repo Create wiring diagram of the project Add the PCB to version control Check it out here What to expect next The PCB has seen substantial progress, and should be done by the next devlog!
PCB DONE! Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I had promised on my previous devlog on this project, I am pretty much done building the primary PCB! After nine hours, I’ve: Routed the final subfunctions on the PCB Cleared all DRC Created awesome silkscreen and flair Exported gerbers Next should be CAD, I guess.
Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I have promised on my previous devlog, I spent 6.5 hours on the CAD of the Aquascape. Below are some of the stuff I implemented Most of the gantry mechanism Frames includes endstops, stepper motors, and rails The from control box The HMI display A cable guide that I’m not sure will even go into the final design Whie it may look complete, there’s still a bunch of stuff left to design: Lights Auto feeder The rest of the control box Pumps and plumbing The actual aquascape itself So on the next few devlogs I will work on those !...
|
1792734535.4550261
|
1793339335.4550261
|
|
20490
|
Phoenix - Web Game Framework by @openchanter | Sta Phoenix - Web Game Framework by @openchanter | Stardance...
|
openchanter
|
1
|
29.37
|
325
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T06:20:18Z", "hours": 25.0, "multiplier": 12.89, "payout": 325, "blessing": "neutral", "text": "I made Phoenix, a web-based game framework using TypeScript! It is designed to be easy to use and quick to make projects with. I used THREE.js for rendering and Planck.js for the physics engine. The features available in the engine vary from simple rendering components to rigidbodies, UI systems and particle systems! The engine also supports a proper scene hierarchy with objects being able to have children that inherit their translation and rotation. The most challenging part of this was just trying to iron out all of the small bugs that kept popping up in different areas of the engine while I was trying to add a new feature somewhere. Just a note about the demo though, it is meant to just show off the features of the engine, and the demo is not the product of this project but rather the actual engine and it’s API that can be used to make games! I also plan to make an actual game using this engine as my next project for Stardance!", "repo": "https://github.com/OpEnchanter/phoenix", "demo": "https://openchanter.github.io/phoenix"}]...
|
[{"post_id": 31045, "ts": "202 [{"post_id": 31045, "ts": "2026-07-19T03:58:27Z", "hours": 3.1128, "text": "Another devlog as I continue to work on my other project that uses this engine as a dependency. Since I’ve been actually using this engine for making something real, I’ve noticed that it has quite a few flaws that I didn’t catch earlier on in the creation process. For example, when the window resized on the Y axis, the scale of the content within the window would also scale. This actually ended up causing a big issue with my new project as I had to convert screen-space mouse coordinates to positions in the world for placing objects in the editor. Fixing this was pretty simple and I just swapped out the old render resolution for a render scalar that gets multiplied by the window resolution to calculate the render resolution. Over the time of creating my new project there have also been some other small issues with things such as the button hitboxes and the engine not having the ability to resize objects in real time that I have since fixed. For the real time object resizing issue though, it was especially annoying because I had to resize the THREE.js Mesh object directly using the .scale.set() method on it which cannot be simply supplied with the size in pixels you want the object to be and is separate from the size of the geometry. To solve this I had to calculate how much I would have to multiply the scale of the geometry by to get the new scale. This ends up being the math equation, newScale / originalScale . Attached to this devlog are images, showing the window scaling fix in action as well as the scaling fix as it is used in my game. Now the scale of pixels stays exactly the same regardless of the scale of the window, and the 2nd block shown in the image with the Tiles picker is being scaled and rotated when the player hovers it. Overall, this project is becoming quite a bit larger than I originally intended as I work on it more while actually using it to make a real game. Thanks for reading this devlog!"}, {"post_id": 27962, "ts": "2026-07-13T22:18:53Z", "hours": 1.255, "text": "Another quick devlog as I’ve been adding features while trying to make an actual game with the engine! I realized that I hadn’t added offsets for colliders, trigger colliders or collision callbacks, so I added all of those and that works now, and I also realized I needed a special renderer that could draw using THREE.js’ InstancedMesh so I created the InstancedRenderer component that allows for that InstancedMesh to be used, this should afford a decent performance boost for any games that have the ground made up of tiles (if used correctly). The image attached is an image of the game I’ve started working on!"}, {"post_id": 27541, "ts": "2026-07-13T06:08:25Z", "hours": 1.1381, "text": "Another short devlog, again about UI! I got around to adding a proper button component to the engine that supports both a hover and click state! Currently I am using it in one of the demos for a button that slows down time to 1/10 speed when clicked. When I was trying to get this working, I realized I had a pretty major bug with how the scale of the window worked, which was causing issues with mouse inputs not lining up correctly with the engine’s visual output, but after fixing that it works great! The implementation for usage is also pretty simple with the Phoenix.Button() component just having two optional fields, one for onHoverCallback and one for onClickCallback. Here is an example of an onClickCallback being supplied to a button component: new Phoenix . Button (() => { app . args . timescale = ( app . args . timescale == 1 ) ? 0.1 : 1 }) Thanks for reading my boring UI yap again!!"}, {"post_id": 27482, "ts": "2026-07-13T02:51:20Z", "hours": 1.4086, "text": "Very small devlog this time! I’ve now added support for screen-space rendering of objects (rendering of objects relative to the screen rather than the world). This will be very important for adding proper UI components such as buttons, switches, sliders and text boxes to the engine later! With the addition of screen space rendering I also added a new component specifically for it, being the UIRenderer component. It behaves exactly like the standard Renderer component, but it renders to the THREE.js scene that the output of the main scene is rendered to for applying screen-space shaders. This also has the side effect of UI elements being able to ignore the current screen-space shader, so they don’t get distorted or become unreadable in any other way. Here’s a little code example for how the screen-space rendering works when creating an object: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 64 , 96 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( \" assets/brick.png \" ), new Phoenix . UIRenderer ( 1 ) ) This little bit of code would create an object at coordinates (64, 96) but it would follow the camera rather than staying put in the world! In my next devlog I plan to actually add components for proper interactivity with UI components! Thanks for reading my yap!! Byeeee!"}, {"post_id": 26985, "ts": "2026-07-12T03:38:26Z", "hours": 1.4139, "text": "Hiya there! Another devlog on this project!! This time I added an actual particle system to the engine that can be used to spawn a bunch of little particles. It’s still missing a bit of customization such as turning off gravity for particles or the ability to change particle’s initial velocity, but so far it isn’t causing any lag and seems to work well! I had to figure out THREE.js’ InstancedMesh system to get this working without making the game run horribly, but I got it and it works now! The docs are also updated to reflect this new feature. And the ParticleSystem is used like any other component by just adding it to an object like the following: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 32 , 32 )), new Phoenix . ParticleSystem ( \" assets/brick.png \" , 10 , new Phoenix . Vector2 ( 24 , 24 )) ) ) The entire system for particles is self contained and doesn’t rely on any other components like the Renderer and Sprite because I felt it would be better to separate it due to the fact that the particles using an InstancedMesh, and the user might want to have particles have a different texture than their emitter. As shown in the images, the ParticleSystem can support a lot of particles and from some testing it is able to handle 10, 1000 and 10000 particles with no lag, but 100000 particles is stretching it a bit. I mean who would put over 10000 particles on screen at a time though, right?"}, {"post_id": 26131, "ts": "2026-07-10T19:01:01Z", "hours": 3.8183, "text": "Yay! Another devlog and even more hours poured into this project! This time I finally got around to reworking how the engine works to actually allow for objects to have children! In the past all objects were stored in a flat array which didn’t allow for any object parenting of any kind, but now the root of the scene is just another GameObject, so it can have children and those children can have children and so on forever. As you can see in the example photos, the brick object on the left has a smaller checkerboard-pattern object as a child of it that moves relative to it’s parent’s rotation and position. On the development side of things, adding objects to the scene as a whole remains exactly the same with the way the addition of objects simply being changed to having them be children of the scene root, but now all objects have a new method, GameObject.addChild(object: GameObject) . This allows any object have a child added to it, for example: player . addChild ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( \" assets/null.png \" ), new Phoenix . Renderer ( 1 ) )); This would just add a new smaller object to the player object with the null.png sprite, and this is exactly what is happening in the screenshots attached to this."}, {"post_id": 25126, "ts": "2026-07-09T04:22:25Z", "hours": 2.8756, "text": "I decided to use the feature I added to the engine a while ago that allows for custom screen space shaders to create a lighting shader for the game based on some simple raymarching! I’m going to work on getting it more polished and then implement it as a variable exposed by the main engine as something that can be used in any project. The usage of the shader isn’t too complicated, it just requires data about the lights to be supplied to the shader via uniforms. let lightPositions = [ new THREE . Vector2 ( - 128 , 128 ), new THREE . Vector2 ( 64 , 128 ) ] let lightScales = [ new THREE . Vector2 ( 512 , 512 ), new THREE . Vector2 ( 512 , 512 ) ] let lightColors = [ new THREE . Vector3 ( 1 , 0.3 , 0 ), new THREE . Vector3 ( 0 , 1 , 0.3 ) ] This would be supplied to the App’s options to override the shader. shaderOverride : { vertexShader : Phoenix . DefaultVertexShader , fragmentShader : LitShader , uniforms : { uLightPositions : { value : lightPositions }, uLightScales : { value : lightScales }, uLightColors : { value : lightColors } } } And then positions should be updated every frame to keep them in world space. app . addFrameIntervalCallback (() => { let lps = [] for ( const lightPos of lightPositions ) { const p = new THREE . Vector3 ( lightPos . x , lightPos . y , 0 ); p . project ( app . camera ); const x = ( p . x + 1 ) / 2 const y = ( p . y + 1 ) / 2 lps . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightPositions ! . value = lps let scls = [] for ( const lightScale of lightScales ) { const x = lightScale . x ! / rScale.x const y = lightScale . y ! / rScale.y scls . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightScales ! . value = scls }) Edit: I completely forgot about this but at some point I added support for animated sprites using the AnimatedSprite class which can be supplied an array of strings representing the paths to the image for each frame as well as a animation rate (number of game frames each animation frame is shown for)"}, {"post_id": 24576, "ts": "2026-07-08T08:10:21Z", "hours": 2.9547, "text": "I did a bunch of backend stuff, adding features and making the engine overall better. My most recent addition to this is the use of a unified renderer component, where rather than having separate components handling the rendering of text, canvas sprites and normal sprites individually and with duplicate code, the main renderer component automatically finds any sprite type and renders it! For example, in the scenes below: the text in past versions would have been rendered with a TextRenderer component, whereas now there is a TextSprite component that feeds a texture to a Renderer component on the object. New Version const text = new Phoenix . TextSprite ( \" Hello world! \" , { fontSize : 32 , backgroundColor : \" #7fefcf \" , padding : 8 }); app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( text . texture ! . width , text . texture ! . height )), text , new Phoenix . Renderer ( 1 ) )); Old Version app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( 0 , 0 )), new Phoenix . TextRenderer ( \" Hello world! \" , { fontSize : 32 , backgroundColor : \" #7fefcf \" , padding : 8 }, 1 )"}, {"post_id": 15461, "ts": "2026-06-25T04:17:31Z", "hours": 2.4086, "text": "Big update! I finally actually got around to making the demo scenes built with this engine publish on GitHub pages ( here ). I also added a circle collider component and a text renderer which in turn relies on a HTML Canvas Renderer so there’s also now an easier way to create procedural assets for games."}, {"post_id": 14176, "ts": "2026-06-23T05:13:33Z", "hours": 1.6892, "text": "I finally added support for getting inputs within a component without using a web API to register an event listener and then having to deal with destroying that when the object get unloaded! I then updated the test scene to reflect that with a new component added to each object in a tower that adds an impulse when the W key is pressed. The scene can also be switched with the H key."}, {"post_id": 10659, "ts": "2026-06-17T14:54:58Z", "hours": 3.1258, "text": "I added screen-space shader support for now, the shader can’t be overridden but I’ll change that as well as allowing for the shaders attached to individual objects to be overridden."}, {"post_id": 10375, "ts": "2026-06-17T01:44:28Z", "hours": 4.535, "text": "So far I’ve added all the basics, scenes, objects, physics implementation and rendering. The rendering is currently using a basic HTML canvas method, but I am planning to update it to THREE.js for faster rendering and support for complex shader effects. This will probably be a relatively short project and I probably wont make many devlogs for this. It’s kind of hard to show off an engine with images, and without showing the code, so I don’t know how much visual progress I’ll be able to show, but I’ll definately be able to show a lot more for the game I’m planning on making that will use this engine!"}]...
|
Title: Phoenix - Web Game Framework by @openchante Title: Phoenix - Web Game Framework by @openchanter | Stardance
Devlogs:
So far I’ve added all the basics, scenes, objects, physics implementation and rendering. The rendering is currently using a basic HTML canvas method, but I am planning to update it to THREE.js for faster rendering and support for complex shader effects. This will probably be a relatively short project and I probably wont make many devlogs for this. It’s kind of hard to show off an engine with images, and without showing the code, so I don’t know how much visual progress I’ll be able to show, but I’ll definately be able to show a lot more for the game I’m planning on making that will use this engine!
I added screen-space shader support for now, the shader can’t be overridden but I’ll change that as well as allowing for the shaders attached to individual objects to be overridden.
I finally added support for getting inputs within a component without using a web API to register an event listener and then having to deal with destroying that when the object get unloaded! I then updated the test scene to reflect that with a new component added to each object in a tower that adds an impulse when the W key is pressed. The scene can also be switched with the H key.
Big update! I finally actually got around to making the demo scenes built with this engine publish on GitHub pages ( here ). I also added a circle collider component and a text renderer which in turn relies on a HTML Canvas Renderer so there’s also now an easier way to create procedural assets for games.
I did a bunch of backend stuff, adding features and making the engine overall better. My most recent addition to this is the use of a unified renderer component, where rather than having separate components handling the rendering of text, canvas sprites and normal sprites individually and with duplicate code, the main renderer component automatically finds any sprite type and renders it! For example, in the scenes below: the text in past versions would have been rendered with a TextRenderer component, whereas now there is a TextSprite component that feeds a texture to a Renderer component on the object. New Version const text = new Phoenix . TextSprite ( " Hello world! " , { fontSize : 32 , backgroundColor : " #7fefcf " , padding : 8 }); app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( text . texture ! . width , text . texture ! . height )), text , new Phoenix . Renderer ( 1 ) )); Old Version app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( 0 , 0 )), new Phoenix . TextRenderer ( " Hello world! " , { fontSize : 32 , backgroundColor : " #7fefcf " , padding : 8 }, 1 )
I decided to use the feature I added to the engine a while ago that allows for custom screen space shaders to create a lighting shader for the game based on some simple raymarching! I’m going to work on getting it more polished and then implement it as a variable exposed by the main engine as something that can be used in any project. The usage of the shader isn’t too complicated, it just requires data about the lights to be supplied to the shader via uniforms. let lightPositions = [ new THREE . Vector2 ( - 128 , 128 ), new THREE . Vector2 ( 64 , 128 ) ] let lightScales = [ new THREE . Vector2 ( 512 , 512 ), new THREE . Vector2 ( 512 , 512 ) ] let lightColors = [ new THREE . Vector3 ( 1 , 0.3 , 0 ), new THREE . Vector3 ( 0 , 1 , 0.3 ) ] This would be supplied to the App’s options to override the shader. shaderOverride : { vertexShader : Phoenix . DefaultVertexShader , fragmentShader : LitShader , uniforms : { uLightPositions : { value : lightPositions }, uLightScales : { value : lightScales }, uLightColors : { value : lightColors } } } And then positions should be updated every frame to keep them in world space. app . addFrameIntervalCallback (() => { let lps = [] for ( const lightPos of lightPositions ) { const p = new THREE . Vector3 ( lightPos . x , lightPos . y , 0 ); p . project ( app . camera ); const x = ( p . x + 1 ) / 2 const y = ( p . y + 1 ) / 2 lps . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightPositions ! . value = lps let scls = [] for ( const lightScale of lightScales ) { const x = lightScale . x ! / rScale.x const y = lightScale . y ! / rScale.y scls . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightScales ! . value = scls }) Edit: I completely forgot about this but at some point I added support for animated sprites using the AnimatedSprite class which can be supplied an array of strings representing the paths to the image for each frame as well as a animation rate (number of game frames each animation frame is shown for)
Yay! Another devlog and even more hours poured into this project! This time I finally got around to reworking how the engine works to actually allow for objects to have children! In the past all objects were stored in a flat array which didn’t allow for any object parenting of any kind, but now the root of the scene is just another GameObject, so it can have children and those children can have children and so on forever. As you can see in the example photos, the brick object on the left has a smaller checkerboard-pattern object as a child of it that moves relative to it’s parent’s rotation and position. On the development side of things, adding objects to the scene as a whole remains exactly the same with the way the addition of objects simply being changed to having them be children of the scene root, but now all objects have a new method, GameObject.addChild(object: GameObject) . This allows any object have a child added to it, for example: player . addChild ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( " assets/null.png " ), new Phoenix . Renderer ( 1 ) )); This would just add a new smaller object to the player object with the null.png sprite, and this is exactly what is happening in the screenshots attached to this.
Hiya there! Another devlog on this project!! This time I added an actual particle system to the engine that can be used to spawn a bunch of little particles. It’s still missing a bit of customization such as turning off gravity for particles or the ability to change particle’s initial velocity, but so far it isn’t causing any lag and seems to work well! I had to figure out THREE.js’ InstancedMesh system to get this working without making the game run horribly, but I got it and it works now! The docs are also updated to reflect this new feature. And the ParticleSystem is used like any other component by just adding it to an object like the following: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 32 , 32 )), new Phoenix . ParticleSystem ( " assets/brick.png " , 10 , new Phoenix . Vector2 ( 24 , 24 )) ) ) The entire system for particles is self contained and doesn’t rely on any other components like the Renderer and Sprite because I felt it would be better to separate it due to the fact that the particles using an InstancedMesh, and the user might want to have particles have a different texture than their emitter. As shown in the images, the ParticleSystem can support a lot of particles and from some testing it is able to handle 10, 1000 and 10000 particles with no lag, but 100000 particles is stretching it a bit. I mean who would put over 10000 particles on screen at a time though, right?
Very small devlog this time! I’ve now added support for screen-space rendering of objects (rendering of objects relative to the screen rather than the world). This will be very important for adding proper UI components such as buttons, switches, sliders and text boxes to the engine later! With the addition of screen space rendering I also added a new component specifically for it, being the UIRenderer component. It behaves exactly like the standard Renderer component, but it renders to the THREE.js scene that the output of the main scene is rendered to for applying screen-space shaders. This also has the side effect of UI elements being able to ignore the current screen-space shader, so they don’t get distorted or become unreadable in any other way. Here’s a little code example for how the screen-space rendering works when creating an object: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 64 , 96 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( " assets/brick.png " ), new Phoenix . UIRenderer ( 1 ) ) This little bit of code would create an object at coordinates (64, 96) but it would follow the camera rather than staying put in the world! In my next devlog I plan to actually add components for proper interactivity with UI components! Thanks for reading my yap!! Byeeee!
Another short devlog, again about UI! I got around to adding a proper button component to the engine that supports both a hover and click state! Currently I am using it in one of the demos for a button that slows down time to 1/10 speed when clicked. When I was trying to get this working, I realized I had a pretty major bug with how the scale of the window worked, which was causing issues with mouse inputs not lining up correctly with the engine’s visual output, but after fixing that it works great! The implementation for usage is also pretty simple with the Phoenix.Button() component just having two optional fields, one for onHoverCallback and one for onClickCallback. Here is an example of an onClickCallback being supplied to a button component: new Phoenix . Button (() => { app . args . timescale = ( app . args . timescale == 1 ) ? 0.1 : 1 }) Thanks for reading my boring UI yap again!!
Another quick devlog as I’ve been adding features while trying to make an actual game with the engine! I realized that I hadn’t added offsets for colliders, trigger colliders or collision callbacks, so I added all of those and that works now, and I also realized I needed a special renderer that could draw using THREE.js’ InstancedMesh so I created the InstancedRenderer component that allows for that InstancedMesh to be used, this should afford a decent performance boost for any games that have the ground made up of tiles (if used correctly). The image attached is an image of the game I’ve started working on!
Another devlog as I continue to work on my other project that uses this engine as a dependency. Since I’ve been actually using this engine for making something real, I’ve noticed that it has quite a few flaws that I didn’t catch earlier on in the creation process. For example, when the window resized on the Y axis, the scale of the content within the window would also scale. This actually ended up causing a big issue with my new project as I had to convert screen-space mouse coordinates to positions in the world for placing objects in the editor. Fixing this was pretty simple and I just swapped out the old render resolution for a render scalar that gets multiplied by the window resolution to calculate the render resolution. Over the time of creating my new project there have also been some other small issues with things such as the button hitboxes and the engine not having the ability to resize objects in real time that I have since fixed. For the real time object resizing issue though, it was especially annoying because I had to resize the THREE.js Mesh object directly using the .scale.set() method on it which cannot be simply supplied with the size in pixels you want the object to be and is separate from the size of the geometry. To solve this I had to calculate how much I would have to multiply the scale of the geometry by to get the new scale. This ends up being the math equation, newScale / originalScale . Attached to this devlog are images, showing the window scaling fix in action as well as the scaling fix as it is used in my game. Now the scale of pixels stays exactly the same regardless of the scale of the window, and the 2nd block shown in the image with the Tiles picker is being scaled and rotated when the player hovers it. Overall, this project is becoming quite a bit larger than I originally intended as I work on it more while actually using it to make a real game. Thanks for reading this devlog!
Ships:
I made Phoenix, a web-based game framework using TypeScript! It is designed to be easy to use and quick to make projects with. I used THREE.js for rendering and Planck.js for the physics engine. The features available in the engine vary from simple rendering components to rigidbodies, UI systems and particle systems! The engine also supports a proper scene hierarchy with objects being able to have children that inherit their translation and rotation. The most challenging part of this was just trying to iron out all of the small bugs that kept popping up in different areas of the engine while I was trying to add a new feature somewhere. Just a note about the demo though, it is meant to just show off the features of the engine, and the demo is not the product of this project but rather the actual engine and it’s API that can be used to make games! I also plan to make an actual game using this engine as my next project for Stardance!...
|
1793123302.2251883
|
1793209702.2251883
|
|
37820
|
Basketball-lab by @jonathanrobin13 | Stardance
|
jonathanrobin13
|
0
|
29.36
|
0
|
[]
|
[{"post_id": 72850, "ts": "202 [{"post_id": 72850, "ts": "2026-09-23T21:20:14Z", "hours": 4.0611, "text": "Working website"}, {"post_id": 70689, "ts": "2026-09-19T16:23:48Z", "hours": 1.8717, "text": "Angle Finder I got a working calculator that can get the angle of the elbow, wrist and shoulder! I used a lot of geometery like acos and atan2 from the py math module. The math was hard so I had to youtube it and implement in this. Just to make sure my angle calculator was actually reading the correct measurements, I identified the angle, so it was reading it correctly even if I rotate myself."}, {"post_id": 59238, "ts": "2026-08-31T22:21:52Z", "hours": 4.6078, "text": "Frontend Backend Connection I got the frontend to send frames to the backend, then backend runs mediapipe on the frames then sends frames back to backend where they are displayed It is pretty laggy right now, so I will add a latest-frame buffer so that I can grab the newest frames, not the older ones."}, {"post_id": 46585, "ts": "2026-08-13T22:27:33Z", "hours": 2.3228, "text": "Detecting Human Body MediaPipe I finally got to understand how mediapipe works and how to set it up. I got it select certain body parts that are key to shooting a basketball, like the knees, elbows, wrists, shoulder, ankles, and some more. I used circles to identify those spots on my body, and it worked. The fps was really smooth comapared to the YOLO model for tracking the ball, so Im happy about that. Next I need to focus on finding angles of the person, like the angle when they make their shot."}, {"post_id": 43540, "ts": "2026-08-08T21:25:10Z", "hours": 1.3011, "text": "Server Connection Today i got create a server connection and connect it to multiple devices on my Wi-Fi network. I used uvicorn and fastapi to connect python to javascript. Error Windows firewall was blocking connection for other devices, so they weren’t able to get in. I disabled all rules for python, so then it worked. But only the frontend was working, the backend did not work."}, {"post_id": 42232, "ts": "2026-08-06T20:57:54Z", "hours": 4.4508, "text": "BasketLab Home Page (Will add CSS trust) Today’s focus was more on the website, not on the actual tracking. I got the idea for my home page. HTML I made the basic html file today. Right now, I just created my idea and the words. I used a lot of semantic tags, maybe too much, but overall it was pretty good. CSS I just touched the CSS part for this home page. I worked mainly on getting the background color, fonts and the navigator bar at the top. I got my font from google. For the navigator bar, I worked on the spacing between the buttons and logo."}, {"post_id": 40938, "ts": "2026-08-04T19:43:58Z", "hours": 0.2831, "text": "Added more pictures (trust me) still learning how to use tag need to add yolo AI need to integrate Mediapipe Worked on website (basic html) need to get domain maybe might need server later, not needed though"}, {"post_id": 40912, "ts": "2026-08-04T19:01:06Z", "hours": 4.8844, "text": "Created Website (trust the process) I’m still learning html and css, but this is a good place to start Might put some more memes??? Use css a lot more no js right now, later implement it Tracking stuff add OpenCV later convert yolo AI model to onnx, Put some better graphics"}, {"post_id": 34306, "ts": "2026-07-24T21:53:48Z", "hours": 2.7303, "text": "YOLO Model for tracking"}, {"post_id": 32654, "ts": "2026-07-21T23:00:29Z", "hours": 1.9772, "text": "Tracking System What I Did Tracking.py created used opencv to help me track created simple tracking system for a ball works for any ball uses camera real time Split main.py into two files video.py image.py added video for data Need to improve work on color detection switch to hsv"}, {"post_id": 32080, "ts": "2026-07-21T00:07:58Z", "hours": 0.8678, "text": "Setup project This is my first devlog of this project. What I did today: learned how to get images and show them (example in picture) learned about venv and downloaded a bunch of libraries still working on learning opencv-python for processing Need to work on later Add video processing Add analysis of basketball"}]...
|
Title: Basketball-lab by @jonathanrobin13 | Starda Title: Basketball-lab by @jonathanrobin13 | Stardance
Devlogs:
Setup project This is my first devlog of this project. What I did today: learned how to get images and show them (example in picture) learned about venv and downloaded a bunch of libraries still working on learning opencv-python for processing Need to work on later Add video processing Add analysis of basketball
Tracking System What I Did Tracking.py created used opencv to help me track created simple tracking system for a ball works for any ball uses camera real time Split main.py into two files video.py image.py added video for data Need to improve work on color detection switch to hsv
YOLO Model for tracking
Created Website (trust the process) I’m still learning html and css, but this is a good place to start Might put some more memes??? Use css a lot more no js right now, later implement it Tracking stuff add OpenCV later convert yolo AI model to onnx, Put some better graphics
Added more pictures (trust me) still learning how to use tag need to add yolo AI need to integrate Mediapipe Worked on website (basic html) need to get domain maybe might need server later, not needed though
BasketLab Home Page (Will add CSS trust) Today’s focus was more on the website, not on the actual tracking. I got the idea for my home page. HTML I made the basic html file today. Right now, I just created my idea and the words. I used a lot of semantic tags, maybe too much, but overall it was pretty good. CSS I just touched the CSS part for this home page. I worked mainly on getting the background color, fonts and the navigator bar at the top. I got my font from google. For the navigator bar, I worked on the spacing between the buttons and logo.
Server Connection Today i got create a server connection and connect it to multiple devices on my Wi-Fi network. I used uvicorn and fastapi to connect python to javascript. Error Windows firewall was blocking connection for other devices, so they weren’t able to get in. I disabled all rules for python, so then it worked. But only the frontend was working, the backend did not work.
Detecting Human Body MediaPipe I finally got to understand how mediapipe works and how to set it up. I got it select certain body parts that are key to shooting a basketball, like the knees, elbows, wrists, shoulder, ankles, and some more. I used circles to identify those spots on my body, and it worked. The fps was really smooth comapared to the YOLO model for tracking the ball, so Im happy about that. Next I need to focus on finding angles of the person, like the angle when they make their shot.
Frontend Backend Connection I got the frontend to send frames to the backend, then backend runs mediapipe on the frames then sends frames back to backend where they are displayed It is pretty laggy right now, so I will add a latest-frame buffer so that I can grab the newest frames, not the older ones.
Angle Finder I got a working calculator that can get the angle of the elbow, wrist and shoulder! I used a lot of geometery like acos and atan2 from the py math module. The math was hard so I had to youtube it and implement in this. Just to make sure my angle calculator was actually reading the correct measurements, I identified the angle, so it was reading it correctly even if I rotate myself.
Working website...
|
1792662703.5908384
|
1793267503.5908384
|
|
66919
|
Babio-Ware by @squidman | Stardance
|
squidman
|
0
|
29.36
|
0
|
[]
|
[{"post_id": 83132, "ts": "202 [{"post_id": 83132, "ts": "2026-10-27T00:29:48Z", "hours": 1.1478, "text": "For whatever reason, it took like an hour to get a font in and it looks awful. I kinda think its funny though. According to corporate they need me to “find the guy who keeps pushing slop to the repo daily and fire him.” So I hope they don’t find out."}, {"post_id": 82823, "ts": "2026-10-25T22:48:20Z", "hours": 1.0639, "text": "I did more boring porting from globals to actual managers that no one cares about. More updates on minigames will probably come sometime next week. Just for the record, about 4/50 complete and 1/50 wip."}, {"post_id": 82509, "ts": "2026-10-25T02:35:03Z", "hours": 1.3817, "text": "Boring one today. Just fixed the scene manager to actually rely on itself and not the globals."}, {"post_id": 82138, "ts": "2026-10-24T02:24:00Z", "hours": 0.7439, "text": "soon the unfurled paper will become the math paper. evil math paper.with preschool. math of preschool math."}, {"post_id": 81930, "ts": "2026-10-23T02:45:36Z", "hours": 0.7892, "text": "Implemented necessary music and background. Why did it take 45 minutes? It didn’t I don’t know where this number even came from. I guess I got sidetracked. Like tracked, on the side, because it wasn’t my main goal. It was a side goal. On the side. For Babio Ware. I can’t find the TM so I technically didn’t reference the actual game. That’s not how that works. Too much of a good squid is a bad squid. Squid. Squid stuff. I don’t have much to report today. Maybe next time I’ll make the MJ button do something."}, {"post_id": 81683, "ts": "2026-10-22T01:37:49Z", "hours": 1.2247, "text": "Babio Paint is a bit more fleshed out, added some weird cubes, some weird function, some weird thingamajigs, and Babio things and stuffs. Hold [RMB] to draw… this stuff."}, {"post_id": 81373, "ts": "2026-10-21T01:32:30Z", "hours": 0.7481, "text": "Have you ever had a bad day? Spent forty minutes on a whole lot of nothing. I have the idea but just not the feeling. The energy? Sometimes I think it’s unavoidable. And it can feel like you’re ungrateful when you know good things happen to you too. Welp, I felt a bit down today. Tried to write some stuff but I could only get this paper ball on screen. It looks funny. At least bad days don’t last forever. I hope when I am finished my jokes can take away some bad days. More tomorrow."}, {"post_id": 81121, "ts": "2026-10-19T23:45:45Z", "hours": 1.4011, "text": "Big props if you can guess what I’m making, mostly because I don’t really know myself. I didn’t really have any ideas today so I made this hand thingy. My plan is to have you pick up stuff. A very fun job. Given. To you. By me. I don’t know how to make a joke here. Anyway, probably more actual content tomorrow. Other than that, I worked a bit on making other systems actually work like I wanted them to. Although I should really just keep making more stuff before I go back to old stuff."}, {"post_id": 80854, "ts": "2026-10-19T01:00:03Z", "hours": 1.0289, "text": "I decided that the drawing wouldn’t really make for a good minigame, so, now introducing… Babio Paint! A very original and in development idea. I’m sure this is what all of us were desperately asking for, so don’t get all your eggs in a knot. Either way, Babio liked this idea SO MUCH, he asked for another button of his face, and now expects even more “eastered eggs” out of me. Cya!"}, {"post_id": 80841, "ts": "2026-10-18T23:49:25Z", "hours": 0.9094, "text": "While trying to code a way to cut 2D images into pieces, I accidentally made it so that you can draw? I guess I can actually make this into two minigames now so be fortunate for our happy accidents. Nevertheless, the little code snipper in the first two seconds is all of this scene so feel free to copy that if you want to do something with this. Babio says I shouldn’t share “company secrets” but it’s okay to break the rules sometimes, right?"}, {"post_id": 80518, "ts": "2026-10-17T23:55:07Z", "hours": 0.4031, "text": "Ok, so, there I was, hard at work and hardly working, when all of a sudden my manager, Mr. Babio, checks up on me. Kindly, he says “let me use your laptop for a sec, chump.” Now, I am not intimidated by someone who is 3’1” (94cm), but I didn’t feel like losing my job. So, in my infinite kindness, I handed it to him. However, upon receiving my laptop back, I was told by VSCode this bug, that my globals didn’t have a definition for “SpriteBatch.” Now, I wrote the code so I knew that it was called sb, which is why I typed sb, which is why I am utterly baffled at this bug. How on earth is it telling me that the bug is on the line where it literally isn’t? So, being upset, I immediately went straight back to Mr. Babio’s office to beat on him, meaning I cowered and politely asked what he could’ve done to my laptop. He tells me that he doesn’t know, and he “only wrote a few lines testing”, which isn’t true, because he just took it and stared at the screen for half an hour. Nevertheless, you can imagine my then and continued confusion when I was told by the terminal that there is an imaginary bug. This can only mean I am fighting fourth dimensional entities I cannot perceive, which is good content for a minigame, so maybe expect that. Content drops will return once I beat these beings and find my way back to the IDE."}, {"post_id": 80262, "ts": "2026-10-17T00:17:31Z", "hours": 0.3347, "text": "As far as news today goes… I hope that puns are good enough! If you can call them that. Either way, no need to wagyuu any fingers at me. Orange you glad you get to cook food in Babio Ware™? Are the jokes too corny for you? But you can’t be shellfish about it because I’m doing it for brie! Alright, alright… I walnut make any more food puns. I think this minigame will be pretty fun dough."}, {"post_id": 80059, "ts": "2026-10-16T03:21:44Z", "hours": 0.3006, "text": "I guess it’s a bit hard for me to get work done right now. A bit tired, had stuff to do. Sorry for a bad devlog today. You’re amazing, and you make Babio proud."}, {"post_id": 79669, "ts": "2026-10-15T00:51:58Z", "hours": 0.7761, "text": "Apparently, you AREN’T supposed to name your variables sentences. Babio informed me of this during his routine check in. He said, “if you don’t add at least 3 more demon types, you are fired!!!!” Which would be nice if “fired” meant I get be ignited and burn. But no, it means that I have to lose my game. No thanks Mr. Babio. That means 15 more frames of demons are coming soon."}, {"post_id": 79452, "ts": "2026-10-14T02:02:20Z", "hours": 0.4758, "text": "Okay, so basically, this is what it’s like in hell. And that’s the truth, love it or hate it. Yep, Neddy really is the Devil. I’d know, Babio and I went to hell on a trip to find a Toys R Us back in 2022, but it turns out they’d all shut down I thinks. Long story short, pokemon cards were on 75% sale and I managed to snag like a ton of boxes. Babio got nothing because he was broke, but he’s rolling in it after all the promotions. This minigame is a very accurate representation of a moment on our journey into hell, or as Babio said “tartarus.” Well Babio, the only “tar tar” I know is steak, and it’s pretty gross."}, {"post_id": 79449, "ts": "2026-10-14T01:26:55Z", "hours": 0.9703, "text": "I don’t have the energy for any puns or absurdity today. I added some sound effects, more stuff, 5/50 minigames are basically complete. When #50 is done the game will be public and free. Then I’ll just keep uploading minigames as updates from there. Please understand squids can get tired too… But hey, I understand the SoundEffect class as well as I can now, I think."}, {"post_id": 79081, "ts": "2026-10-12T16:16:29Z", "hours": 0.9586, "text": "Added a SUPER EVIL DEMON to be killed. The bullets aren’t really implemented yet but for some reason everything is becoming super jiggly. Babio was the one who said we needed animations because “who want’s to play a game with a bunch of static images”, but apparently these aren’t good enough? You let me know."}, {"post_id": 78903, "ts": "2026-10-11T23:55:52Z", "hours": 1.3467, "text": "It may not look it right now, but soon enough scary demons will come from this pit. They’re from when Babio tried to summon these unsavory creatures. No jokes today pal, it’s serious time."}, {"post_id": 78204, "ts": "2026-10-09T23:28:49Z", "hours": 0.6861, "text": "Apparently you need to make something a sound effect to adjust the pitch. I was teething with rage. (not typo). (it’s in context) (it makes sense if you know the context) (it’s because the joke is funny if you get the context). So making it an instance of a sound effect lets me make the pitch go up and down. Coming soon to the cinema, you can hear the blessed sounds of Babio’s game oscillating between a high and low pitch."}, {"post_id": 77961, "ts": "2026-10-09T00:04:08Z", "hours": 0.4828, "text": "Soon Babio will have me cooking his food. He really likes steak, raw on one side and well done on the other. No salt and heaps of mayo. Lookout for this, Babio might soon want you in his kitchen making some food for him. And the last time I was in there it had a little bit of an infestation problem, some roaches some mice, nothing a good chef can’t handle. No? I don’t really have a photo though. I also added a criminal to the court, but I might get a cheeky takedown so don’t expect this auspicious kind individual to remain."}, {"post_id": 77712, "ts": "2026-10-08T01:21:44Z", "hours": 1.1456, "text": "Apparently I’ve worked for like some friggin 1hr 8m, I didn’t know that. So allegedly, Babio likes basket ball. So I thought, logically, where do people play basketball? That’s right, the courthouse. My last time in court for vehicular manslaughter did NOT end well, so this time the judge (YOU 🫵🫵🫵) will decide who is guilty by “shooting hoops” and “shredding gnar.” Unfortunately, as a 96 year old man living in Wisconsin, I am no longer able to do these things, so please live out my dream for me."}, {"post_id": 77459, "ts": "2026-10-07T02:36:36Z", "hours": 0.3264, "text": "A lot of people think Babio won’t put his food in the game, but this actually very far from the truth. Babio’s food is what gives you the magic ability to survive any situation (but only once per food!!!!), which is actually how I survived many days out with Babio. So whenever you don’t die forever because you lost in a minigame, just remember to thank Babio’s snacks for the mystical magical marvelous mysterious market? I don’t know I ran out of M words, does anyone know any M-words? Anyway, Squid On."}, {"post_id": 77418, "ts": "2026-10-06T21:55:14Z", "hours": 1.1264, "text": "The courtroom is coming… and babio STILL hasn’t said thank you! Can you believe it?!? I code a whole game for this guy and he just asks for more. Apparently you get to judge people and you have to get 3 correct in 6 seconds or you fail or something. I don’t know."}, {"post_id": 76915, "ts": "2026-10-05T02:27:19Z", "hours": 2.5156, "text": "Apparently, when you pay TOO much for heat, they light your house on fire. This happened to Babio true story. We also met CeeLo that same day. This minigame is based off that day, where Babio and I put out the fires in his house. CeeLo will be added into the minigame too, soon."}, {"post_id": 76771, "ts": "2026-10-04T15:08:52Z", "hours": 0.6372, "text": "Today I spent a couple minutes to add Babio’s hands. Don’t hit them or else Babio gets pretty angry (spoiler, they turn RED in ANGER.) Babio said he was pleased, but this minigame needs a bit more polish before I can move onto the next."}, {"post_id": 76469, "ts": "2026-10-03T16:55:11Z", "hours": 1.5194, "text": "added some funny curtains because who doesn’t like curtains? I don’t have a picture, babio told me they look like bad. here is a picture of the curtain tho, thank you google"}, {"post_id": 76286, "ts": "2026-10-03T02:40:05Z", "hours": 1.7258, "text": "Implemented Babio’s flies better, now they can die, and they can move, and you can hit them. Babio wants me to add a cool number that floats when you hit them, so I will work on that next, and then after that he tells me I must work on the scene transitions so it doesn’t just cut. You ask for too much Mr. Babio, but it will be done."}, {"post_id": 76025, "ts": "2026-10-02T03:21:06Z", "hours": 3.1925, "text": "Today, Babio told me to make him a fly game, so I did. I coded it in an hour, and Babio was not happy with the quality, so I will continue with my work on it later to help Babio make his game. (Made in Monogame)"}]...
|
Title: Babio-Ware by @squidman | Stardance
Devlog Title: Babio-Ware by @squidman | Stardance
Devlogs:
Today, Babio told me to make him a fly game, so I did. I coded it in an hour, and Babio was not happy with the quality, so I will continue with my work on it later to help Babio make his game. (Made in Monogame)
Implemented Babio’s flies better, now they can die, and they can move, and you can hit them. Babio wants me to add a cool number that floats when you hit them, so I will work on that next, and then after that he tells me I must work on the scene transitions so it doesn’t just cut. You ask for too much Mr. Babio, but it will be done.
added some funny curtains because who doesn’t like curtains? I don’t have a picture, babio told me they look like bad. here is a picture of the curtain tho, thank you google
Today I spent a couple minutes to add Babio’s hands. Don’t hit them or else Babio gets pretty angry (spoiler, they turn RED in ANGER.) Babio said he was pleased, but this minigame needs a bit more polish before I can move onto the next.
Apparently, when you pay TOO much for heat, they light your house on fire. This happened to Babio true story. We also met CeeLo that same day. This minigame is based off that day, where Babio and I put out the fires in his house. CeeLo will be added into the minigame too, soon.
The courtroom is coming… and babio STILL hasn’t said thank you! Can you believe it?!? I code a whole game for this guy and he just asks for more. Apparently you get to judge people and you have to get 3 correct in 6 seconds or you fail or something. I don’t know.
A lot of people think Babio won’t put his food in the game, but this actually very far from the truth. Babio’s food is what gives you the magic ability to survive any situation (but only once per food!!!!), which is actually how I survived many days out with Babio. So whenever you don’t die forever because you lost in a minigame, just remember to thank Babio’s snacks for the mystical magical marvelous mysterious market? I don’t know I ran out of M words, does anyone know any M-words? Anyway, Squid On.
Apparently I’ve worked for like some friggin 1hr 8m, I didn’t know that. So allegedly, Babio likes basket ball. So I thought, logically, where do people play basketball? That’s right, the courthouse. My last time in court for vehicular manslaughter did NOT end well, so this time the judge (YOU 🫵🫵🫵) will decide who is guilty by “shooting hoops” and “shredding gnar.” Unfortunately, as a 96 year old man living in Wisconsin, I am no longer able to do these things, so please live out my dream for me.
Soon Babio will have me cooking his food. He really likes steak, raw on one side and well done on the other. No salt and heaps of mayo. Lookout for this, Babio might soon want you in his kitchen making some food for him. And the last time I was in there it had a little bit of an infestation problem, some roaches some mice, nothing a good chef can’t handle. No? I don’t really have a photo though. I also added a criminal to the court, but I might get a cheeky takedown so don’t expect this auspicious kind individual to remain.
Apparently you need to make something a sound effect to adjust the pitch. I was teething with rage. (not typo). (it’s in context) (it makes sense if you know the context) (it’s because the joke is funny if you get the context). So making it an instance of a sound effect lets me make the pitch go up and down. Coming soon to the cinema, you can hear the blessed sounds of Babio’s game oscillating between a high and low pitch.
It may not look it right now, but soon enough scary demons will come from this pit. They’re from when Babio tried to summon these unsavory creatures. No jokes today pal, it’s serious time.
Added a SUPER EVIL DEMON to be killed. The bullets aren’t really implemented yet but for some reason everything is becoming super jiggly. Babio was the one who said we needed animations because “who want’s to play a game with a bunch of static images”, but apparently these aren’t good enough? You let me know.
I don’t have the energy for any puns or absurdity today. I added some sound effects, more stuff, 5/50 minigames are basically complete. When #50 is done the game will be public and free. Then I’ll just keep uploading minigames as updates from there. Please understand squids can get tired too… But hey, I understand the SoundEffect class as well as I can now, I think.
Okay, so basically, this is what it’s like in hell. And that’s the truth, love it or hate it. Yep, Neddy really is the Devil. I’d know, Babio and I went to hell on a trip to find a Toys R Us back in 2022, but it turns out they’d all shut down I thinks. Long story short, pokemon cards were on 75% sale and I managed to snag like a ton of boxes. Babio got nothing because he was broke, but he’s rolling in it after all the promotions. This minigame is a very accurate representation of a moment on our journey into hell, or as Babio said “tartarus.” Well Babio, the only “tar tar” I know is steak, and it’s pretty gross.
Apparently, you AREN’T supposed to name your variables sentences. Babio informed me of this during his routine check in. He said, “if you don’t add at least 3 more demon types, you are fired!!!!” Which would be nice if “fired” meant I get be ignited and burn. But no, it means that I have to lose my game. No thanks Mr. Babio. That means 15 more frames of demons are coming soon.
I guess it’s a bit hard for me to get work done right now. A bit tired, had stuff to do. Sorry for a bad devlog today. You’re amazing, and you make Babio proud.
As far as news today goes… I hope that puns are good enough! If you can call them that. Either way, no need to wagyuu any fingers at me. Orange you glad you get to cook food in Babio Ware™? Are the jokes too corny for you? But you can’t be shellfish about it because I’m doing it for brie! Alright, alright… I walnut make any more food puns. I think this minigame will be pretty fun dough.
Ok, so, there I was, hard at work and hardly working, when all of a sudden my manager, Mr. Babio, checks up on me. Kindly, he says “let me use your laptop for a sec, chump.” Now, I am not intimidated by someone who is 3’1” (94cm), but I didn’t feel like losing my job. So, in my infinite kindness, I handed it to him. However, upon receiving my laptop back, I was told by VSCode this bug, that my globals didn’t have a definition for “SpriteBatch.” Now, I wrote the code so I knew that it was called sb, which is why I typed sb, which is why I am utterly baffled at this bug. How on earth is it telling me that the bug is on the line where it literally isn’t? So, being upset, I immediately went straight back to Mr. Babio’s office to beat on him, meaning I cowered and politely asked what he could’ve done to my laptop. He tells me that he doesn’t know, and he “only wrote a few lines testing”, which isn’t true, because he just took it and stared at the screen for half an hour. Nevertheless, you can imagine my then and continued confusion when I was told by the terminal that there is an imaginary bug. This can only mean I am fighting fourth dimensional entities I cannot perceive, which is good content for a minigame, so maybe expect that. Content drops will return once I beat these beings and find my way back to the IDE.
While trying to code a way to cut 2D images into pieces, I accidentally made it so that you can draw? I guess I can actually make this into two minigames now so be fortunate for our happy accidents. Nevertheless, the little code snipper in the first two seconds is all of this scene so feel free to copy that if you want to do something with this. Babio says I shouldn’t share “company secrets” but it’s okay to break the rules sometimes, right?
I decided that the drawing wouldn’t really make for a good minigame, so, now introducing… Babio Paint! A very original and in development idea. I’m sure this is what all of us were desperately asking for, so don’t get all your eggs in a knot. Either way, Babio liked this idea SO MUCH, he asked for another button of his face, and now expects even more “eastered eggs” out of me. Cya!
Big props if you can guess what I’m making, mostly because I don’t really know myself. I didn’t really have any ideas today so I made this hand thingy. My plan is to have you pick up stuff. A very fun job. Given. To you. By me. I don’t know how to make a joke here. Anyway, probably more actual content tomorrow. Other than that, I worked a bit on making other systems actually work like I wanted them to. Although I should really just keep making more stuff before I go back to old stuff.
Have you ever had a bad day? Spent forty minutes on a whole lot of nothing. I have the idea but just not the feeling. The energy? Sometimes I think it’s unavoidable. And it can feel like you’re ungrateful when you know good things happen to you too. Welp, I felt a bit down today. Tried to write some stuff but I could only get this paper ball on screen. It looks funny. At least bad days don’t last forever. I hope when I am finished my jokes can take away some bad days. More tomorrow.
Babio Paint is a bit more fleshed out, added some weird cubes, some weird function, some weird thingamajigs, and Babio things and stuffs. Hold [RMB] to draw… this stuff.
Implemented necessary music and background. Why did it take 45 minutes? It didn’t I don’t know where this number even came from. I guess I got sidetracked. Like tracked, on the side, because it wasn’t my main goal. It was a side goal. On the side. For Babio Ware. I can’t find the TM so I technically didn’t reference the actual game. That’s not how that works. Too much of a good squid is a bad squid. Squid. Squid stuff. I don’t have much to report today. Maybe next time I’ll make the MJ button do something.
soon the unfurled paper will become the math paper. evil math paper.with preschool. math of preschool math.
Boring one today. Just fixed the scene manager to actually rely on itself and not the globals.
I did more boring porting from globals to actual managers that no one cares about. More updates on minigames will probably come sometime next week. Just for the record, about 4/50 complete and 1/50 wip.
For whatever reason, it took like an hour to get a font in and it looks awful. I kinda think its funny though. According to corporate they need me to “find the guy who keeps pushing slop to the repo daily and fire him.” So I hope they don’t find out....
|
1793105393.4299366
|
1793710193.4299366
|
|
41858
|
Project - Slow Burn by @finitecode | Stardance
|
finitecode
|
0
|
29.31
|
0
|
[]
|
[{"post_id": 43183, "ts": "202 [{"post_id": 43183, "ts": "2026-08-08T09:32:16Z", "hours": 11.4869, "text": "Lesson: Don’t work too long I made this catastrophic mistake of working a little too much to the point where I maxed out 10 hours of my work and plus 1hr 30mins extra. And I’m really sorry for it What did I do? mostly this time was spent working on the 3D models, the map and learning some Three.js as I build this (hope so) masterpiece of a game. Nothing really new to be honest, and the new stuff might spoil the game so I think this is where I zip it. Gonna try to share some in-game content pretty soon without spoiling anything, enjoy the map’s screenshots until then!"}, {"post_id": 40729, "ts": "2026-08-04T13:23:43Z", "hours": 2.1378, "text": "Construct 711: The Cameo with Aegis Omnicorp So I continued further building the world, in the process as asual I grabbed a cool render to show y’all. Getting the lighting right, making the lake in the map, adding some NPCs was the work I did. Honestly the challenge here was to align stuff to the stories goals, to not to overdo anything, and to keep the narrative cool as always. Follow and Show some support <3 Peace."}, {"post_id": 40625, "ts": "2026-08-04T09:15:49Z", "hours": 7.9078, "text": "Stardance has an issue and it’s reducing my points I’ve been consistently trying to post a devlog for my project, I’ve accumulated over 8 hours of work and the devlog just won’t go live. According to the rule you’re only paid out for upto 10 hours of devlog, and you’re optimally supposed to log every 2-4 hours, I’ve literally doubled the ceiling. That said it’s also asked to keep your logs short. I am not even sure if this one is gonna go through, nonetheless, here is a progress update: The map The maps is now in the works and we have the main HQ, fantasy land and a megbuilding ready, a lot more’s left to do though! this took me over 3-4 hours of work alone, and here’s a tip for building maps: Use linked duplicates instead of copy pasting assets! The code Completed a basic Three.js game, nothing special here, the challenge was mastering the basics and refreshing my memory really (these aren’t even real challenges but that’s all it was). Peace."}, {"post_id": 39998, "ts": "2026-08-03T10:52:18Z", "hours": 2.3511, "text": "When the game feels home A quick teaser of my work and in game progress… What’s done: By now I’ve collected the base layer of assets, I had underestimated the amount of assets I’ll need and looks like there’s tons more to go. Hence I won’t waste time yapping here XD (looks like I am though) As a spoiler this car belongs to Hamada, you’ll know him soon The quality Bringing good quality to browser won’t be easy, I estimate the game to be anywhere from 3-5GB in total size, hence optimization will remain a crucial metric, with that said I guess I should get back to work ;)"}, {"post_id": 39540, "ts": "2026-08-02T15:46:42Z", "hours": 1.2503, "text": "There’s a problem with game dev - and not enough ppl are talking about it! Assets one of the core components or any game in my opinion, because if you don’t have the right assets, the game is gonna feel half-baked, it’s gonna have the lack of quality and direction. Think about it, no gamer is pointing out that, “ well the game is not having good assets ” They’re instead just gonna call it unpolished and incoherent. Where I got my assets? Since Quality was a strict promise of this game, Asset scouting wasn’t easy, specially when you add the tag “FREE” in search results, turbosquid had some good ones, Sketchfab - by far was THE BEST source. Tip: Make sure to watch out for the licensing for the assets, and start keeping a attribution record early on, or else you’re gonna cry hard. And that’s kind of what I wanted to call out, yep assets for a big challenge but 30mins of research off-camera and a 1hr timelapse, yep that got me mostly sorted! Attached below is the game’s intro for the fun of it! Peace."}, {"post_id": 39384, "ts": "2026-08-02T10:17:56Z", "hours": 4.1806, "text": "Project - Slow Burn Here, I announce a AA-game, that entirely runs on your BROWSER. Yes, your browser and I promise, it’s not gonna be bad or I’ll not redeem anything from Stardance. I take an oath hereby. The idea The idea of the game is simple, it’s a game in the Cyberpunk genre, I have the story but I don’t wanna spoil it yet. The game was made using Three.js and thanks to the community tons of free online 3D assets. Use of AI I also hereby declare the use of AI. I also promise that it’s use was only limited to: debugging in places I couldn’t myself. to enhance the story/narrative of game. to set daily goals and targets :)"}]...
|
Title: Project - Slow Burn by @finitecode | Starda Title: Project - Slow Burn by @finitecode | Stardance
Devlogs:
Project - Slow Burn Here, I announce a AA-game, that entirely runs on your BROWSER. Yes, your browser and I promise, it’s not gonna be bad or I’ll not redeem anything from Stardance. I take an oath hereby. The idea The idea of the game is simple, it’s a game in the Cyberpunk genre, I have the story but I don’t wanna spoil it yet. The game was made using Three.js and thanks to the community tons of free online 3D assets. Use of AI I also hereby declare the use of AI. I also promise that it’s use was only limited to: debugging in places I couldn’t myself. to enhance the story/narrative of game. to set daily goals and targets :)
There’s a problem with game dev - and not enough ppl are talking about it! Assets one of the core components or any game in my opinion, because if you don’t have the right assets, the game is gonna feel half-baked, it’s gonna have the lack of quality and direction. Think about it, no gamer is pointing out that, “ well the game is not having good assets ” They’re instead just gonna call it unpolished and incoherent. Where I got my assets? Since Quality was a strict promise of this game, Asset scouting wasn’t easy, specially when you add the tag “FREE” in search results, turbosquid had some good ones, Sketchfab - by far was THE BEST source. Tip: Make sure to watch out for the licensing for the assets, and start keeping a attribution record early on, or else you’re gonna cry hard. And that’s kind of what I wanted to call out, yep assets for a big challenge but 30mins of research off-camera and a 1hr timelapse, yep that got me mostly sorted! Attached below is the game’s intro for the fun of it! Peace.
When the game feels home A quick teaser of my work and in game progress… What’s done: By now I’ve collected the base layer of assets, I had underestimated the amount of assets I’ll need and looks like there’s tons more to go. Hence I won’t waste time yapping here XD (looks like I am though) As a spoiler this car belongs to Hamada, you’ll know him soon The quality Bringing good quality to browser won’t be easy, I estimate the game to be anywhere from 3-5GB in total size, hence optimization will remain a crucial metric, with that said I guess I should get back to work ;)
Stardance has an issue and it’s reducing my points I’ve been consistently trying to post a devlog for my project, I’ve accumulated over 8 hours of work and the devlog just won’t go live. According to the rule you’re only paid out for upto 10 hours of devlog, and you’re optimally supposed to log every 2-4 hours, I’ve literally doubled the ceiling. That said it’s also asked to keep your logs short. I am not even sure if this one is gonna go through, nonetheless, here is a progress update: The map The maps is now in the works and we have the main HQ, fantasy land and a megbuilding ready, a lot more’s left to do though! this took me over 3-4 hours of work alone, and here’s a tip for building maps: Use linked duplicates instead of copy pasting assets! The code Completed a basic Three.js game, nothing special here, the challenge was mastering the basics and refreshing my memory really (these aren’t even real challenges but that’s all it was). Peace.
Construct 711: The Cameo with Aegis Omnicorp So I continued further building the world, in the process as asual I grabbed a cool render to show y’all. Getting the lighting right, making the lake in the map, adding some NPCs was the work I did. Honestly the challenge here was to align stuff to the stories goals, to not to overdo anything, and to keep the narrative cool as always. Follow and Show some support <3 Peace.
Lesson: Don’t work too long I made this catastrophic mistake of working a little too much to the point where I maxed out 10 hours of my work and plus 1hr 30mins extra. And I’m really sorry for it What did I do? mostly this time was spent working on the 3D models, the map and learning some Three.js as I build this (hope so) masterpiece of a game. Nothing really new to be honest, and the new stuff might spoil the game so I think this is where I zip it. Gonna try to share some in-game content pretty soon without spoiling anything, enjoy the map’s screenshots until then!...
|
1792486457.1954637
|
1793350457.1954637
|
|
57055
|
GeoSim by @AbdurRehman | Stardance
|
AbdurRehman
|
0
|
29.28
|
0
|
[]
|
[{"post_id": 63547, "ts": "202 [{"post_id": 63547, "ts": "2026-09-07T13:52:27Z", "hours": 8.4125, "text": "Since the last dev log, I’ve mostly been working on improving the appearance and detail of the buildings in GeoSim. I started by working on procedural textures for the building materials. Instead of having buildings use mostly flat colors, I added procedural textures for things like brick, concrete, plaster, metal, and glass. I also added stuff like roughness maps so the different materials react to lighting differently. I did this to make the buildings feel more varied without having to rely on a huge collection of texture files. I worked extra on glass to make it look more like an actual glass facade rather than just a blue colored shiny wall. After that, I moved on to windows. I added procedural windows that are generated based on the building itself, so I don’t have to manually model them or something. I also added different window styles for different types of buildings, so residential buildings can look different from offices and industrial buildings. There were a few problems with the windows. For example, windows were being generated on surfaces where they shouldn’t be, including horizontal faces and things like roof structures or antennas. I added logic to make sure windows are only placed on vertical surfaces and improved the checks used to determine the parts that should receive windows. I also tuned the settings for quite a while till I was satisfied. Once the windows were looking better, I started focusing more on performance. The procedural textures were lagging stuff, so I made some changes to improve performance. I also added chunks to the building batching system. This will make it simple to add tiling later since the performance right now is not really the best and treating the whole map as one big area is the cause of it I think. Next I want to continue adding architectural details, starting with enterances and then balconies. After that I’ll move on to things like roofs, roads, and terrain, before eventually getting into environmental details like trees and the actual disaster simulations."}, {"post_id": 62019, "ts": "2026-09-05T07:11:35Z", "hours": 5.4933, "text": "Since the last dev log, I’ve mostly been working on the visual side of GeoSim and trying to make the environment feel less like a bunch of basic geometry. I started by adding a proper sky to the scene. I spent quite a bit of time tweaking the sky settings until I got something I was happy with. It makes a pretty big difference compared to having a plain black background. After that I moved on to clouds. I wanted something more interesting than just putting a few transparent cloud textures in the sky, so I ended up implementing procedural volumetric clouds using a 3D noise texture and ray marching using GLSL. The clouds have multiple layers of procedural noise to control their shape and detail, along with a separate procedural mask to give them a more natural form. I also added some basic volumetric lighting so they react to the sun and ambient light instead of just looking like white blobs. The clouds are also animated, so the volume slowly moves through the sky rather than staying completely static. Getting them to actually look good took quite a bit of experimenting with the different settings like density, coverage, etc. Once I had the clouds looking good, I ran into a problem I was pretty much expecting which was reduced performance. Well the performance wasn’t really good to begin with and the clouds made it worse. So I spent some time optimizing the clouds and managed to get a pretty significant performance improvement without sacrificing the looks too much. After that, I decided to optimize the buildings too while I was at it. Before, the way I was generating building geometry was doing a lot more work than necessary, so I implemented geometry batching. This ended up making the performance a whole lot better. At this point the project has a good looking sky, clouds and is pretty performant. So next I want improve the appearance of the buildings. Right now they still look like like blocks so I want to start using the data I am pulling to generate things like windows, entrances, balconies, and other architectural details when the information is available. For buildings where that information isn’t available, I want to procedurally generate the details based on the building’s shape, type, etc. I also want to improve the building materials and add textures so that different buildings feel less alike and then I’ll move to roofs, roads, and terrain and also stuff like trees and then simulating stuff like floods."}, {"post_id": 61307, "ts": "2026-09-04T05:00:27Z", "hours": 5.4931, "text": "Since the last dev log, I’ve been working on actually making more use of the building data I’m pulling from OSM and improving how the buildings look in the scene. I added a basic building feature extraction system that takes things like entrances, windows, balconies, parking areas, and garages from the data and then associates them with the buildings they belong to, using things like proximity and address information to make the matching more reliable. I have to do this because features and buildings are given as separate objects but this gives me a good foundation for eventually generating these details onto the 3D buildings instead of keeping buildings as mundane blocks. I also started building a material system for the buildings. Buildings can now use different materials based on their building type and material information, while explicit colors are used when available. I also added some procedural variation to buildings using the same material so they don’t look completely identical. The system right now is really basic and doesn’t look too good but it makes everything look a little bit better. While working on the materials, I ran into a pretty annoying z fighting issue between overlapping building parts. It took a really long time to figure it out but I eventually fixed it by introducing a tiny vertical offset between building parts, preventing those surfaces from fighting with each other. At this point I’m shifting more toward the visuals of the project. I mean the building data is becoming pretty detailed, so I think the best next step is figuring out how to turn that data into neat visuals. I want to start generating windows, balconies, entrances, and other architectural details either procedurally or from the data when that information is available. Other than that I also want to work on things like roofs to really make the city realistic. After that I’ll work on adding stuff like terrain and infrastructure like roads before moving on to implementing the disasters like floods, etc."}, {"post_id": 60696, "ts": "2026-09-03T07:43:42Z", "hours": 2.9478, "text": "Since the last dev log, I’ve been working on making the buildings a lot more accurate and improving how the map data is handled. The biggest change was improving the building data coming from OpenStreetMap. Buildings can now use their actual height when it’s available, with building levels and other information being used when it isn’t. I also added Wikidata as a fallback for buildings where OSM doesn’t have enough information. This makes the buildings look much closer to the real world. I also improved the geometry handling including better support for outer geometry and multipolygon buildings, which makes the overall city representation more accurate especially for more complicated buildings. Along the way I cleaned up some of the Three.js setup, improved the error screen with a retry button, and increased the test areato better test all of the changes. There’s still a lot to improve, especially with performance since larger areas with a lot of buildings can now lag. Stuff like caching and tiling will be important later so I don’t have to load everything at once. For now, though, the basic city data is starting to feel much more like an actual 3D representation of a real place rather than just a collection of blocks. Next I want to make the buildings look even better by making use use of as much of the available building data as possible, including roofs, windows, entrances, balconies, building type, colors, materials, and other details that can be used in the 3D representation. This also means improving the data side of things. I’ve already started pulling a lot more information from OSM than I was at the beginning but I’ll need to pull more stuff."}, {"post_id": 60333, "ts": "2026-09-02T16:47:00Z", "hours": 4.4903, "text": "I made a pretty big step forward with GeoSim. Instead of just displaying the raw data, I can now take it data and turn it into actual 3D buildings in the scene. I first got the basic Three.js setup working by setting up the camera, controls, lighting and renderer before implementing the building creation logic. I also added a simple loading and error screen instead of leaving the page empty while the data is being loaded and also improved the old UI a little and also added a section that displays the coordinates of the current area. The buildings themselves are still very basic for now. They’re mostly just simple blocks and some of their heights aren’t completely accurate yet. So now I want to work on fixing that and also making them look better using as much data provided by OSM as I can to make everything more accurate."}, {"post_id": 59705, "ts": "2026-09-01T17:02:49Z", "hours": 2.4408, "text": "I established GeoSim’s initial foundation and built the very basic data pipeline. I set up the project structure, defined types I will use in the future such as bounding boxes and OSM related stuff, and integrated the OpenStreetMap Overpass API to fetch building related data such as geometry for a predefined test area for now. I also added a simple interface to display the raw data before I actually start converting it into actual 3D buildings. I also ran into something called CORS issue when calling Overpass directly from the browser, so I added a Vercel serverless API route to request Overpass and that fixed it. Along the way I also came through many other weird API related issues so I eventually switched from the overpass-api.de endpoint to another public Overpass instance hosted by Mail.ru and now stuff seems to be working. Next, I’ll move from only displaying the raw OSM building data to turning it into actual 3D geometry using Three.js."}]...
|
Title: GeoSim by @AbdurRehman | Stardance
Devlogs Title: GeoSim by @AbdurRehman | Stardance
Devlogs:
I established GeoSim’s initial foundation and built the very basic data pipeline. I set up the project structure, defined types I will use in the future such as bounding boxes and OSM related stuff, and integrated the OpenStreetMap Overpass API to fetch building related data such as geometry for a predefined test area for now. I also added a simple interface to display the raw data before I actually start converting it into actual 3D buildings. I also ran into something called CORS issue when calling Overpass directly from the browser, so I added a Vercel serverless API route to request Overpass and that fixed it. Along the way I also came through many other weird API related issues so I eventually switched from the overpass-api.de endpoint to another public Overpass instance hosted by Mail.ru and now stuff seems to be working. Next, I’ll move from only displaying the raw OSM building data to turning it into actual 3D geometry using Three.js.
I made a pretty big step forward with GeoSim. Instead of just displaying the raw data, I can now take it data and turn it into actual 3D buildings in the scene. I first got the basic Three.js setup working by setting up the camera, controls, lighting and renderer before implementing the building creation logic. I also added a simple loading and error screen instead of leaving the page empty while the data is being loaded and also improved the old UI a little and also added a section that displays the coordinates of the current area. The buildings themselves are still very basic for now. They’re mostly just simple blocks and some of their heights aren’t completely accurate yet. So now I want to work on fixing that and also making them look better using as much data provided by OSM as I can to make everything more accurate.
Since the last dev log, I’ve been working on making the buildings a lot more accurate and improving how the map data is handled. The biggest change was improving the building data coming from OpenStreetMap. Buildings can now use their actual height when it’s available, with building levels and other information being used when it isn’t. I also added Wikidata as a fallback for buildings where OSM doesn’t have enough information. This makes the buildings look much closer to the real world. I also improved the geometry handling including better support for outer geometry and multipolygon buildings, which makes the overall city representation more accurate especially for more complicated buildings. Along the way I cleaned up some of the Three.js setup, improved the error screen with a retry button, and increased the test areato better test all of the changes. There’s still a lot to improve, especially with performance since larger areas with a lot of buildings can now lag. Stuff like caching and tiling will be important later so I don’t have to load everything at once. For now, though, the basic city data is starting to feel much more like an actual 3D representation of a real place rather than just a collection of blocks. Next I want to make the buildings look even better by making use use of as much of the available building data as possible, including roofs, windows, entrances, balconies, building type, colors, materials, and other details that can be used in the 3D representation. This also means improving the data side of things. I’ve already started pulling a lot more information from OSM than I was at the beginning but I’ll need to pull more stuff.
Since the last dev log, I’ve been working on actually making more use of the building data I’m pulling from OSM and improving how the buildings look in the scene. I added a basic building feature extraction system that takes things like entrances, windows, balconies, parking areas, and garages from the data and then associates them with the buildings they belong to, using things like proximity and address information to make the matching more reliable. I have to do this because features and buildings are given as separate objects but this gives me a good foundation for eventually generating these details onto the 3D buildings instead of keeping buildings as mundane blocks. I also started building a material system for the buildings. Buildings can now use different materials based on their building type and material information, while explicit colors are used when available. I also added some procedural variation to buildings using the same material so they don’t look completely identical. The system right now is really basic and doesn’t look too good but it makes everything look a little bit better. While working on the materials, I ran into a pretty annoying z fighting issue between overlapping building parts. It took a really long time to figure it out but I eventually fixed it by introducing a tiny vertical offset between building parts, preventing those surfaces from fighting with each other. At this point I’m shifting more toward the visuals of the project. I mean the building data is becoming pretty detailed, so I think the best next step is figuring out how to turn that data into neat visuals. I want to start generating windows, balconies, entrances, and other architectural details either procedurally or from the data when that information is available. Other than that I also want to work on things like roofs to really make the city realistic. After that I’ll work on adding stuff like terrain and infrastructure like roads before moving on to implementing the disasters like floods, etc.
Since the last dev log, I’ve mostly been working on the visual side of GeoSim and trying to make the environment feel less like a bunch of basic geometry. I started by adding a proper sky to the scene. I spent quite a bit of time tweaking the sky settings until I got something I was happy with. It makes a pretty big difference compared to having a plain black background. After that I moved on to clouds. I wanted something more interesting than just putting a few transparent cloud textures in the sky, so I ended up implementing procedural volumetric clouds using a 3D noise texture and ray marching using GLSL. The clouds have multiple layers of procedural noise to control their shape and detail, along with a separate procedural mask to give them a more natural form. I also added some basic volumetric lighting so they react to the sun and ambient light instead of just looking like white blobs. The clouds are also animated, so the volume slowly moves through the sky rather than staying completely static. Getting them to actually look good took quite a bit of experimenting with the different settings like density, coverage, etc. Once I had the clouds looking good, I ran into a problem I was pretty much expecting which was reduced performance. Well the performance wasn’t really good to begin with and the clouds made it worse. So I spent some time optimizing the clouds and managed to get a pretty significant performance improvement without sacrificing the looks too much. After that, I decided to optimize the buildings too while I was at it. Before, the way I was generating building geometry was doing a lot more work than necessary, so I implemented geometry batching. This ended up making the performance a whole lot better. At this point the project has a good looking sky, clouds and is pretty performant. So next I want improve the appearance of the buildings. Right now they still look like like blocks so I want to start using the data I am pulling to generate things like windows, entrances, balconies, and other architectural details when the information is available. For buildings where that information isn’t available, I want to procedurally generate the details based on the building’s shape, type, etc. I also want to improve the building materials and add textures so that different buildings feel less alike and then I’ll move to roofs, roads, and terrain and also stuff like trees and then simulating stuff like floods.
Since the last dev log, I’ve mostly been working on improving the appearance and detail of the buildings in GeoSim. I started by working on procedural textures for the building materials. Instead of having buildings use mostly flat colors, I added procedural textures for things like brick, concrete, plaster, metal, and glass. I also added stuff like roughness maps so the different materials react to lighting differently. I did this to make the buildings feel more varied without having to rely on a huge collection of texture files. I worked extra on glass to make it look more like an actual glass facade rather than just a blue colored shiny wall. After that, I moved on to windows. I added procedural windows that are generated based on the building itself, so I don’t have to manually model them or something. I also added different window styles for different types of buildings, so residential buildings can look different from offices and industrial buildings. There were a few problems with the windows. For example, windows were being generated on surfaces where they shouldn’t be, including horizontal faces and things like roof structures or antennas. I added logic to make sure windows are only placed on vertical surfaces and improved the checks used to determine the parts that should receive windows. I also tuned the settings for quite a while till I was satisfied. Once the windows were looking better, I started focusing more on performance. The procedural textures were lagging stuff, so I made some changes to improve performance. I also added chunks to the building batching system. This will make it simple to add tiling later since the performance right now is not really the best and treating the whole map as one big area is the cause of it I think. Next I want to continue adding architectural details, starting with enterances and then balconies. After that I’ll move on to things like roofs, roads, and terrain, before eventually getting into environmental details like trees and the actual disaster simulations....
|
1792691376.518363
|
1793296176.518363
|
|
34038
|
journeys by @folsense | Stardance
|
folsense
|
1
|
29.26
|
339
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T15:06:42Z", "hours": 29.0, "multiplier": 11.58, "payout": 339, "blessing": "neutral", "text": "I made a focus timer app that gives you the vibe of being on a train! Each session is a journey (hence the name) and you can create a streak and accrue miles over time. Each subject / area of focus is a RailPass, and you can level up each one individually. The app also supports live activities, so you can leave it to run in the background and just check up on it from the lock screen. I made this for myself to help me with the coming exam season, but hopefully i can get the app store grant to help other people who might need a good free focus timer app :)", "repo": "https://github.com/ssamx3/journeys", "demo": "https://testflight.apple.com/join/NtQ6RRwq"}]...
|
[{"post_id": 37670, "ts": "202 [{"post_id": 37670, "ts": "2026-07-30T15:51:16Z", "hours": 0.2589, "text": "a few more bug fixes that have evaded me for too long have finally been quashed…. and old functions were deleted and the code cleaned up!"}, {"post_id": 35132, "ts": "2026-07-26T11:37:58Z", "hours": 0.8169, "text": "bug FIXING"}, {"post_id": 34066, "ts": "2026-07-24T15:01:48Z", "hours": 0.7428, "text": "debugging and stuffs"}, {"post_id": 33712, "ts": "2026-07-23T20:51:31Z", "hours": 7.0553, "text": "big ui and features update! finished ticket flow, finished focus timer view, finished live activity, finished the home screen nearly, just adding polish and fixing bugs now"}, {"post_id": 32480, "ts": "2026-07-21T18:06:07Z", "hours": 4.9042, "text": "finished some more ui… you can now look at your passes and create new ones and customise them yay! also now works on macos"}, {"post_id": 31490, "ts": "2026-07-19T22:08:43Z", "hours": 7.45, "text": "home screen done (i think) woah this took so long! you can now customise your passes to make cool designs too :)"}, {"post_id": 30349, "ts": "2026-07-17T20:27:29Z", "hours": 1.9003, "text": "Pretty much finished implementing the map view but i kinda hate it and am contemplating going a different direction…. lemme know what yall think"}, {"post_id": 29791, "ts": "2026-07-16T22:07:15Z", "hours": 1.3611, "text": "began implementing the train map view! still some bugs to iron out but its getting better :)"}, {"post_id": 29104, "ts": "2026-07-15T19:20:04Z", "hours": 2.5858, "text": "backend DONE (for now..)! time to move on to the front end! yay :D"}, {"post_id": 27282, "ts": "2026-07-12T18:39:53Z", "hours": 2.4108, "text": "began working on the backend for the app … tedious"}]...
|
Title: journeys by @folsense | Stardance
Devlogs: Title: journeys by @folsense | Stardance
Devlogs:
began working on the backend for the app … tedious
backend DONE (for now..)! time to move on to the front end! yay :D
began implementing the train map view! still some bugs to iron out but its getting better :)
Pretty much finished implementing the map view but i kinda hate it and am contemplating going a different direction…. lemme know what yall think
home screen done (i think) woah this took so long! you can now customise your passes to make cool designs too :)
finished some more ui… you can now look at your passes and create new ones and customise them yay! also now works on macos
big ui and features update! finished ticket flow, finished focus timer view, finished live activity, finished the home screen nearly, just adding polish and fixing bugs now
debugging and stuffs
bug FIXING
a few more bug fixes that have evaded me for too long have finally been quashed…. and old functions were deleted and the code cleaned up!
Ships:
I made a focus timer app that gives you the vibe of being on a train! Each session is a journey (hence the name) and you can create a streak and accrue miles over time. Each subject / area of focus is a RailPass, and you can level up each one individually. The app also supports live activities, so you can leave it to run in the background and just check up on it from the lock screen. I made this for myself to help me with the coming exam season, but hopefully i can get the app store grant to help other people who might need a good free focus timer app :)...
|
1793112640.0393445
|
1793199040.0393445
|